Tôi đang cung cấp cho bạn hai kịch bản shell. Nó sẽ giúp bạn tiết kiệm sắp xếp các vị trí và kích thước cửa sổ . Nếu bằng cách nào đó các sắp xếp cửa sổ mong muốn của bạn bị xáo trộn, bạn sẽ có thể khôi phục các sắp xếp đó với kích thước và vị trí cửa sổ chính xác cho tất cả các cửa sổ bằng cách sử dụng các tập lệnh này.
Bạn cần phải cài đặt wmctrl
trừ khi bạn đã có nó. Cài đặt qua thiết bị đầu cuối,
sudo apt-get install wmctrl
Script để lưu cấu hình 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 '($2 != -1)&&($3 != 0)&&($NF != "Desktop")' | awk '{print $1}' | while read mywinid
do
xwininfo -id "$mywinid" >> $HOME/.my_windows_config.txt
done
fi
Khi thực thi đoạn script trên sẽ lưu vị trí và kích thước cửa sổ của bạn cho tất cả các cửa sổ đang mở của bạn vào một tệp có tên .my_windows_config.txt
trong thư mục chính của bạn. Nó là một tập tin văn bản ẩn.
Script để tải lại cấu hình 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
Khi bạn thực thi tập lệnh thứ hai, nó sẽ khôi phục vị trí cửa sổ của bạn với kích thước chính xác cho tất cả các cửa sổ của bạn.
Sử dụng
Lưu các tập lệnh này trong $HOME/bin/
thư mục của bạn . Thêm $HOME/bin/
vào của bạn PATH
. Đối với điều này, thêm những dòng này vào cuối của bạn$HOME/.bashrc
PATH=$HOME/bin:$PATH
export PATH
Nó sẽ cho phép bạn thực thi các tập lệnh chỉ với tên của họ. Cho phép thực thi tập lệnh,
chmod +x $HOME/bin/save_window_conf.sh
chmod +x $HOME/bin/load_window_conf.sh
Để lưu cấu hình trong của bạn $HOME/.my_windows_config.txt
Sau khi bạn mở và điều chỉnh tất cả các cửa sổ của bạn chạy trong thiết bị đầu cuối,
save_window_conf.sh
Để tải lại cấu hình từ $HOME/.my_windows_config.txt
load_window_conf.sh
Hy vọng nó sẽ giải quyết vấn đề của bạn. Đây là một ảnh chụp màn hình,