Asignar icono en la barra de tareas a una aplicación AppImage
Estoy usando Todoist como aplicación de escritorio, y aunque le había creado un fichero de configuración para el menú en ~/.local/share/applications/todoist-appimage.desktop asignando un icono no me lo estaba mostrando en la barra de tareas, mostraba un icono genérico de una rueda tipo “cog”.
La solución es añadir la clase de ventana a ese fichero .desktop. Obtenemos la clase de ventana ejecutando
xprop WM_CLASS
y pulsando sobre la aplicación abierta de Todoist. Nos devuelve dos valores:
WM_CLASS(STRING) = "todoist", "Todoist"
Nos interesa el primero. Añadimos una línea en el fichero .desktop que sea
StartupWMClass=todoist
Y ya nos mostrará el icono en la barra de tareas al abrir la aplicación.
Como referencia, este es el fichero .desktop completo:
[Desktop Entry]
Name=Todoist AppImage
Exec=/media/koas/Ext4Bucket/AppImageApps/Todoist-linux-9.26.4-x86_64-latest.App>
Type=Application
Terminal=false
MimeType=x-scheme-handler/todoist;text/html;x-scheme-handler/com.todoist;
Icon=/usr/share/icons/hicolor/512x512/apps/todoist.png
Comment=
PrefersNonDefaultGPU=false
StartupWMClass=todoist
Notas del curso de Claude Code
– /init estudia el código y genera el fichero CLAUDE.md
– Se puede añadir información a la memoria con # xxx para que se incluya en el Claude.md y lo tenga en cuenta en todas las operaciones futuras.
– Para proporcionar contexto usamos @ para seleccionar ficheros relacionados con la tarea que hemos pedido.
– Pulsando Esc dos veces podemos eliminar contexto no relevante para la tarea que estamos ejecutando.
– /compact nos permite vaciar la conversación pero manteniendo todo el contexto. /clear vacía la conversación y el contexto.
Manejar un teléfono Android desde Linux
Con scrcpy podemos controlar un teléfono Android desde Linux, con un montón de opciones como grabar la pantalla, tener pantallas virtuales, etc.
Ojo porque si al enchufar el teléfono al ordenador con el cable USB y ejecutar adb devices no nos aparece puede ser por el cable, yo tuve que probar un par antes de que me lo reconociera.
Impresora HP se detecta y aparece en la lista de impresoras pero no imprime
Si te pasa esto ejecuta este comando:
sudo hp-setup -i
Problemas con xorg consumiendo mucha CPU
Estoy recolocando el ordenador en otra mesa y estoy continuamente cacharreando con los cables para ordenarlos y que estorben lo menos posible. Después de hacer uno de estos cambios vi que el teclado y el ratón iban con bastante lag y el proceso xorg estaba consumiendo muchos recursos de CPU
El problema era que el cable HDMI de uno de los monitores no estaba bien conectado, lo que hacía que se estuviera conectando / desconectando continuamente y eso era lo que provocaba el alto consumo de recursos. Después de apretarlo bien el problema desapareció.
Error de MokManager al instalar Linux Mint
Ha sido una pequeña odisea instalar Linux Mint en un portátil que ya traía Windows 11 instalado. Después de desactivar la opción Secure Boot de la BIOS y la de Fast Start en Windows al arrancar desde el lápiz USB de Linux Mint aparecía este error:
Failed to open \EFI\mmx64.efi - Not Found
Failed to load image : Not Found
Failed to start MokManager: Not Found
Something has gone seriously wrong: import_mok_state() failed: Not Found
La solución es descargar la versión más reciente de Ubuntu a un USB y arrancar desde ella. Ubuntu iniciará MokManager y nos presentará un menú donde debemos seleccionar la opción Continue boot. Tras hacer esto aparecerá el menú de GRUB de Ubuntu.
Ahora podemos apagar el equipo y volver a poner el USB de Linux Mint, y ya arrancará sin problema.
A motto for programming
Yesterday, while walking down the street, I saw some words written in Latin on a terrace: “Primum non nocere”. I looked them up on Google and found that they mean “First, do no harm”. It’s a motto for health-related professions that emphasizes their main objective: the well-being of the patient and avoiding any harm.
I liked the idea, and after doing some research, I found that there’s nothing similar for programmers. So I started thinking and came up with a possible motto for our profession: “Tuere usorem, data, veritatem”.
Tuere: protect
usorem: the user
data: the data
veritatem: the truth
The user: as programmers, our main objective should be the user, making their experience as pleasant as possible and ensuring our program makes their life easier or more comfortable. In the case of open-source code, it can also help them learn.
The data: after the user, data is the most important thing because it’s almost always irreplaceable. It’s our responsibility to do everything possible to keep it safe and accessible.
The truth: today’s technology can be used to falsify information and spread lies, and the pace of change only makes this worse. As creators of much of this technology, we have a moral commitment to the truth.
What do you think? Does it make sense? Is there already a similar slogan that I haven’t found? I’d love to hear your thoughts!
PS: I don’t know any Latin, ChatGPT did the translation for me, so there may be some mistakes.
Reflexión sobre la importancia del tiempo dedicado solo a programar
En este artículo dan un punto de vista muy interesante sobre la importancia que tiene el tiempo que dedicamos los programadores a cosas que no son programar.
Una excelente introducción a SVG
Explica muy bien los conceptos básicos y con ejemplos interactivos.
https://www.joshwcomeau.com/svg/friendly-introduction-to-svg/?utm_source=tldrwebdev