first commit

This commit is contained in:
hdvt
2026-03-28 16:48:16 +00:00
commit 0c097ebf97
15478 changed files with 850272 additions and 0 deletions

29
hypr/scripts/restore_window.sh Executable file
View File

@@ -0,0 +1,29 @@
#!/bin/bash
# 1. Сразу получаем ID текущего активного воркспейса (куда будем возвращать окно)
current_ws=$(hyprctl activeworkspace -j | jq -r '.id')
# 2. Получаем список скрытых окон
# Формат: "ADDRESS | Title"
windows=$(hyprctl clients -j | jq -r '.[] | select(.workspace.name == "special:minimized") | "\(.address) | \(.title)"')
if [ -z "$windows" ]; then
notify-send "Скрытые окна" "Список пуст"
exit 0
fi
# 3. Выбираем через Fuzzel
selected=$(echo "$windows" | fuzzel --dmenu --prompt "Вернуть > " --width 60)
# 4. Если выбор сделан
if [ -n "$selected" ]; then
# Берем адрес (первое слово до пробела)
addr=$(echo "$selected" | awk '{print $1}')
# ДЛЯ ОТЛАДКИ (Если не сработает, раскомментируйте строку ниже, чтобы увидеть, какой адрес и ID получил скрипт)
# notify-send "Debug" "Window: $addr \nTarget Workspace: $current_ws"
# 5. Перемещаем окно на запомненный активный воркспейс
# Используем 'address:' явно, чтобы Hyprland точно понял, что это адрес
hyprctl dispatch movetoworkspace "$current_ws,address:$addr"
fi