Reemplazar el diálogo del archivo GTK + con una alternativa

26

¿Hay alguna forma de configurar los programas GTK + para usar un diálogo de archivo diferente?

Leer artículos antiguos en el cuadro de diálogo predeterminado y no ver diferencias en la versión actual no es un buen augurio para su mejora en el futuro cercano.

He leído esta pregunta , pero parece ser uno de los pocos en hacerlo en casi un año. Como mencioné en un comentario sobre esa pregunta:

Para archlinux hay una versión parcheada de FF para KDE. Funciona bien si está en KDE y le gusta la versión simplificada de dolphin / lo que sea, pero desafortunadamente no parece cambiar el selector de archivos si no está usando KDE

Como actualmente estoy en una configuración de caja abierta personalizada, Firefox vuelve a usar el cuadro de diálogo GTK + no deseado. Pero esta solución solo funciona para Firefox, por lo que preferiría una forma de purgar esto de mi sistema a nivel mundial.

gandalf3
fuente
1
Si lo entiendo correctamente, ¿el cuadro de diálogo GTK que tiene en Openbox no le permite escribir ningún nombre de archivo o editar la barra de ubicación? ¿Cómo? Creo que es mejor publicar una captura de pantalla del diálogo GTK en su sistema para que otras personas lo vean.
clearkimura
@clearkimura Tiene una barra de ubicación, al menos la mayor parte del tiempo (no he podido determinar qué causa la omite de vez en cuando ...). Mi verdadera queja son los tiempos de carga extremadamente largos que a veces se requieren al abrir un directorio grande (unos cientos de archivos de imagen)
gandalf3
1
@clearkimura Para mí, navegar a un directorio que contiene ~ 1000 archivos de imagen con un promedio de unos 100 kB en un cuadro de diálogo presentado, por ejemplo, por gimp (GTK 2) hace que se cuelgue durante> 20 segundos. Navegar al mismo directorio en dolphin se carga instantáneamente.
gandalf3

Respuestas:

8

Esta respuesta se revisó de la publicación original que se respondió por primera vez a fines de 2015. Ahora se reorganizan los contenidos, se eliminó parte del texto redundante y se agregó texto relevante.

Algunas aclaraciones

[...] diálogo presentado por ej. GIMP (GTK + 2) hace que se cuelgue por más de 20 segundos. Navegar al mismo directorio en Dolphin se carga al instante.

Es algo extraño comparar un selector de archivos GTK + de un editor de imágenes con un administrador de archivos Qt (en lugar del selector de archivos Qt). Además, estas aplicaciones no usan el mismo kit de herramientas; Es evidente que las cosas se manejan de manera diferente entre sí.

Tiene una barra de ubicación, al menos la mayor parte del tiempo (no he podido determinar qué causa la omite de vez en cuando ...)

Para el diálogo GTK +, la barra de ubicación no aparecerá mientras se visualiza "Recientemente utilizado" en el selector de archivos. En esta vista, incluso las teclas de acceso directo Ctrl+ no funcionarán. Esta es probablemente la razón por la cual OP reclamó que el selector de archivos a veces omite la barra de ubicación.L

Respuesta directa

KGtk es la forma hackeada de usar los diálogos de KDE en aplicaciones GTK +. Se lanzó por primera vez a mediados de 2006 y estuvo disponible en KDE-Apps.org como upstream y también a través del paquete AUR .

Si bien esto suena prometedor, tenga en cuenta que esta intención de trabajo es dar un aspecto uniforme a las aplicaciones Qt y GTK + . Lo más probable es que no aborde los problemas lentos que han sido debatidos por los usuarios.

Respuesta ampliada (2015-11-23)

Esta respuesta extendida abordará dos problemas planteados en la pregunta: el diálogo GTK + no deseado (problema de usabilidad) y el diálogo se cuelga por algún tiempo (problema de capacidad de respuesta).

Los siguientes son informes de errores que mencionan problemas relevantes, que son relevantes para GTK +.

  • El informe de errores de Debian en 2008 se quejó de que el selector de archivos GTK + puede tardar en abrirse y su nombre de ruta no se puede editar de la manera más rápida.

  • El informe del meta error de Kubuntu en 2008 aborda el diálogo GTK + que no son familiares a los diálogos nativos de KDE, por lo que es difícil de usar.

  • La pregunta SO en 2009 se había quejado de que la exploración de directorios que contenía muchos archivos a través de la red era muy lenta usando el diálogo de selección de archivos GTK +.

  • La pregunta SO en 2011 había preguntado cómo personalizar el selector de archivos GTK +, lo cual es imposible en los cuadros de diálogo estándar.

  • El informe de error de GTK + 2.0 en 2012 tuvo problemas al cargar archivos a través de un navegador web y el selector de archivos GTK + 2 fue lento o se bloqueó durante unos minutos.

  • La pregunta de GD.SE en 2014 se publicó para preguntar cualquier forma de abrir un archivo de forma rápida en GIMP, porque no había un botón de exploración o cuadro de texto para editar la ruta a un archivo.

Los siguientes son informes de errores que mencionan problemas relevantes (especialmente el problema de la capacidad de respuesta), que son relevantes para KDE.

Independientemente del diálogo GTK + o el diálogo KDE, el problema de la capacidad de respuesta no es infrecuente y se hace evidente cuando se cumplen ciertas condiciones (como iconos no almacenados en caché, etc.).

Respuesta ampliada (2017-02-12)

Con respecto al problema de usabilidad, los diálogos de GTK + y KDE han sufrido cambios durante los últimos años en los respectivos entornos de escritorio.

