Sostituisci finestra di dialogo file GTK + con alternativa


26

Esiste un modo per configurare i programmi GTK + per utilizzare una finestra di dialogo di file diversa?

Leggere articoli antichi nella finestra di dialogo predefinita e non vedere alcuna differenza rispetto alla versione corrente non è di buon auspicio per il suo miglioramento nel prossimo futuro.

Ho letto questa domanda , ma mi sembra di essere uno dei pochi a farlo in quasi un anno. Come ho detto in un commento su questa domanda:

Per archlinux esiste una versione con patch di FF per KDE. Funziona bene se sei in KDE e ti piace la versione ridotta di dolphin / qualunque cosa sia, ma sfortunatamente non sembra cambiare il selettore di file se non stai usando KDE

Dato che sono attualmente in una configurazione di openbox personalizzata, Firefox torna a utilizzare la finestra di dialogo GTK + non apprezzata. Ma questa soluzione funziona solo per Firefox, quindi preferirei un modo per eliminare questo dal mio sistema a livello globale.


1
Se ho capito bene, la finestra di dialogo GTK che hai in Openbox non ti consente di digitare alcun nome file o modificare la barra della posizione? Come mai? Penso che sia meglio pubblicare uno screenshot della finestra di dialogo GTK sul tuo sistema affinché gli altri possano vederlo.
Clearkimura,

@clearkimura Ha una barra degli indirizzi, almeno la maggior parte delle volte (non sono stato in grado di determinare quali sono le cause che lo omettono così spesso ..). La mia vera lamentela sono i tempi di caricamento estremamente lunghi che a volte richiede quando si apre una directory di grandi dimensioni (alcune centinaia di file di immagini)
gandalf3

1
@clearkimura Per me la navigazione in una directory contenente ~ 1000 file di immagini con una media di alcuni 100 kB in una finestra di dialogo presentata ad esempio da gimp (GTK 2) fa sì che si blocchi per> 20 secondi. Navigare alla stessa directory in dolphin si carica all'istante.
gandalf3,

Risposte:


8

Questa risposta è stata rivista dal post originale a cui è stata data la prima risposta alla fine del 2015. I contenuti sono ora riorganizzati, alcuni testi ridondanti sono stati rimossi e il testo pertinente è stato aggiunto.

Alcuni chiarimenti

[...] la finestra di dialogo presentata ad es. da GIMP (GTK + 2) fa sì che si blocchi per più di 20 secondi. Navigare alla stessa directory in Dolphin si carica all'istante.

È alquanto strano confrontare un selettore di file GTK + di un editor di immagini con un gestore di file Qt (invece del selettore di file Qt). Inoltre, queste applicazioni non usano lo stesso toolkit; È evidente che le cose sono gestite diversamente l'una nell'altra.

Ha una barra degli indirizzi, almeno la maggior parte delle volte (non sono stato in grado di determinare quali sono le cause che lo omettono ogni tanto ..)

Per la finestra di dialogo GTK +, la barra degli indirizzi non verrà visualizzata durante la visualizzazione di "Utilizzati di recente" nel selettore file. In questa vista, anche i tasti Ctrl+ di Lscelta rapida non funzioneranno. Questo è probabilmente il motivo per cui OP ha rivendicato il selettore file a volte omettere la barra degli indirizzi.

Risposta diretta

KGtk è il modo hacker di usare le finestre di dialogo di KDE nelle applicazioni GTK +. È stato rilasciato per la prima volta a metà del 2006 e reso disponibile su KDE-Apps.org come upstream e anche tramite pacchetto AUR .

Anche se questo sembra promettente, nota che questa intenzione di lavoro è quella di dare un aspetto uniforme alle applicazioni Qt e GTK + . Molto probabilmente, non affronta i problemi lenti che sono stati discussi dagli utenti.

Risposta estesa (23-11-2015)

