1
1
Fork 0

Compare commits

...

2 commits

Author SHA1 Message Date
9a97559867
hyprland: add bind to toggle last special workspace
Signed-off-by: Myned <dev@bjork.tech>
2024-09-29 13:42:23 -05:00
3da7ab1d95
workspace: initial script
Signed-off-by: Myned <dev@bjork.tech>
2024-09-29 13:42:11 -05:00
3 changed files with 44 additions and 2 deletions

View file

@ -42,6 +42,7 @@ with lib; let
walker = "${config.home-manager.users.${config.custom.username}.programs.walker.package}/bin/walker";
waydroid = "${pkgs.waydroid}/bin/waydroid";
window = config.home-manager.users.${config.custom.username}.home.file.".local/bin/window".source;
workspace = config.home-manager.users.${config.custom.username}.home.file.".local/bin/workspace".source;
zoom = config.home-manager.users.${config.custom.username}.home.file.".local/bin/zoom".source;
cfg = config.custom.desktops.hyprland.binds;
@ -141,6 +142,8 @@ in {
(key "Escape" "Super" "togglefloating" null)
(key "Escape" "Super+Alt" "exec" "lifx state --color red")
(key "Escape" "Super+Shift" "centerwindow" null)
(key "Grave" "Super" "togglespecialworkspace" "scratchpad")
(key "Grave" "Super+Shift" "movetoworkspacesilent" "special:scratchpad")
(key "Left" "Super" "movewindow" "l")
(key "Left" "Super+Alt" "exec" "${left} --scroll kensington-orbit-wireless-tb-mouse")
(key "Left" "Super+Shift" "movewindoworgroup" "l")
@ -173,7 +176,7 @@ in {
"--expression '^Picture.in.[Pp]icture$'"
"--workspace special:pip"
]))
(key "Space" "Super" "togglespecialworkspace" "scratchpad")
(key "Space" "Super" "exec" workspace)
(key "Space" "Super+Ctrl+Shift" "exec" (with config.custom;
concatStringsSep " " [
"${window} move"
@ -182,7 +185,6 @@ in {
"'^Picture.in.[Pp]icture$'"
"${toString (gap + border)},${toString (gap + border)}"
]))
(key "Space" "Super+Shift" "movetoworkspacesilent" "special:scratchpad")
(key "Tab" "Super" "cyclenext" "tiled")
(key "Tab" "Super+Shift" "alterzorder" "top")
(key "Tab" "Super+Shift" "cyclenext" "floating")

View file

@ -177,9 +177,17 @@ in {
])
(bash "window" [
argc
coreutils
hyprland
jq
])
(bash "workspace" [
argc
coreutils
hyprland
jq
libnotify
])
(bash "zoom" [
argc
bc

View file

@ -0,0 +1,32 @@
#! /usr/bin/env bash
# @describe Wrapper for toggling last special workspace
#
# https://github.com/sigoden/argc
# @meta combine-shorts
# @option -f --file=`_default_file` File to save last special workspace
_default_file() {
echo "/tmp/workspace"
}
eval "$(argc --argc-eval "$0" "$@")"
# Get current special workspace from active monitor, empty if not toggled
workspace="$(hyprctl -j monitors | jq -r ".[] | select(.focused == true).specialWorkspace.name")"
# If empty, use saved file
if ! [[ "$workspace" ]] && [[ -f "${argc_file:-}" ]]; then
workspace="$(cat "${argc_file:-}")"
fi
if [[ "$workspace" ]]; then
# Toggle workspace
hyprctl dispatch togglespecialworkspace "${workspace#special:*}" # Strip prefix
# Save last workspace
echo "$workspace" > "${argc_file:-}"
else
notify-send "> workspace" "Last workspace not yet saved"
fi