docs: add FIXME for waybar popup

This commit is contained in:
kenji
2026-01-11 19:32:11 -06:00
parent 2ef1d58ea7
commit 9ee5f40aa8
+38 -38
View File
@@ -4,53 +4,53 @@
myConfig, myConfig,
... ...
}: let }: let
# FIXME: waybar overlaps fullscreen display when restarting waybar
hakase-popup-launch = pkgs.writeShellScriptBin "hakase-popup-launch" '' hakase-popup-launch = pkgs.writeShellScriptBin "hakase-popup-launch" ''
tui_name=$1 tui_name=$1
active_popup=$(${pkgs.hyprland}/bin/hyprctl clients -j | ${pkgs.jq}/bin/jq -r '.[] | select(.class | startswith("org.hakase.")) | .class') active_popup=$(${pkgs.hyprland}/bin/hyprctl clients -j | ${pkgs.jq}/bin/jq -r '.[] | select(.class | startswith("org.hakase.")) | .class')
if [[ -z "''${tui_name}" ]]; then if [[ -z "''${tui_name}" ]]; then
echo "Usage: $(basename "$0") [tui-name]" echo "Usage: $(basename "$0") [tui-name]"
exit 1 exit 1
fi fi
popup_checker() {
if [[ -z "$active_popup" ]]; then
echo "no_popup"
elif [[ "$active_popup" != "org.hakase.popup.''${tui_name}" ]]; then
echo "different"
else
echo "same"
fi
}
popup_checker() {
if [[ -z "$active_popup" ]]; then
echo "no_popup"
elif [[ "$active_popup" != "org.hakase.popup.''${tui_name}" ]]; then
echo "different"
else
echo "same"
fi
}
launch() { launch() {
exec ${pkgs.util-linux}/bin/setsid uwsm-app -- xdg-terminal-exec --app-id=org.hakase.popup."''${tui_name}" -e "''${tui_name}" exec ${pkgs.util-linux}/bin/setsid uwsm-app -- xdg-terminal-exec --app-id=org.hakase.popup."''${tui_name}" -e "''${tui_name}"
} }
focus() { focus() {
exec ${pkgs.hyprland}/bin/hyprctl dispatch focuswindow "class:org.hakase.popup.''${tui_name}" exec ${pkgs.hyprland}/bin/hyprctl dispatch focuswindow "class:org.hakase.popup.''${tui_name}"
} }
replace() { replace() {
${pkgs.hyprland}/bin/hyprctl dispatch closewindow "class:''${active_popup}" ${pkgs.hyprland}/bin/hyprctl dispatch closewindow "class:''${active_popup}"
sleep 0.3 sleep 0.3
launch launch
} }
run() { run() {
local status local status
status=$(popup_checker) status=$(popup_checker)
if [[ "$status" == "no_popup" ]]; then if [[ "$status" == "no_popup" ]]; then
launch launch
elif [[ "$status" == "same" ]]; then elif [[ "$status" == "same" ]]; then
focus focus
elif [[ "$status" == "different" ]]; then elif [[ "$status" == "different" ]]; then
replace replace
fi fi
} }
run run
''; '';
in { in {
wayland.windowManager.hyprland.settings = { wayland.windowManager.hyprland.settings = {