art*_*rtm 15 multiple-monitors unity desktop-environments
我使用笔记本电脑,喜欢在白天从一个(物理)工作场所迁移到另一个工作场所,并在可用时连接到外部显示器。
我还必须同时处理很多任务,所以我在任何给定时间都会打开很多窗口,并有很多(虚拟)工作区来组织它们。
但是每次我连接/断开外接显示器时,我所有的精心安排都消失了。这让我真的很生气。
当您连接/断开第二台显示器时,是否有一个桌面环境只留下窗口?或者更好的是,记住每个显示器排列的窗口排列?因此,当我从家庭办公室(笔记本电脑屏幕顶部的 17 英寸显示器)到通常的工作场所(笔记本电脑屏幕左侧的 21 英寸显示器)或同事的办公桌(笔记本电脑屏幕右侧的 19 英寸显示器)时,窗口最终会停留在上次连接显示器时所在的位置 - 或者如果他们从未见过此显示器,则留在原地。
unity“处理”外接显示器的方式让我很伤心,希望我没有连接所有这些额外的显示器,一旦我连接上它,我就会被这种安排束缚住,就好像我有一台台式机钉在地板上一样。
sou*_* c. 11
我为您提供了两个 shell 脚本。它将帮助您保存您对窗口位置和大小的安排。如果不知何故您想要的窗口排列受到干扰,您将能够使用这些脚本为所有窗口恢复具有精确窗口大小和位置的这些排列。
您需要安装,wmctrl
除非您已经拥有它。通过终端安装,
sudo apt-get install wmctrl
Run Code Online (Sandbox Code Playgroud)
sudo apt-get install wmctrl
Run Code Online (Sandbox Code Playgroud)
在执行时,上面的脚本会将所有打开的窗口的窗口位置和大小保存到.my_windows_config.txt
在您的主目录中命名的文件中。它是一个隐藏的文本文件。
# 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
Run Code Online (Sandbox Code Playgroud)
当您执行第二个脚本时,它将以所有窗口的精确大小恢复您的窗口位置。
将这些脚本保存在您的$HOME/bin/
目录中。添加$HOME/bin/
在您的PATH
. 为此,在您的末尾添加这些行$HOME/.bashrc
PATH=$HOME/bin:$PATH
export PATH
Run Code Online (Sandbox Code Playgroud)
它将使您能够仅使用其名称执行这些脚本。授予脚本执行权限,
chmod +x $HOME/bin/save_window_conf.sh
chmod +x $HOME/bin/load_window_conf.sh
Run Code Online (Sandbox Code Playgroud)
将配置保存在您的 $HOME/.my_windows_config.txt
打开并调整在终端中运行的所有窗口后,
save_window_conf.sh
Run Code Online (Sandbox Code Playgroud)
从您的重新加载配置 $HOME/.my_windows_config.txt
load_window_conf.sh
Run Code Online (Sandbox Code Playgroud)
希望它能解决你的问题。这是一个屏幕截图,
归档时间: |
|
查看次数: |
2974 次 |
最近记录: |