我有一个 HDMI 显示器,我时常将其拔出并重新插入我的笔记本电脑。当我拔掉显示器的插头时,所有窗口都会移动到笔记本电脑显示屏上。但是,当我重新插入电源时,所有窗口都会移动到第二个显示屏(位于笔记本电脑显示屏的左侧),即使我自己没有移动它们。
如何让 KDE 在拔出和重新插入时保留每个窗口的显示?
答案1
您可以使用以下命令保存窗口的当前位置:
wmctrl -lG > ~/.windowlistrc
您可以通过以下方式恢复它们:
rcfile=~/.windowlistrc
while read row; do
IFS=" " read id g x y w h _ <<< ${row}
if [[ ${g} == "-1" ]]; then continue; fi
wmctrl -ir ${id} -b toggle,maximized_vert,maximized_horz
wmctrl -ir ${id} -b remove,maximized_vert,maximized_horz
y=$(( ${y} - 30 ))
wmctrl -ir ${id} -e 0,${x},${y},${w},${h}
done < ${rcfile}
恢复可能要简单得多,但我发现我需要在拖动靠近一侧或顶部后打开和关闭由窗口管理器排列的窗口,然后扩展(通过 wm)以填充一半显示器。