gtk

Qué nos traerá GTK4

La próxima gran versión de GTK4 está cada vez más cerca de salir del horno. La última versión disponible, la 3.99.2 salió el 30 de septiembre de 2020. La lista de cambios es realmente grande, y si eres desarrollador, puede que te interese esta guía para empezar la migración a GTK4 desde ya. El equipo de desarrollo de GTK+, liderado por Mathias Classen llama a probar el nuevo toolkit y a portar las aplicaciones para reportar los errores que se vayan detectando.

Uno de los mayores cambios que podremos notar es la clara apuesta de GTK soportado por la API gráfica de Vulkan, que permite ofrecer mayor flexibilidad y rendimiento que con OpenGL, así como el diseño de todas las nuevas características teniendo siempre en mente a Wayland.

Seguramente, lo que te interese a tí es ver y probar en tus propio ordenador cómo está resultando este esfuerzo en la nueva versión. Bueno, pues lo mejor que podemos hacer es usar flatpak para evitar tener que compilar cosas por nuestra cuenta o añadir repositorios o paquetes que nos podrían romper otros programas.

Leer más »Qué nos traerá GTK4
Pantalla principal de Pimagizer, con los botones adaptados a la interfaz

GTK y Python: Cambiar el estilo de una GTKLabel

Lleva siendo así prácticamente desde que implementé la GtkHeaderBar en Pimagizer, pero como habéis podido ver, recientemente uso el tema Arc, que implica tener un fondo oscuro en las barras de menús y herramientas. Y el problema surge ahí, en que los botones que tan bonitos se veían con el tema por defecto de GTK, pero cambia con un tema oscuro:

A la derecha botones con imagen en un tema GTK claro, a la derecha lo mismo pero con un tema oscuro

Claramente la diferencia está ahí…

La solución más eficaz pasa por convertir ese botón en uno normal y corriente, sin imágenes de ningún tipo, simplemente utilizando texto, y en concreto GTKLabel. Si estáis utilizando Glade o algún sistema gráfico parecido, podéis saltar a la siguiente sección.

Leer más »GTK y Python: Cambiar el estilo de una GTKLabel

Cambiando la apariecia por defecto en Ubuntu 16.04

No es mi intención hacer el típico (y ya viejo) artículo de «10 cosas a hacer después de instalar Ubuntu 16.04», pero, hacía casi dos años que no instalaba Ubuntu en el ordenador, así que voy a hacer una pequeña excepción. Además, ya hace casi 6 meses que salió este Xenial Xerous, y casi que debería hacerlo para Yakkety Yak, pero los temas son, en cierta medida, atemporales. De cualquier manera, en casi todos los enlaces tendrás las instrucciones para poder instalarlo allí donde quieras.

Captura de Pantalla según se inicia sesión en Ubuntu

Pantalla según se inicia sesión

La excusa, como podréis adivinar por la imagen, es por la apariencia por defecto de Ubuntu. Yo entiendo que haya gente que le guste, porque esa mezcla de colores cálidos y marrones le parezca bonito, o simplemente porque es la que viene por defecto y tal: tampoco hace falta gastar tiempo en cambiarlo.

Leer más »Cambiando la apariecia por defecto en Ubuntu 16.04

Cómo hacer funcionar un Gtk.spinner usando Pygobject (Python y Gtk)

Tras mucho tiempo buscando la solución, hoy la he encontrado en stack overflow. Una solución simple es llamar constantemente a este código dentro de la función que queremos llevar a cabo. Esto a veces no es posible. Para hacerlo sin lo anterior, necesitamos usar elementos que la librería Gtk nos ofrece. La función clave que realiza esto es GObject.idle_add(callback,[args]). Aún así también necesitaremos usar elementos como los threads de python para llevar a cabo nuestro objetivo. Os dejo un ejemplo del código funcional. La función callback (funcion_callback) va a ser la función que se ocupe de recibir el resultado proporcionado por la función cerebro. Este es el resultado final que deberíais tener dentro de vuestro código. Además, a la hora de llamar a Gtk, deberemos añadir estas funciones para que estos cambios tengan efecto: GLib.threads_init() y GObject.threads_init(). Entre ellas deberemos colocar la función Gtk.main() PD: Sí, esta ha sido la causa del retraso de la versión 0.3 de pimagizer. Saludos 😉

Pimagizer 0.1.12 lanzado

Ayer mismo conseguí hacer una versión que iniciara sin ningún tipo de problemas desde el lanzador de aplicaciones Gnome-shell (o desde cualquier otro 🙂 ), así que subí la versión de prueba a launchpad, al repositorio «inestable». Ya funciona bien, por lo que lo acabo de dejar para que se suba al repo adecuado. Esto quiere decir que para instalarlo necesitaremos ejecutar «sólo» estas dos líneas: $ sudo add-apt-repository ppa:vfrico/stable && sudo apt-get update $ sudo apt-get install pimagizer Y ahora os dejo un vídeo, demostrando lo que hace:

Nuevo desarrollo: Pimagizer

Este desarrollo surge, al igual que Guallet, como una necesidad. Como ya estáis viendo, llevo algo de tiempo aficcionado a esto de los fondos de pantalla. Pero esto tiene un pequeño problema: las diferentes resoluciones que los ordenadores de hoy en día tienen, así como su proporción. Abrir cada imagen con El Gimp es una buena idea, pero no es precisamente un programa ligero, y abrirlo sólo para eso… También no conozco ningún «método» que te permita grabar las imágenes con un nombre de archivo determinado. Estuve buscando un programa que fuese ligero y abriese rápido, pero a simple vista no vi nada. Me apetecía meterme en un desarrollo, y lo vi claro: un programa para redimensionar imágenes.Python image resizer: Pimagizer. Al principio iba a usar Imagemagick, pero no siempre un ordenador lo trae instalado, y para que un usuario no se «decepcione» al instalarlo, decidí usar finalmente PIL (Python Image Resizer). Como librería gráfica usa GTK+3, con PyGi (PyGTK vale sólo para 2.x). Lo que todavía me falta por… Leer más »Nuevo desarrollo: Pimagizer

Mis proyectos: Gnhoi

Hola. Hace tiempo que llevo queriendo hablar de esto. Este es mi desarrollo de una aplicación gráfica para linux. Probablemente no mucha gente (desgraciadamente) conozca nhopkg. Este proyecto es uno creado por Jaime Gil que pretende ser el instalador universal de linux; en vez de descargarte el código fuente, te descargas el archivo .nho compilado y los desarrolladores no se rompen la cabeza y crean un .deb, .rpm, un tarball etc… Pero el problema es que desde que se construyó nhopkg, sólo existe una aplicación gráfica para manejarlo. Y siento decirlo, pero gambas (el lenguaje de nhopkg-fe) no me gusta, me parece lento. Por eso me puse a «investigar» y decidí meterme en el proyecto de un nuevo instalador de paquetes. Dicho programa es Gnhoi, mi proyecto actual. Está construido en python y la interfaz en glade. El por qué de no hacerlo en C es porque no tenía ni idea de compilar nada. Python me parecía (y me parece) sencillo. Además, son script (ya había trabajado con PHP antes).… Leer más »Mis proyectos: Gnhoi