_NET_ACTIVE_WINDOW
hyprctl activewindow -j | jq -r '.class'
hyprctl activewindow -j | jq -r '.class'
hyprctl activewindow -j | jq -r '.class'
window-calls-extended
gdbus call --session --dest org.gnome.Shell \ --object-path /org/gnome/Shell/Extensions/WindowsExt \ --method org.gnome.Shell.Extensions.WindowsExt.FocusClass
gdbus call --session --dest org.gnome.Shell \ --object-path /org/gnome/Shell/Extensions/WindowsExt \ --method org.gnome.Shell.Extensions.WindowsExt.FocusClass
gdbus call --session --dest org.gnome.Shell \ --object-path /org/gnome/Shell/Extensions/WindowsExt \ --method org.gnome.Shell.Extensions.WindowsExt.FocusClass
workspace.activeWindow.resourceClass
echo 'print(workspace.activeWindow.resourceClass);' > /tmp/kwin_active.js
S=$(qdbus6 org.kde.KWin /Scripting org.kde.kwin.Scripting.loadScript /tmp/kwin_active.js kwin_tmp_$$)
T=$(date '+%Y-%m-%d %H:%M:%S')
qdbus6 org.kde.KWin /Scripting/Script$S org.kde.kwin.Script.run > /dev/null 2>&1
sleep 0.1
journalctl --since "$T" -o cat | grep '^js:' | tail -n 1 | sed 's/^js: //'
echo 'print(workspace.activeWindow.resourceClass);' > /tmp/kwin_active.js
S=$(qdbus6 org.kde.KWin /Scripting org.kde.kwin.Scripting.loadScript /tmp/kwin_active.js kwin_tmp_$$)
T=$(date '+%Y-%m-%d %H:%M:%S')
qdbus6 org.kde.KWin /Scripting/Script$S org.kde.kwin.Script.run > /dev/null 2>&1
sleep 0.1
journalctl --since "$T" -o cat | grep '^js:' | tail -n 1 | sed 's/^js: //'
echo 'print(workspace.activeWindow.resourceClass);' > /tmp/kwin_active.js
S=$(qdbus6 org.kde.KWin /Scripting org.kde.kwin.Scripting.loadScript /tmp/kwin_active.js kwin_tmp_$$)
T=$(date '+%Y-%m-%d %H:%M:%S')
qdbus6 org.kde.KWin /Scripting/Script$S org.kde.kwin.Script.run > /dev/null 2>&1
sleep 0.1
journalctl --since "$T" -o cat | grep '^js:' | tail -n 1 | sed 's/^js: //'
js::kwin_tmp_1234
$XDG_CURRENT_DESKTOP