如何通过命令或快捷键重绘X Window应用程序窗口?
如何通过命令或快捷键重绘X Window应用程序窗口?
太懂你这种被图形垃圾缠上的烦躁了——等着补丁的日子里,能快速清掉垃圾继续干活才是刚需!针对你的问题,这里有几个实用的解决办法:
快捷键方式
- 先试试通用窗口刷新快捷键:不少X应用和窗口管理器都支持 Alt+F5,这个快捷键通常会触发窗口强制重绘,效果和curses里的Ctrl+L异曲同工。
- 针对特定框架的应用:GTK程序可以试试 Ctrl+Shift+R,Qt程序有时候用 Ctrl+R,不过这个得看具体应用的配置情况。
- 偷懒小技巧:把窗口最小化再恢复,很多时候这会强制系统重绘整个窗口,意外好用还不用记复杂快捷键!
命令行工具方法
如果快捷键不好使,或者你想定时自动执行(比如每几分钟自动清一次垃圾),可以用这些工具:
xrefresh:这是X自带的工具,直接在终端运行它会刷新整个屏幕的所有窗口,简单粗暴但有效。如果只想刷新特定窗口,可以先用xwininfo获取目标窗口ID,再执行xrefresh -id <窗口ID>。xdotool:这个工具能模拟各种窗口操作,先通过xdotool search --name "应用窗口标题"拿到窗口ID,然后执行xdotool windowrefresh <窗口ID>(部分版本支持);或者用xdotool windowraise <窗口ID> && xdotool windowlower <窗口ID>,通过窗口前后切换触发重绘。wmctrl:运行wmctrl -r "应用窗口标题" -b toggle,shaded,把窗口临时遮起来再恢复,也能强制触发重绘。
要是你想定时自动执行,比如每5分钟刷新一次特定窗口,可以结合watch命令写个简单的定时操作:watch -n 300 'xdotool windowrefresh $(xdotool search --name "你的应用标题")',这样每300秒(5分钟)就会自动帮你刷新一次窗口。
备注:内容来源于stack exchange,提问作者John Gordon
相关产品推荐
相关产品推荐

