Parece simples; xdotool
seleciona a área de trabalho, simula F5o pressionamento de tecla e retorna o foco para a janela / programa de chamada.
Depois de pesquisar no Google, não parece mais simples.
Eu preciso fazer isso de bash / gnome-shell.
Alguma ideia?
Este projeto está relacionado a esta sessão de perguntas e respostas em que os ícones caem da tela esquerda em um todo preto por causa de monitores de tamanhos diferentes:
Graças à ajuda de Podesta, criei este código:
TestIcons () {
[[ $TestSeconds == "" ]] || [[ $TestSeconds == 0 ]] && TestSeconds=5
local i Position File
for (( i=0; i<${#IconsArr[@]}; i=i+ICON_FLD_CNT )) ; do
File="$ICONS_DIR"/"${IconsArr[((i+ICON_NAME_NDX))]}"
Position="${IconsArr[((i+ICON_COL_NDX))]},${IconsArr[((i+ICON_ROW_NDX))]}"
gvfs-set-attribute -t string "$File" \
'metadata::nautilus-icon-position' "$Position"
done
wmctrl -k on # Show desktop
xdotool key F5 # Refresh desktop (show icon new positions)
sleep $TestSeconds # Pause for view
wmctrl -k off # Restore windows
for (( i=0; i<${#OldIconsArr[@]}; i=i+ICON_FLD_CNT )) ; do
File="$ICONS_DIR"/"${OldIconsArr[((i+ICON_NAME_NDX))]}"
Position="${OldIconsArr[((i+ICON_COL_NDX))]},${OldIconsArr[((i+ICON_ROW_NDX))]}"
gvfs-set-attribute -t string "$File" \
'metadata::nautilus-icon-position' "$Position"
done
wmctrl -k on # Show desktop
xdotool key F5 # Refresh desktop (show icon new positions)
wmctrl -k off # Restore windows
} # TestIcons
É assim que a tela se parece:
Script abaixo do trabalho de @WinEunuuchs2Unix e é a solução final. Minha resposta original está no final.
Alguns outros
xdotools
comandos que podem ser úteis em situações semelhantes:Se o seu gerenciador de janelas tiver um comando show desktop, pode ser útil minimizar e trazer de volta todas as janelas. Geralmente é definido como
ctrl+alt+d
:Se você quiser salvar a janela ativa no momento, para trazê-la de volta mais tarde, você pode usar:
Ti minimizar uma janela que você pode usar. Adicioná-lo a um loop permite minimizar todas as janelas, como uma alternativa ao show dekstop.
Para trazer a janela ativa que você salvou de volta ao foco:
Para fechar a janela ativa, use:
E o mais importante, todos os comandos que você pode usar com a janela ativa, você pode realmente pesquisar e aplicar a casos específicos. Por exemplo, pesquisar esta janela específica com base no título.
Existem muitas maneiras diferentes de procurar janelas, com base no título, na classe, se estão visíveis, etc. Também pode manipular as posições das janelas e do mouse. A página de manual do xdotol é muito abrangente. Combiná-los com um script bash daria muita liberdade para alcançar a maioria das coisas.