diff --git a/.scripts/workspace-action.sh b/.scripts/workspace-action.sh deleted file mode 100755 index 4eca733..0000000 --- a/.scripts/workspace-action.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash -# https://github.com/end-4/dots-hyprland/blob/main/.config/ags/scripts/hyprland/workspace_action.sh - -hyprctl dispatch "$1" $(((($(hyprctl activeworkspace -j | jq -r .id) - 1) / 10) * 10 + $2)) \ No newline at end of file diff --git a/.scripts/workspace-new.sh b/.scripts/workspace-new.sh new file mode 100755 index 0000000..8577e05 --- /dev/null +++ b/.scripts/workspace-new.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +# get highest workspace ID +max_id=$(hyprctl workspaces | grep '^workspace ID ' | awk '{print $3}' | sort -n | tail -1) + +# case not found default to 0 +if [ -z "$max_id" ]; then + max_id=0 +fi + +hyprctl dispatch workspace $((max_id + 1)) \ No newline at end of file diff --git a/README.md b/README.md index cc5a89f..4c7fa9d 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,20 @@ +## Setup Overview + +- **OS**: Archlinux +- **WM**: Hyprland +- **Bar**: Waybar +- **Shell**: Fish +- **Prompt**: Oh My Posh +- **Terminal**: Kitty & Ghostty (floating) +- **Colorscheme**: Catppuccin-mocha(-blue) +- **App Launcher**: Fuzzel +- **Logout Screen**: Wlogout +- **Desktop Widgets**: Eww +- **Notification Daemon**: Mako + ## Hyprland & most of Hypr\* ecosystem Based on [end-4/dots-hyprland](https://github.com/end-4/dots-hyprland) but without ags. @@ -18,10 +32,6 @@ Based on [vinceliuice/Elegant-grub2-themes](https://github.com/vinceliuice/Elega Gathered from internet, based on I don't know who (such config files had been laying in my disk before I could even notice and already looked nice without further configurations) (and I'm pretty sure they were not the default config files shipped with the waybar package) -## Colorscheme for basically everything - -[Catppuccin-mocha(-blue)](https://catppuccin.com) - ## Fonts Not unified, combination of: diff --git a/hypr/hyprland/keybinds.conf b/hypr/hyprland/keybinds.conf index 2df28a5..a67ec4f 100755 --- a/hypr/hyprland/keybinds.conf +++ b/hypr/hyprland/keybinds.conf @@ -14,7 +14,6 @@ bind = Ctrl+Super+Shift, V, exec, easyeffects # Launch EasyEffects (equalizer & #! ##! Essentials bind = Super, T, exec, kitty # Launch kitty (terminal) -bind = Super+Shift, T, exec, ghostty # Launch ghostty (terminal) bind = Super, Return, exec, kitty # [hidden] bind = Super+Shift, Return, exec, ghostty # [hidden] bind = Super, Super_L, exec, eww open main --toggle # Launch dashboard (eww) @@ -104,16 +103,16 @@ bind = Super, D, fullscreen, 1 ##! Workspace navigation # Switching #/# bind = Super, Hash,, # Focus workspace # (1, 2, 3, 4, ...) -bind = Super, 1, exec, ~/.scripts/workspace-action.sh workspace 1 # [hidden] -bind = Super, 2, exec, ~/.scripts/workspace-action.sh workspace 2 # [hidden] -bind = Super, 3, exec, ~/.scripts/workspace-action.sh workspace 3 # [hidden] -bind = Super, 4, exec, ~/.scripts/workspace-action.sh workspace 4 # [hidden] -bind = Super, 5, exec, ~/.scripts/workspace-action.sh workspace 5 # [hidden] -bind = Super, 6, exec, ~/.scripts/workspace-action.sh workspace 6 # [hidden] -bind = Super, 7, exec, ~/.scripts/workspace-action.sh workspace 7 # [hidden] -bind = Super, 8, exec, ~/.scripts/workspace-action.sh workspace 8 # [hidden] -bind = Super, 9, exec, ~/.scripts/workspace-action.sh workspace 9 # [hidden] -bind = Super, 0, exec, ~/.scripts/workspace-action.sh workspace 10 # [hidden] +bind = Super, 1, workspace, 1 # [hidden] +bind = Super, 2, workspace, 2 # [hidden] +bind = Super, 3, workspace, 3 # [hidden] +bind = Super, 4, workspace, 4 # [hidden] +bind = Super, 5, workspace, 5 # [hidden] +bind = Super, 6, workspace, 6 # [hidden] +bind = Super, 7, workspace, 7 # [hidden] +bind = Super, 8, workspace, 8 # [hidden] +bind = Super, 9, workspace, 9 # [hidden] +bind = Super, 0, workspace, 10 # [hidden] #/# bind = Ctrl+Super, ←/→,, # Workspace: focus left/right bind = Ctrl+Super, Right, workspace, +1 # [hidden] bind = Ctrl+Super, Left, workspace, -1 # [hidden] @@ -134,16 +133,16 @@ bind = Super, mouse:275, togglespecialworkspace, s # [hidden] ##! Workspace management # Move window to workspace Super + Alt + [0-9] #/# bind = Super+Alt, Hash,, # Window: move to workspace # (1, 2, 3, 4, ...) -bind = Super+Alt, 1, exec, ~/.scripts/workspace-action.sh movetoworkspacesilent 1 # [hidden] -bind = Super+Alt, 2, exec, ~/.scripts/workspace-action.sh movetoworkspacesilent 2 # [hidden] -bind = Super+Alt, 3, exec, ~/.scripts/workspace-action.sh movetoworkspacesilent 3 # [hidden] -bind = Super+Alt, 4, exec, ~/.scripts/workspace-action.sh movetoworkspacesilent 4 # [hidden] -bind = Super+Alt, 5, exec, ~/.scripts/workspace-action.sh movetoworkspacesilent 5 # [hidden] -bind = Super+Alt, 6, exec, ~/.scripts/workspace-action.sh movetoworkspacesilent 6 # [hidden] -bind = Super+Alt, 7, exec, ~/.scripts/workspace-action.sh movetoworkspacesilent 7 # [hidden] -bind = Super+Alt, 8, exec, ~/.scripts/workspace-action.sh movetoworkspacesilent 8 # [hidden] -bind = Super+Alt, 9, exec, ~/.scripts/workspace-action.sh movetoworkspacesilent 9 # [hidden] -bind = Super+Alt, 0, exec, ~/.scripts/workspace-action.sh movetoworkspacesilent 10 # [hidden] +bind = Super+Alt, 1, movetoworkspacesilent, 1 # [hidden] +bind = Super+Alt, 2, movetoworkspacesilent, 2 # [hidden] +bind = Super+Alt, 3, movetoworkspacesilent, 3 # [hidden] +bind = Super+Alt, 4, movetoworkspacesilent, 4 # [hidden] +bind = Super+Alt, 5, movetoworkspacesilent, 5 # [hidden] +bind = Super+Alt, 6, movetoworkspacesilent, 6 # [hidden] +bind = Super+Alt, 7, movetoworkspacesilent, 7 # [hidden] +bind = Super+Alt, 8, movetoworkspacesilent, 8 # [hidden] +bind = Super+Alt, 9, movetoworkspacesilent, 9 # [hidden] +bind = Super+Alt, 0, movetoworkspacesilent, 10 # [hidden] bind = Ctrl+Super+Shift, Right, movetoworkspace, +1 # [hidden] bind = Ctrl+Super+Shift, Left, movetoworkspace, -1 # [hidden] bind = Ctrl+Super, Up, workspace, -5 # [hidden] @@ -162,3 +161,4 @@ bind = Super+Alt, S, movetoworkspace, special:s bind = Super, P, pin bind = Alt, Tab, cyclenext bind = Super, Tab, hyprexpo:expo, toggle # can be: toggle, select, off/disable or on/enable +bind = Super+Ctrl, T, exec, ~/.scripts/workspace-new.sh diff --git a/waybar/config.jsonc b/waybar/config.jsonc index d286e47..4ba0dfd 100644 --- a/waybar/config.jsonc +++ b/waybar/config.jsonc @@ -11,7 +11,9 @@ "spacing": 2, // Gaps between modules (px) "modules-left": [ "custom/rofi", - "hyprland/workspaces", + // "hyprland/workspaces", + // "custom/workspacenew", + "group/workspaceactions", "hyprland/window", //"hyprland/submap", //"idle_inhibitor", @@ -55,6 +57,7 @@ "format": "󰐥", "tooltip": false, "on-click": "wlogout", + "on-click-right": "hyprctl dispatch killactive", "min-length": 2, "max-length": 2 }, @@ -66,7 +69,6 @@ // "on-click-middle": "pkill -9 fuzzel", "on-click": "eww open main --toggle", "on-click-right": "pkill fuzzel || fuzzel", - "on-click-middle": "hyprctl dispatch killactive", "min-length": 2, "max-length": 2 }, @@ -214,6 +216,10 @@ }, // Hyprland + "group/workspaceactions": { + "modules": ["hyprland/workspaces", "custom/workspacenew"], + "orientation": "inherit" + }, "hyprland/workspaces": { "all-outputs": true, "format": "{name}", @@ -223,6 +229,11 @@ "sort-by-number": true, "active-only": false }, + "custom/workspacenew": { + "format": "+", + "tooltip": false, + "on-click": "~/.scripts/workspace-new.sh" + }, "hyprland/window": { "max-length": 100, "separate-outputs": true, diff --git a/waybar/style.css b/waybar/style.css index 08fa0f0..adabdb6 100644 --- a/waybar/style.css +++ b/waybar/style.css @@ -37,6 +37,7 @@ tooltip { border: 3px solid @overlay0; } +#custom-workspacenew, #workspaces button { padding: 3px 5px; /* Adjusted padding to reduce height */ margin: 3px 5px; /* Reduced margin slightly */ @@ -60,13 +61,22 @@ tooltip { background-color: @red; } -#workspaces { +#workspaceactions { background-color: alpha(@base, 0.6); border-radius: 14px; padding: 3px 6px; /* Adjusted padding to reduce height */ border: 3px solid @blue; } +#workspaces { + padding: 0px; + margin: 0px; +} + +#custom-workspacenew:hover { + background-color: alpha(@blue, 0.3); +} + #window { background-color: alpha(@base, 0.6); font-size: 15px; /* Slightly smaller font size */