Substitua a caixa de diálogo de arquivo GTK + por alternativa


26

Existe alguma maneira de configurar os programas GTK + para usar uma caixa de diálogo de arquivo diferente?

Ler artigos antigos na caixa de diálogo padrão e não ver diferença na versão atual não é um bom presságio para sua melhoria no futuro próximo.

Eu li essa pergunta , mas pareço ser uma das poucas a fazê-lo em quase um ano. Como mencionei em um comentário sobre essa pergunta:

Para o archlinux, existe uma versão corrigida do FF para KDE. Funciona bem se você estiver no KDE e gostar da versão simplificada do dolphin / seja o que for, mas infelizmente não parece alterar o seletor de arquivos se você não estiver usando o KDE

Como atualmente estou em uma configuração personalizada de openbox, o Firefox voltou a usar a não desejada caixa de diálogo GTK +. Mas essa solução funciona apenas para o Firefox, então eu prefiro uma maneira de limpar isso do meu sistema globalmente.


1
Se bem entendi, a caixa de diálogo GTK que você tem no Openbox não permite digitar qualquer nome de arquivo ou editar a barra de localização? Por quê? Eu acho que é melhor postar uma captura de tela da caixa de diálogo GTK no seu sistema para que outras pessoas possam ver.
Clearkimura

@clearkimura Ele tem uma barra de localização, pelo menos na maioria das vezes (não consegui determinar o que causa essa omissão de vez em quando ..). Minha real cólica é o tempo de carregamento extremamente longos que às vezes requer ao abrir um diretório grande (algumas centenas de arquivos de imagem)
gandalf3

1
@clearkimura Para mim, navegar para um diretório contendo ~ 1000 arquivos de imagem com uma média de 100 kB em uma caixa de diálogo apresentada por ex. gimp (GTK 2) faz com que ele fique travado por> 20 segundos. Navegar para o mesmo diretório no dolphin é carregado instantaneamente.
gandalf3

Respostas:


8

Esta resposta foi revisada a partir da postagem original, que foi respondida pela primeira vez no final de 2015. O conteúdo agora está reorganizado, algum texto redundante foi removido e o texto relevante foi adicionado.

Alguns esclarecimentos

[...] o diálogo apresentado por exemplo, GIMP (GTK + 2) faz com que ele fique travado por mais de 20 segundos. Navegar para o mesmo diretório no Dolphin é carregado instantaneamente.

É um tanto estranho comparar um seletor de arquivos GTK + de um editor de imagens com um gerenciador de arquivos Qt (em vez do seletor de arquivos Qt). Além disso, esses aplicativos não usam o mesmo kit de ferramentas; É evidente que as coisas são tratadas de maneira diferente uma na outra.

Ele tem uma barra de localização, pelo menos na maioria das vezes (não consegui determinar o que causa essa omissão de vez em quando ..)

Para a caixa de diálogo GTK +, a barra de localização não aparecerá ao exibir "Utilizado recentemente" no seletor de arquivos. Nesta visão, mesmo as teclas de atalho Ctrl+ não funcionarão. Esse é provavelmente o motivo pelo qual o OP reivindicou o seletor de arquivos algumas vezes omitir a barra de localização.L

Resposta direta

O KGtk é a maneira hackeada de usar as caixas de diálogo do KDE em aplicativos GTK +. Foi lançado pela primeira vez em meados de 2006 e disponibilizado no KDE-Apps.org como upstream e também via pacote AUR .

Embora isso pareça promissor, observe que essa intenção de trabalho é fornecer uma aparência uniforme para aplicativos Qt e GTK + . Provavelmente, ele não resolve os problemas lentos que foram debatidos pelos usuários.

Resposta estendida (23-11-2015)

Esta resposta estendida abordará duas questões levantadas na pergunta: o não apreciado diálogo GTK + (problema de usabilidade) e o diálogo trava por algum tempo (problema de responsividade).

A seguir, há relatórios de bugs que mencionam problemas relevantes, relevantes para o GTK +.

  • O relatório de bug do Debian em 2008 reclamou que o seletor de arquivos GTK + pode demorar para abrir e seu nome de caminho não pôde ser editado da maneira mais rápida.

  • O relatório de meta bug do Kubuntu em 2008 aborda a caixa de diálogo GTK + não sendo familiar que as caixas de diálogo nativas do KDE, dificultando o uso.

  • A pergunta SO, em 2009 , reclamou que a navegação em diretórios contendo muitos arquivos pela rede era muito lenta usando o diálogo de seleção de arquivos GTK +.

  • A questão SO, em 2011 , perguntou como personalizar o seletor de arquivos GTK +, o que é impossível nas caixas de diálogo padrão.

  • O relatório de bug do GTK + 2.0 em 2012 teve problemas com o upload de arquivos por meio de um navegador da Web e o seletor de arquivos GTK + 2 ficou lento ou travou por alguns minutos.

  • A pergunta GD.SE em 2014 foi postada para perguntar como abrir um arquivo da maneira mais rápida no GIMP, porque não havia botão de navegação ou caixa de texto para editar o caminho para um arquivo.

A seguir, são apresentados os relatórios de bugs que mencionam problemas relevantes (notavelmente responsividade), que são relevantes para o KDE.

Independentemente da caixa de diálogo GTK + ou KDE, o problema de resposta não é incomum e se torna aparente quando certas condições são atendidas (como ícones não armazenados em cache, etc.).

Resposta estendida (12-02-2017)

Em relação à questão da usabilidade, as caixas de diálogo GTK + e KDE sofreram alterações nos últimos anos nos respectivos ambientes de desktop.

