Compare commits

...

5 commits

Author SHA1 Message Date
ItsDrike 7a79342f93
Cache walker history 2024-06-21 00:31:37 +02:00
ItsDrike c96e2de5ec
Persist stremio data 2024-06-21 00:28:22 +02:00
ItsDrike 0cd01b09e6
Set BROWSER and DEFAULT_BROWSER vars 2024-06-20 23:53:26 +02:00
ItsDrike b51d136c0c
Move to focusworkspaceoncurrentmonitor (from custom script)
For a long time now, I've been using a custom shell script to handle
focusing to a workspace, which handled (xmonad-like) monitor swapping.

However recently, the option `focusworkspaceoncurrentmonitor` has been
added to Hyprland, which does the exact same. That means the script is
no longer necessary and we can move to the new built-in option.
2024-06-20 23:30:56 +02:00
ItsDrike 7ab53d2654
Add pulsemixer 2024-06-20 23:17:49 +02:00
9 changed files with 25 additions and 39 deletions

View file

@ -4,8 +4,7 @@
source "./scripts/include"
if [ "$1" = "--switch" ]; then
$HOME/.local/bin/scripts/gui/hyprland/swap-workspace "$2" >/dev/null
# hyprctl dispatch workspace "$2" >/dev/null
hyprctl dispatch focusworkspaceoncurrentmonitor "$2" >/dev/null
elif [ "$1" = "--loop" ]; then
hyprland_ipc "workspace|createworkspace|destroyworkspace" | ./scripts/workspaces.py "$@"
else

View file

@ -107,15 +107,15 @@
#
# Switch workspace (swapping to current monitor)
#
"SUPER, 1, exec, hyprland-swap-workspace 1"
"SUPER, 2, exec, hyprland-swap-workspace 2"
"SUPER, 3, exec, hyprland-swap-workspace 3"
"SUPER, 4, exec, hyprland-swap-workspace 4"
"SUPER, 5, exec, hyprland-swap-workspace 5"
"SUPER, 6, exec, hyprland-swap-workspace 6"
"SUPER, 7, exec, hyprland-swap-workspace 7"
"SUPER, 8, exec, hyprland-swap-workspace 8"
"SUPER, 9, exec, hyprland-swap-workspace 9"
"SUPER, 1, focusworkspaceoncurrentmonitor, 1"
"SUPER, 2, focusworkspaceoncurrentmonitor, 2"
"SUPER, 3, focusworkspaceoncurrentmonitor, 3"
"SUPER, 4, focusworkspaceoncurrentmonitor, 4"
"SUPER, 5, focusworkspaceoncurrentmonitor, 5"
"SUPER, 6, focusworkspaceoncurrentmonitor, 6"
"SUPER, 7, focusworkspaceoncurrentmonitor, 7"
"SUPER, 8, focusworkspaceoncurrentmonitor, 8"
"SUPER, 9, focusworkspaceoncurrentmonitor, 9"
#
# Move window to workspace

View file

@ -16,7 +16,6 @@ in {
config = mkIf cfg.enable {
home.packages = [
hyprPkgs.hyprland-swap-workspace
hyprPkgs.hyprland-move-window
pkgs.brightnessctl
hyprPkgs.brightness

View file

@ -3,7 +3,6 @@
...
}: let
packages = {
hyprland-swap-workspace = pkgs.callPackage ./hyprland-swap-workspace {};
hyprland-move-window = pkgs.callPackage ./hyprland-move-window {};
brightness = pkgs.callPackage ./brightness {};
};

View file

@ -1,4 +0,0 @@
{pkgs, ...}:
pkgs.writeShellScriptBin "hyprland-swap-workspace" ''
${builtins.readFile ./hyprland-swap-workspace.sh}
''

View file

@ -1,22 +0,0 @@
#!/bin/bash
WORKSPACE="$1"
monitors_out="$(hyprctl monitors -j)"
focused_mon="$(echo "$monitors_out" | jq '.[] | select(.focused==true) | .id')"
focused_wks="$(echo "$monitors_out" | jq '.[].activeWorkspace.id')"
# Workspace is already focused, check on which monitor
if echo "$focused_wks" | grep "$WORKSPACE" >/dev/null; then
mon_id="$(echo "$monitors_out" | jq ".[] | select(.activeWorkspace.id==$WORKSPACE) | .id")"
# If the workspace is focused on the active monitor, don't do anything (we're here).
# Otherwise, swap the workspaces.
if [ "$mon_id" -ne "$focused_mon" ]; then
hyprctl dispatch swapactiveworkspaces "$focused_mon" "$mon_id"
fi
# Switching to an unfocused workspace, always move it to focused monitor
else
hyprctl dispatch moveworkspacetomonitor "$WORKSPACE" "$focused_mon"
hyprctl dispatch workspace "$WORKSPACE"
fi

View file

@ -39,4 +39,9 @@
"x-scheme-handler/msteams" = ["teams.desktop"]; # I need it for school, don't judge me
};
};
home.sessionVariables = {
BROWSER = "firefox";
DEFAULT_BROWSER = "firefox";
};
}

View file

@ -70,11 +70,13 @@
".local/share/nvim"
".local/state/nvim"
".local/share/zsh"
".local/share/Smart Code ltd/Stremio"
".local/share/cargo"
".local/share/go"
];
extraFiles = [
".config/git/git-credentials"
".cache/walker/history.gob"
];
};

View file

@ -1,5 +1,6 @@
{
config,
pkgs,
lib,
...
}: let
@ -12,6 +13,13 @@ in {
enable = mkDefault false; # this just enables ALSA, which we don't really care abouyt
mediaKeys.enable = true;
};
environment.systemPackages = with pkgs; [
# TUI tool to manage sound devices & levels
# It's made for pulseaudio, but it will work with pipewire too since we
# run a compatibility layer for pulse
pulsemixer
];
};
}