Как проверить, открыто ли какое-либо окно в i3

Как я могу узнать, открыто ли какое-либо окно в i3 или нет? Например, проверьте, содержит ли какое-либо рабочее пространство какое-либо окно.

2 ответа

Решение

Вы можете проверить, открыто ли какое-либо "видимое" окно в i3, используя xdotool: Вы можете установить xdotool с 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

Может быть попробовать 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"
}
Другие вопросы по тегам