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

View file

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

View file

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

View file

@ -3,7 +3,6 @@
... ...
}: let }: let
packages = { packages = {
hyprland-swap-workspace = pkgs.callPackage ./hyprland-swap-workspace {};
hyprland-move-window = pkgs.callPackage ./hyprland-move-window {}; hyprland-move-window = pkgs.callPackage ./hyprland-move-window {};
brightness = pkgs.callPackage ./brightness {}; 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 "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/share/nvim"
".local/state/nvim" ".local/state/nvim"
".local/share/zsh" ".local/share/zsh"
".local/share/Smart Code ltd/Stremio"
".local/share/cargo" ".local/share/cargo"
".local/share/go" ".local/share/go"
]; ];
extraFiles = [ extraFiles = [
".config/git/git-credentials" ".config/git/git-credentials"
".cache/walker/history.gob"
]; ];
}; };

View file

@ -1,5 +1,6 @@
{ {
config, config,
pkgs,
lib, lib,
... ...
}: let }: let
@ -12,6 +13,13 @@ in {
enable = mkDefault false; # this just enables ALSA, which we don't really care abouyt enable = mkDefault false; # this just enables ALSA, which we don't really care abouyt
mediaKeys.enable = true; 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
];
}; };
} }