Questa risposta estesa affronta due questioni sollevate nella domanda: la finestra di dialogo GTK + (problema di usabilità) non apprezzata e la finestra di dialogo si blocca per qualche tempo (problema di reattività).

Di seguito sono riportate segnalazioni di bug che menzionano problemi rilevanti, che sono rilevanti per GTK +.

  • La segnalazione di bug di Debian nel 2008 lamentava che il selettore di file GTK + può essere lento ad aprire e il suo nome percorso non può essere modificato nel modo più veloce.

  • Il rapporto sui meta-bug di Kubuntu nel 2008 indica che le finestre di dialogo GTK + non hanno familiarità con le finestre di dialogo native di KDE, quindi è difficile da usare.

  • La domanda SO del 2009 si era lamentata del fatto che la navigazione delle directory contenenti molti file sulla rete era molto lenta usando la finestra di dialogo di selezione dei file GTK +.

  • Nel 2011 la domanda SO era stata posta su come personalizzare il selettore file GTK +, cosa impossibile nelle finestre di dialogo standard.

  • La segnalazione di bug GTK + 2.0 nel 2012 ha avuto problemi con il caricamento di file tramite un browser Web e il selettore di file GTK + 2 è stato lento o bloccato per alcuni minuti.

  • La domanda GD.SE nel 2014 è stata pubblicata per chiedere in qualsiasi modo di aprire un file in modo rapido in GIMP, perché non c'era un pulsante o casella di testo per modificare il percorso di un file.

Di seguito sono riportati i bug report che menzionano problemi rilevanti (in particolare il problema della reattività), che sono rilevanti per KDE.

Indipendentemente dalla finestra di dialogo GTK + o KDE, il problema della reattività non è raro e diventa evidente quando vengono soddisfatte determinate condizioni (come icone non memorizzate nella cache, ecc.).

Risposta estesa (2017-02-12)

Per quanto riguarda il problema dell'usabilità, sia le finestre di dialogo GTK + che quelle di KDE hanno subito modifiche negli ultimi anni nei rispettivi ambienti desktop.

Per le finestre di dialogo GTK +, per impostazione predefinita viene utilizzata la barra degli strumenti della posizione. Tuttavia, ora è nascosto per impostazione predefinita nelle versioni più recenti di toolkit.

  • GTK + 2.X consente di modificare la posizione, utilizzando i tasti di scelta rapida Ctrl+ Lo il pulsante dell'interfaccia utente "Modifica posizione".

  • GTK + 3.X consente di modificare la posizione utilizzando i tasti di scelta rapida Ctrl+ L(il pulsante dell'interfaccia utente "Modifica posizione" potrebbe non essere mostrato affatto).

Per le finestre di dialogo di KDE, le caratteristiche uniche sono il campo "Nome file:" che è sempre visibile nella metà dell'interfaccia utente inferiore e nella barra del percorso della posizione che si converte in barra degli strumenti della posizione durante la modifica.

  • KDE 3.X consente di modificare la posizione, utilizzando i tasti Ctrl+ Lo /scorciatoia o il campo di testo "Nome file:" (la barra della posizione non può essere modificata direttamente in alcuni programmi).

  • KDE 4.X consente di modificare la posizione, usando i tasti Ctrl+ Lscorciatoia o il campo di testo "Nome file:" o usando il cursore del mouse per fare clic sulla barra del percorso.

  • KDE 5.X consente di modificare la posizione simile a KDE 4.X

Al contrario, la finestra di dialogo Qt è in genere personalizzabile e in grado di utilizzare lo stile di dialogo GTK + o KDE. Lo stile della finestra di dialogo può essere modificato con uno dei seguenti metodi.

  • configurazione manuale, specifica del programma (tramite VLC media player, ecc.)

  • configurazione manuale, a livello di sistema (da Qt Settings, finora applicabile solo ai programmi che dipendono da Qt 4 nelle versioni precedenti di Ubuntu, ovvero 14.04)

  • configurazione automatica, a livello di sistema (installando determinati pacchetti di toolkit rilevati automaticamente nelle versioni più recenti di Ubuntu, ad es. 16.04)

Nonostante diversi toolkit offrano un'esperienza e uno stile di dialogo diversi, tutti i toolkit citati (GTK +, KDE e Qt) consentono agli utenti di modificare la posizione nella finestra di dialogo di selezione file.

TL; DR Ad oggi KGtk sembra essere l'unico modo per sostituire la finestra di dialogo GTK + e deve essere applicato per ogni applicazione. Non esiste alternativa nota per sostituire effettivamente le finestre di dialogo per il caso a livello di sistema. Altrimenti, cerca soluzioni alternative per velocizzare il caricamento del selettore di file GTK + (questa sarebbe un'altra domanda).