Para caixas de diálogo GTK +, a barra de ferramentas de localização é usada para ser mostrada por padrão. No entanto, agora está oculto por padrão nas versões mais recentes do kit de ferramentas.

  • O GTK + 2.X permite editar o local usando as teclas de atalho Ctrl+ Lou o botão da interface do usuário "Editar local".

  • O GTK + 3.X permite editar o local usando as teclas de atalho Ctrl+ L(o botão da interface do usuário "Editar local" pode não ser exibido).

Para as caixas de diálogo do KDE, os recursos exclusivos são o campo "Nome do arquivo:", sempre visível na metade inferior da interface do usuário e na barra de caminho do local que se converte na barra de ferramentas do local durante a edição.

  • O KDE 3.X permite editar a localização usando as teclas Ctrl+ Lou de /atalho ou o campo de texto "Nome do arquivo:" (a barra de localização não pode ser editada diretamente em algum programa).

  • O KDE 4.X permite editar a localização, usando as teclas de atalho Ctrl+ Lou o campo de texto "Nome do arquivo:" ou usando o cursor do mouse para clicar na barra de caminho da localização.

  • O KDE 5.X permite editar locais semelhantes ao KDE 4.X

Por outro lado, a caixa de diálogo Qt é geralmente personalizável e capaz de usar o estilo de caixa de diálogo GTK + ou KDE. O estilo da caixa de diálogo pode ser alterado por um dos seguintes métodos.

  • configuração manual, específico do programa (por VLC media player, etc.)

  • configuração manual, em todo o sistema (pelas configurações do Qt, até agora aplicável apenas a programas que dependem do Qt 4 em versões mais antigas do Ubuntu, isto é, 14.04)

  • configuração automática, em todo o sistema (instalando certos pacotes de ferramentas detectados automaticamente em versões mais recentes do Ubuntu, ou seja, 16.04)

Apesar de diferentes kits de ferramentas oferecerem experiência e estilo de diálogo diferentes, todos os kits de ferramentas mencionados (GTK +, KDE e Qt) permitem que os usuários editem o local na caixa de diálogo do seletor de arquivos.

TL; DR Até essa data, o KGtk parece ser a única maneira de substituir o diálogo GTK + e deve ser aplicado por aplicativo. Não há alternativa conhecida para substituir realmente as caixas de diálogo para todo o sistema. Caso contrário, procure soluções alternativas para acelerar o carregamento do seletor de arquivos GTK + (essa seria outra pergunta).


Nota do respondente : Esta resposta foi escrita primeiro para resolver os problemas de usabilidade e capacidade de resposta das caixas de diálogo de arquivo no GTK +, KDE e Qt. As coisas podem ter mudado desde então e essa resposta pode ser preterida. Portanto, esta resposta agora é um wiki da comunidade, para que qualquer pessoa com reputação mínima possa melhorar esta postagem ou pelo menos agora mais aberta a edições da comunidade.


Obrigado pela resposta! Não sei por que, mas no meu sistema a caixa de diálogo kde / qt é muito mais rápida / responsiva que a caixa de diálogo GTK. Quanto à usabilidade, a caixa de diálogo GTK possui vários comportamentos não convencionais aos quais não estou acostumado / não gosto (por exemplo, precisar pressionar Enter após a conclusão da guia, o que causa um atraso de 2-3 segundos antes que eu possa digitar novamente). Vou dar uma olhada no KGtk.
gandalf3

Sua resposta não faz sentido. "Lento" não importa para uma interface do usuário. Não é uma simulação de partículas. E o KDE permite editar o caminho, é o GTK que não permite que você faça isso com facilidade.
LtWorf

Finalmente, consegui dedicar algum tempo para melhorar a resposta geral. Confirmei que a caixa de diálogo do KDE tem mais opções para editar o local no seletor de arquivos, portanto, pode ser mais fácil que o GTK +.
clearkimura

6

Desde por volta de 2016 a resposta é sim ! Pelo menos para usar o seletor de arquivos KDE com aplicativos GTK3.

Os desenvolvedores do Gtk + chamam isso de “ seletores de arquivos nativos ” para “aplicativos em área restrita”, enquanto o principal objetivo disso era o Flatpak, também possibilitando usá-los no Windows. No entanto, você também pode usar isso para aplicativos sem sandbox / flatpak usando um truque:

  1. Instale o xdg-desktop-portal-kdepacote: Arch Linux , Debian , Fedora , KDE Neon , Ubuntu ( link Instalação direta )
  2. Se você não está realmente usando o KDE, edite /usr/share/xdg-desktop-portal/portals/kde.portale adicione o valor de $XDG_CURRENT_DESKTOP, separado por ponto e vírgula na UseIn=KDElinha (ou seja UseIn=KDE;xfce:)
  3. Adicione a linha GTK_USE_PORTAL=1para ~/.pam_environmentque o GTK sempre se comporte como se estivesse em um ambiente em área restrita
  4. Saia e faça login novamente para aplicar essas alterações

Talvez eu deva acrescentar que isso não funcionará para aplicativos que usam APIs GtkFileChooserDialogou clássicas GtkFileChooserWidget: elas expõem os GtkWidgets subjacentes ao aplicativo que não estaria disponível ao renderizar o seletor de arquivos usando algo diferente de GTK. Portanto, apenas GtkFileChooserNativee GtkFileChooserButtonfuncionará, e se você vir um aplicativo GTK ainda usando o seletor de arquivos GTK após executar as etapas acima, envie um patch para eles. ;-)
ntninja 13/04

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.