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 */