Para los cuadros de diálogo GTK +, la barra de herramientas de ubicación se usa para mostrarse de manera predeterminada. Sin embargo, ahora está oculto de forma predeterminada en las versiones más nuevas de toolkit.

  • GTK + 2.X permite editar la ubicación, utilizando las teclas de acceso directo Ctrl+ L, o el botón "Editar ubicación" de la interfaz de usuario.

  • GTK + 3.X permite editar la ubicación, mediante el uso de teclas de acceso directo Ctrl+ L(el botón de la interfaz de usuario "Editar ubicación" podría no mostrarse en absoluto).

Para los cuadros de diálogo de KDE, las características únicas son el campo de texto "Nombre de archivo:" que siempre está visible en la mitad inferior de la IU y la barra de ruta de ubicación que se convierte en la barra de herramientas de ubicación durante la edición.

  • KDE 3.X permite editar la ubicación, usando las teclas de acceso directo Ctrl+ Lo /, o el campo de texto "Nombre de archivo:" (la barra de ubicación no se puede editar directamente en algún programa).

  • KDE 4.X permite editar la ubicación, usando las teclas de acceso directo Ctrl+ L, o el campo de texto "Nombre de archivo:", o usando el cursor del mouse para hacer clic en la barra de ruta de ubicación.

  • KDE 5.X permite editar una ubicación similar a KDE 4.X

Por el contrario, el cuadro de diálogo Qt suele ser personalizable y puede utilizar el estilo de diálogo GTK + o KDE. El estilo de diálogo se puede cambiar por uno de los siguientes métodos.

  • configuración manual, programa específico (por reproductor multimedia VLC, etc.)

  • configuración manual, todo el sistema (por Qt Settings, hasta ahora solo aplicable para programas que dependen de Qt 4 en versiones anteriores de Ubuntu, es decir, 14.04)

  • configuración automática, en todo el sistema (mediante la instalación de cierto paquete de herramientas que se detecta automáticamente en las versiones más recientes de Ubuntu, es decir, 16.04)

A pesar de que diferentes herramientas ofrecen diferentes experiencias y estilos de diálogo, todas las herramientas mencionadas (GTK +, KDE y Qt) permiten a los usuarios editar la ubicación en el diálogo de selección de archivos.

TL; DR Hasta la fecha, KGtk parece ser la única forma de reemplazar el diálogo GTK + y debe aplicarse por aplicación. No existe una alternativa conocida para reemplazar realmente los cuadros de diálogo para el caso de todo el sistema. De lo contrario, busque soluciones alternativas para hacer que el selector de archivos GTK + se cargue más rápido (esta sería otra pregunta).


Nota del respondedor : esta respuesta se escribió primero para abordar los problemas de usabilidad y capacidad de respuesta de los diálogos de archivos en GTK +, KDE y Qt. Las cosas pueden haber cambiado desde entonces y esta respuesta puede estar en desuso. Por lo tanto, esta respuesta ahora es un wiki de la comunidad, por lo que cualquier persona con una reputación mínima puede mejorar esta publicación o, al menos, ahora más abierta a las ediciones de la comunidad.

clearkimura
fuente
¡Gracias por la respuesta! No sé por qué, pero en mi sistema el diálogo kde / qt es mucho más rápido / sensible que el diálogo GTK. En cuanto a la usabilidad, el cuadro de diálogo GTK tiene una serie de comportamientos no convencionales a los que no estoy acostumbrado / no me gusta (por ejemplo, la necesidad de presionar enter después de completar la pestaña, lo que provoca un retraso de 2-3 segundos antes de que pueda volver a escribir). Echaré un vistazo a KGtk.
gandalf3
Tu respuesta no tiene sentido. "Lento" no importa para una interfaz de usuario. No es una simulación de partículas. Y el KDE permite editar la ruta, es el GTK el que no te permite hacer eso fácilmente.
LtWorf
Finalmente, logré tomarme un tiempo para mejorar la respuesta general. He confirmado que el cuadro de diálogo KDE tiene más opciones para editar la ubicación en el selector de archivos, por lo tanto, podría ser más fácil que GTK +.
clearkimura
6

¡Desde alrededor de 2016 la respuesta es ! Al menos para usar el selector de archivos KDE con aplicaciones GTK3.

Los desarrolladores de Gtk + llaman a esto " selectores de archivos nativos " para "aplicaciones de espacio aislado", mientras que el objetivo principal para esto era Flatpak, también hizo posible su uso en Windows. Sin embargo, también puede usar esto para aplicaciones sin caja de arena / flatpak utilizando un truco:

  1. Instale el xdg-desktop-portal-kdepaquete: Arch Linux , Debian , Fedora , KDE Neon , Ubuntu ( enlace de instalación directa )
  2. Si no está utilizando realmente KDE, editar /usr/share/xdg-desktop-portal/portals/kde.portaly añadir el valor de $XDG_CURRENT_DESKTOP, separadas por un punto y coma a la UseIn=KDElínea (es decir: UseIn=KDE;xfce)
  3. Agregue la línea GTK_USE_PORTAL=1para ~/.pam_environmentque GTK siempre se comporte como si estuviera en un entorno de espacio aislado
  4. Cierre sesión y vuelva a iniciar sesión para aplicar estos cambios.
ntninja
fuente
Tal vez debería agregar que esto no funcionará para las aplicaciones que usan el clásico GtkFileChooserDialogo las GtkFileChooserWidgetAPI: exponen los GtkWidgets subyacentes a la aplicación que no estaría disponible al renderizar el selector de archivos con otra cosa que no sea GTK. Por lo tanto, solamente GtkFileChooserNativey GtkFileChooserButtonva a funcionar y si ve una aplicación GTK sigue utilizando el selector de archivos GTK después de realizar los pasos anteriores, es posible que desee enviarles un parche. ;-)
ntninja