如何检查任何 window 在 i3 中是否打开
How to check whether any window is open in i3
我怎样才能知道是否有任何 window 在 i3 中打开?比如,检查是否有任何工作区包含 window.
或许可以尝试 i3-save-tree
。您必须先安装 perl-anyevent-i3
和 perl-json-xs
。
https://i3wm.org/docs/layout-saving.html
示例:
$ i3-save-tree --workspace 10
// vim:ts=4:sw=4:et
{
"border": "pixel",
"current_border_width": 1,
"floating": "auto_off",
"geometry": {
"height": 720,
"width": 1366,
"x": 0,
"y": 0
},
"name": "Waterfox Start Page - Waterfox",
"percent": 1,
"swallows": [
{
// "class": "^Waterfox$",
// "instance": "^Navigator$",
// "title": "^Waterfox\ Start\ Page\ \-\ Waterfox$",
// "transient_for": "^$",
// "window_role": "^browser$"
}
],
"type": "con"
}
您可以使用 xdotool
检查是否有任何 'visible' window 在 i3 中打开:
您可以使用 sudo pacman -S xdotool
安装 xdotool
WINDOWS=$(xdotool search --all --onlyvisible --desktop $(xprop -notype -root _NET_CURRENT_DESKTOP | cut -c 24-) "" 2>/dev/null)
NUM=$(echo "$WINDOWS" | wc -l)
if [ $NUM -eq 0 ]; then
echo "No windows open."
fi
我怎样才能知道是否有任何 window 在 i3 中打开?比如,检查是否有任何工作区包含 window.
或许可以尝试 i3-save-tree
。您必须先安装 perl-anyevent-i3
和 perl-json-xs
。
https://i3wm.org/docs/layout-saving.html
示例:
$ i3-save-tree --workspace 10
// vim:ts=4:sw=4:et
{
"border": "pixel",
"current_border_width": 1,
"floating": "auto_off",
"geometry": {
"height": 720,
"width": 1366,
"x": 0,
"y": 0
},
"name": "Waterfox Start Page - Waterfox",
"percent": 1,
"swallows": [
{
// "class": "^Waterfox$",
// "instance": "^Navigator$",
// "title": "^Waterfox\ Start\ Page\ \-\ Waterfox$",
// "transient_for": "^$",
// "window_role": "^browser$"
}
],
"type": "con"
}
您可以使用 xdotool
检查是否有任何 'visible' window 在 i3 中打开:
您可以使用 sudo pacman -S xdotool
WINDOWS=$(xdotool search --all --onlyvisible --desktop $(xprop -notype -root _NET_CURRENT_DESKTOP | cut -c 24-) "" 2>/dev/null)
NUM=$(echo "$WINDOWS" | wc -l)
if [ $NUM -eq 0 ]; then
echo "No windows open."
fi