두 가지 셸 스크립트를 제공합니다. 그것은 당신 이 창 위치와 크기의 배열 을 저장하는 데 도움이 될 것 입니다. 원하는 창 배열이 어긋나면 이러한 스크립트를 사용하여 모든 창에 대해 정확한 창 크기와 위치로 해당 배열 을 복원 할 수 있습니다 .
wmctrl
아직 설치 하지 않은 경우 설치 해야합니다. 터미널을 통해 설치
sudo apt-get install wmctrl
창 구성을 저장하는 스크립트
# 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 '($2 != -1)&&($3 != 0)&&($NF != "Desktop")' | awk '{print $1}' | while read mywinid
do
xwininfo -id "$mywinid" >> $HOME/.my_windows_config.txt
done
fi
실행시 위 스크립트는 열려있는 모든 창의 창 위치와 크기를 .my_windows_config.txt
홈 디렉토리에 이름이 지정된 파일로 저장합니다 . 숨겨진 텍스트 파일입니다.
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 $4}')
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
두 번째 스크립트를 실행하면 모든 창에 대해 정확한 크기로 창 위치를 복원합니다.
용법
이 스크립트를 $HOME/bin/
디렉토리 에 저장하십시오 . 에 추가 $HOME/bin/
하십시오 PATH
. 이를 위해이 줄을 끝에 추가하십시오.$HOME/.bashrc
PATH=$HOME/bin:$PATH
export PATH
이름만으로 스크립트를 실행할 수 있습니다. 스크립트 실행 권한을 부여하십시오.
chmod +x $HOME/bin/save_window_conf.sh
chmod +x $HOME/bin/load_window_conf.sh
에 구성을 저장하려면 $HOME/.my_windows_config.txt
모든 창을 열고 조정 한 후 터미널에서 실행하면
save_window_conf.sh
에서 구성을 다시로드하려면 $HOME/.my_windows_config.txt
load_window_conf.sh
문제가 해결되기를 바랍니다. 스크린 샷이 있습니다.