Existe uma ferramenta semelhante ao WinSpy ++ para Linux / X / GTK / QT?

7

Quando eu estava usando o Windows, algumas vezes fiz um bom uso do WinSpy ++ que permitia apontar para uma janela ou um controle (um widget, um elemento de janela) para ver detalhes sobre ele (incluindo os valores dos campos do Windows). estrutura / classe descrevendo essa instância em particular), enviar mensagens do gerenciador de janelas para ela etc. Uma das tarefas comuns que eu tenho usado é copiar texto de um widget não selecionável (como um rótulo, que não permite selecionar e selecionar). copie o texto da maneira que um campo de texto faz). Existe uma ferramenta análoga que eu possa usar com aplicativos GUI GNU / Linux?

    
por Ivan 12.02.2012 / 21:09

3 respostas

6

Você não pode esperar um mapeamento 1: 1 aqui. Eu não conheço o WinSpy ++, mas é provável que o que ele possa fazer esteja espalhado por várias ferramentas diferentes, alguns de seus recursos simplesmente não fazem sentido em X e, inversamente, as ferramentas X têm recursos adicionais que não fazem sentido em Windows.

A distribuição básica do X11 vem com uma série de ferramentas simples . Os que têm mais probabilidade de serem relevantes aqui são:

  • xclients para listar os programas que têm conexão com uma exibição
  • xprop para exibir as propriedades da janela
  • xwininfo para exibir informações técnicas sobre uma janela (posição , visuais,…)

Existem também ferramentas para manipular os recursos X : appres , editres (para as poucas aplicações que o implementam), listres , xrdb .

Dois utilitários de terceiros que costumam ser úteis para obter informações e agir nas janelas são wmctrl (executar ações do gerenciador de janelas a partir da linha de comando) e xdotool (envie eventos para uma janela).

    
por 12.02.2012 / 22:52
5

Nem o gerenciador de janelas nem o servidor X conhecem widgets / controles, portanto, não há uma maneira padrão de uma ferramenta consultar o sistema em busca dos detalhes dos widgets de outro aplicativo. Um aplicativo envia principalmente coisas do servidor X como pixmaps, operações de desenho de polígonos e operações de desenho de texto.

No entanto, existem ferramentas que podem se conectar a um processo e inspecionar as estruturas de dados de seu kit de ferramentas de widget. Para aplicativos que usam o GTK +, há Parasite . Um fork do Parasite é agora incluído no GTK + desde a versão 3.14.

Para o Qt, uma pesquisa rápida aparece Qt Inspector , inspirada no KSpy, uma ferramenta escondido nos repositórios do KDE.

Se você precisar descobrir qual widget toolkit um aplicativo usa, é possível listar as bibliotecas das quais ele depende usando a ferramenta de linha de comando ldd .

    
por 29.10.2014 / 20:13
3

Basicamente, não realmente.

Para obter informações sobre uma janela, você pode usar o

xwininfo
comando

. No entanto, não é surpresa que o X11 seja diferente do Windows, mas não imprime as mesmas informações. Não conheço nenhuma maneira de copiar texto de controles não selecionáveis, embora talvez eles sejam menos comuns do que no Windows.

Quanto ao envio de mensagens do gerenciador de janelas, não tenho certeza disso. Você pode usar uma ferramenta baseada na extensão XRECORD, por exemplo, Xnee . No entanto, eu nunca tentei isso.

    
por 12.02.2012 / 21:15

Tags