Nota del risponditore: questa risposta è stata scritta per la prima volta per risolvere i problemi di usabilità e reattività delle finestre di dialogo dei file in GTK +, KDE e Qt. Le cose potrebbero essere cambiate da allora e questa risposta potrebbe essere deprecata. Quindi questa risposta è ora un wiki della comunità, in modo che chiunque abbia una reputazione minima possa migliorare questo post o almeno ora più aperto alle modifiche della comunità.


Grazie per la risposta! Non so perché, ma sul mio sistema la finestra di dialogo kde / qt è molto più veloce / reattiva della finestra di dialogo GTK. Per quanto riguarda l'usabilità, la finestra di dialogo GTK presenta una serie di comportamenti non convenzionali a cui non sono abituato / non mi piace (ad esempio, è necessario premere Invio dopo il completamento della scheda, il che provoca un ritardo di 2-3 secondi prima di poter digitare nuovamente). Dò un'occhiata a KGtk.
gandalf3,

La tua risposta non ha senso. "Lento" non ha importanza per un'interfaccia utente. Non è una simulazione di particelle. E quello di KDE consente di modificare il percorso, è quello GTK che non ti consente di farlo facilmente.
Ten.

Finalmente sono riuscito a dedicare del tempo per migliorare la risposta generale. Ho confermato che la finestra di dialogo di KDE ha più opzioni per modificare la posizione nel selettore di file, quindi potrebbe essere più semplice di GTK +.
Clearkimura,

6

Da circa 2016 la risposta è ! Almeno per l'uso del selettore file KDE con le app GTK3.

Gli sviluppatori Gtk + lo chiamano " selettori di file nativi " per "applicazioni sandbox", mentre l'obiettivo principale per questo era Flatpak che ha anche permesso di usarli su Windows. Tuttavia puoi anche usarlo per applicazioni non sandbox / flatpak usando un trucco:

  1. Installa il xdg-desktop-portal-kdepacchetto: Arch Linux , Debian , Fedora , KDE Neon , Ubuntu ( collegamento per l'installazione diretta )
  2. Se non sono in realtà utilizza KDE, modificare /usr/share/xdg-desktop-portal/portals/kde.portale aggiungere il valore di $XDG_CURRENT_DESKTOP, separati da un punto e virgola alla UseIn=KDElinea (es: UseIn=KDE;xfce)
  3. Aggiungi la linea GTK_USE_PORTAL=1in ~/.pam_environmentmodo che GTK si comporti sempre come se fosse in un ambiente sandbox
  4. Disconnettersi e riconnettersi per applicare queste modifiche

Dovrei forse aggiungere che questo non funzionerà per le app che usano il classico GtkFileChooserDialogo le GtkFileChooserWidgetAPI: questi espongono i GtkWidgets sottostanti all'applicazione che non sarebbero disponibili quando si esegue il rendering del selettore di file usando qualcosa di diverso da GTK. Quindi, solo GtkFileChooserNativee GtkFileChooserButtonfunziona e se si vede un'applicazione GTK ancora utilizzando il file GTK selettore dopo aver eseguito la procedura descritta sopra, si consiglia di inviare loro una patch. ;-)
ntninja

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.