button and script to create and switch to a new workspace

This commit is contained in:
2025-06-19 09:52:45 +02:00
parent 85483b87de
commit 9aea7f501b
6 changed files with 70 additions and 32 deletions

View File

@@ -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))

11
.scripts/workspace-new.sh Executable file
View File

@@ -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))

View File

@@ -2,6 +2,20 @@
<img src="https://github.com/Uyanide/dotfiles/blob/main/.chores/tiling.png?raw=true"/>
<img src="https://github.com/Uyanide/dotfiles/blob/main/.chores/grub.jpg?raw=true"/>
## 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 <s>I don't know who</s> (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:

View File

@@ -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

View File

@@ -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,

View File

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