Estou fornecendo dois scripts de shell. Isso ajudará você a salvar sua organização das posições e do tamanho das janelas . Se, de alguma forma, as configurações desejadas do Windows forem alteradas, você poderá restaurar esses arranjos com o tamanho exato do Windows e as posições de todas as janelas usando esses scripts.
Você precisa instalar wmctrl
, a menos que já o tenha. Instalar via terminal,
sudo apt-get install wmctrl
Script para salvar a configuração do Windows
# Script_Name: save_window_conf.sh
#!/bin/bash
if [ -f $HOME/.my_windows_config.txt ]; then
echo -e "Information: Previous configuration file \"$HOME/.my_windows_config.txt\" already exists.\nTo save a new configuration remove it manually using the following command,\n\n\trm $HOME/.my_windows_config.txt"
exit 1
else
wmctrl -p -G -l | awk '( != -1)&&( != 0)&&($NF != "Desktop")' | awk '{print }' | while read mywinid
do
xwininfo -id "$mywinid" >> $HOME/.my_windows_config.txt
done
fi
Na execução, o script acima salvará a posição e o tamanho das janelas de todas as janelas abertas em um arquivo chamado .my_windows_config.txt
em seu diretório pessoal. É um arquivo de texto oculto.
Script para recarregar a configuração do Windows
# Script_Name: load_window_conf.sh
#!/bin/bash
file=$HOME/.my_windows_config.txt
declare -a mywinid
declare -a x
declare -a y
declare -a width
declare -a height
nl=$(cat "$file" | grep xwininfo |wc -l)
for i in $(seq 1 $nl)
do
mywinid[i]=$(cat "$file" | grep "xwininfo" | awk -v p="$i" '{if(NR==p) print }')
x[i]=$(cat "$file" | grep "Absolute upper-left X" | awk -v p="$i" '{if(NR==p) print $NF}')
y[i]=$(cat "$file" | grep "Absolute upper-left Y" | awk -v p="$i" '{if(NR==p) print $NF}')
width[i]=$(cat "$file" | grep "Width" | awk -v p="$i" '{if(NR==p) print $NF}')
height[i]=$(cat "$file" | grep "Height" | awk -v p="$i" '{if(NR==p) print $NF}')
done
for it in $(seq 1 $nl)
do
wmctrl -i -r "${mywinid[$it]}" -e 0,"${x[$it]}","${y[$it]}","${width[it]}","${height[it]}"
done
Quando você executa o segundo script, ele restaura a posição das janelas com o tamanho exato de todas as janelas.
Uso
Salve esses scripts no diretório $HOME/bin/
. Adicione $HOME/bin/
no seu PATH
. Para isso, adicione estas linhas no final do seu $HOME/.bashrc
PATH=$HOME/bin:$PATH
export PATH
Ele permitirá que você execute esses scripts apenas com o nome deles. Dê a permissão de execução de scripts,
chmod +x $HOME/bin/save_window_conf.sh
chmod +x $HOME/bin/load_window_conf.sh
Para salvar a configuração no seu $HOME/.my_windows_config.txt
Depois de abrir e ajustar todas as janelas no terminal,
save_window_conf.sh
Para recarregar a configuração do seu $HOME/.my_windows_config.txt
load_window_conf.sh
Espero que isso resolva seu problema. Aqui está uma captura de tela,