一次最小化多个窗口

Fra*_*lla 5 window minimize gnome-shell

我在 GNOME 中使用 Ubuntu 18.04。我想知道是否有任何功能允许以这样的方式关联多个窗口,当其中一个窗口最小化时,所有其他窗口也是如此,并且当窗口恢复所有其他窗口时。

即我正在使用多个终端窗口,我想将终端分组为 N 组,这样当我最小化终端窗口时,属于该组的所有其他终端窗口也会被最小化。

DK *_*ose 4

以下过程仅适用于 $XDG_SESSION_TYPE x11。

笔记:

  • 它使用Universe 存储库中的xdotool 。
  • 它假设您已经对终端窗口进行了分类,每个组的标题中都有一个公共字符串(不存在于任何其他打开的窗口中)。
  • 在下面的示例中,有两个组,每个组都有三个打开的​​ gnome 终端窗口:
    • 地球1
    • 地球2
    • 地球3号和
    • 风1
    • 风2
    • 风3

重要提示:
为了确保终端窗口的标题不会更改,我必须首先注释掉~/.bashrc中的以下行。如果不这样做,标题将反映当前工作目录,而不是保留您设置的标题:

case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac
Run Code Online (Sandbox Code Playgroud)

我使用以下命令命名每个窗口

echo -en "\033]0;New title\a"
Run Code Online (Sandbox Code Playgroud)

请注意,此处使用的xdotool不会处理名为 using 的窗口

wmctrl -r :ACTIVE: -N "New title"
Run Code Online (Sandbox Code Playgroud)

请参阅设置终端窗口标题:wmctrl 与 xdotool 的答案以获得完整的解释。

下面的动画 gif 将说明如何使用位于图像中屏幕顶部的另一个“主”终端来发出代码来最小化或最大化一组特定的窗口。

为此,我将以下函数添加到我的~/.bashrc中:

mmm(){
    echo "enter KEYWORD" && read KEYWORD && xdotool search --name --onlyvisible "$KEYWORD" > /tmp/tmp.txt
}

xwn() {
    while read p; do xdotool windowminimize "$p"; done </tmp/tmp.txt
}

xwx() {
    while read p; do xdotool windowactivate "$p"; done </tmp/tmp.txt
}
Run Code Online (Sandbox Code Playgroud)
  • mmm使用xdotool搜索用户提供的字符串“KEYWORD”。在本例中,“earth”对于要操作的一组终端窗口是通用的。xdotool生成它们的窗口标识符,该标识符被定向到临时文件。
  • xwn使用xdotoolwindowminimize操作来最小化临时文件中指定的窗口。
  • xwx使用xdotoolwindowactivate操作最大化临时文件中指定的窗口。
  • 请注意,根据已完成的其他操作,可能需要在或mmm之前立即运行。xwnxwx

使用 xdotool 最小化/最大化终端窗口组


我不得不使用mogrify -type Grayscale -depth 7 *.png缩小 gif 的大小。


归档时间:

查看次数:

802 次

最近记录:

6 年,1 月 前