From f20b982a2eea53142f3685ed32dbb6197bbcb1a4 Mon Sep 17 00:00:00 2001 From: Adam French Date: Thu, 5 Mar 2026 16:45:19 +0000 Subject: [PATCH] reorganise configs into subdirectories, add hyprland config and keybindings - Move i3, sway, waybar, wofi configs into their own subdirectories - Add hyprland/hyprland.conf (converted from i3 config) - Add waybar configs for hyprland and sway - Update README with new symlink paths and Hyprland keybindings table - Add hatsune-miku cursor submodule Co-Authored-By: Claude Sonnet 4.6 --- .gitmodules | 3 + README.md | 156 ++++++-- hatsune-miku-windows-linux-cursors | 1 + hyprland/hyprland.conf | 345 ++++++++++++++++++ i3blocks.conf => i3/i3blocks.conf | 0 i3config => i3/i3config | 0 i3status.conf => i3/i3status.conf | 0 packages.txt | 37 +- swayconfig => sway/swayconfig | 3 +- waybar/waybar_hyprland_config.json | 106 ++++++ .../waybar_sway_config.json | 0 waybar_style.css | 112 ------ wofi_style.css => wofi/wofi_style.css | 0 13 files changed, 599 insertions(+), 164 deletions(-) create mode 100644 .gitmodules create mode 160000 hatsune-miku-windows-linux-cursors create mode 100644 hyprland/hyprland.conf rename i3blocks.conf => i3/i3blocks.conf (100%) rename i3config => i3/i3config (100%) rename i3status.conf => i3/i3status.conf (100%) rename swayconfig => sway/swayconfig (99%) create mode 100644 waybar/waybar_hyprland_config.json rename waybar_config => waybar/waybar_sway_config.json (100%) delete mode 100644 waybar_style.css rename wofi_style.css => wofi/wofi_style.css (100%) diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..949d68d --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "hatsune-miku-windows-linux-cursors"] + path = hatsune-miku-windows-linux-cursors + url = https://github.com/supermariofps/hatsune-miku-windows-linux-cursors.git diff --git a/README.md b/README.md index 4f1c633..b516ee1 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,9 @@ A collection of Linux scripts and configs for use across multiple machines. When referring to `{repo_dir}`, use absolute paths (e.g., `~/scripts`). ### alacritty configuration + Add this to the `.config/alacritty/alacritty.toml` + ``` import = [ "{repo_dir}/alacritty.toml" @@ -15,13 +17,16 @@ import = [ ``` ### tmux Configuration + This config uses tmux plugin manager to add session save / reloading with tmux-ressurect. Before using the config, please download the plugin manager with: + ``` git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm ``` Then to use the config file, add to `~/.tmux.conf`: + ``` source {repo_dir}/tmux.conf ``` @@ -29,6 +34,7 @@ source {repo_dir}/tmux.conf ### Bash/Zsh Configuration Add to `~/.bashrc` or `~/.zshrc`: + ```bash source {repo_dir}/bashrc # or zshrc export PATH="{repo_dir}/sh:$PATH" @@ -37,61 +43,133 @@ export PATH="{repo_dir}/sh:$PATH" ### Vim Configuration Add to `~/.vimrc`: + ``` source {repo_dir}/vimrc ``` ### i3 Configuration -Add to `~/.i3/config`: +```bash +ln -s {repo_dir}/i3/i3config ~/.config/i3/config +ln -s {repo_dir}/i3/i3blocks.conf ~/.config/i3blocks/config +ln -s {repo_dir}/i3/i3status.conf ~/.config/i3status/config ``` -include {repo_dir}/i3config + +### Hyprland Configuration + +```bash +ln -s {repo_dir}/hyprland/hyprland.conf ~/.config/hypr/hyprland.conf +ln -s {repo_dir}/waybar/waybar_hyprland_config.json ~/.config/waybar/config +``` + +### Sway Configuration + +```bash +ln -s {repo_dir}/sway/swayconfig ~/.config/sway/config +ln -s {repo_dir}/waybar/waybar_sway_config.json ~/.config/waybar/config +``` + +### Wofi Configuration + +```bash +ln -s {repo_dir}/wofi/wofi_style.css ~/.config/wofi/style.css ``` ## Keybindings ### tmux Keybindings -| Keybinding | Description | -|------------|-------------| -| M-f | Prefix key (similar to $mod in i3) | -| Prefix + Space | Send prefix | -| Prefix + Ctrl + s | Save session | -| Prefix + Ctrl + r | Restore session | -| Prefix + ? | List keys | -| Prefix + [ | Enter copy mode | -| Prefix + ] | Paste buffer | -| Prefix + r | Refresh client | -| Prefix + R | Reload tmux configuration | -| Prefix + g | Split window horizontally | -| Prefix + v | Split window vertically | -| Prefix + h/j/k/l | Select pane (left/down/up/right) | -| Prefix + H/J/K/L | Resize pane (left/down/up/right) | -| Prefix + w | Choose window | -| Prefix + 1-0 | Select window 1-10 | -| M-1 to M-0 | Create new window 1-10 | -| Prefix + !-) | Move current pane to window 1-10 | -| Prefix + q | Kill selected pane | +| Keybinding | Description | +| ----------------------------------------------------------------------- | --------------------------------------------- | +| M-f | Prefix key (similar to $mod in i3) | +| Prefix + Space | Send prefix | +| Prefix + Ctrl + s | Save session | +| Prefix + Ctrl + r | Restore session | +| Prefix + ? | List keys | +| Prefix + [ | Enter copy mode | +| Prefix + ] | Paste buffer | +| Prefix + r | Refresh client | +| Prefix + R | Reload tmux configuration | +| Prefix + g | Split window horizontally | +| Prefix + v | Split window vertically | +| Prefix + h/j/k/l | Select pane (left/down/up/right) | +| Prefix + H/J/K/L | Resize pane (left/down/up/right) | +| Prefix + w | Choose window | +| Prefix + 1-0 | Select window 1-10 | +| M-1 to M-0 | Create new window 1-10 | +| Prefix + !-) | Move current pane to window 1-10 | +| Prefix + q | Kill selected pane | + +### Hyprland Keybindings + +| Keybinding | Description | +| ------------------------------------------------------------------------------------------- | ---------------------------------------- | +| $mod + Return | Start terminal (kitty) | +| $mod + Shift + q | Kill focused window | +| $mod + d | Launch wofi | +| $mod + Ctrl + m | Launch PulseAudio control | +| $mod + F2 | Launch Waterfox browser | +| $mod + F3 | Launch file manager (ranger) | +| $mod + Shift + F3 | Launch PCManFM | +| $mod + F5 | Launch mocp music player | +| $mod + Shift + d | Restart dunst | +| Print | Screenshot (flameshot gui) | +| $mod + Print | Screenshot region to clipboard | +| $mod + Shift + Print | Screenshot region to file | +| $mod + Ctrl + x | Kill window (hyprctl kill) | +| $mod + 9 | Lock screen (hyprlock) | +| $mod + m | Toggle waybar visibility | +| $mod + Shift + c | Reload Hyprland config | +| $mod + Shift + e | Exit Hyprland | +| $mod + 0 | Enter system submap (lock/suspend/etc.) | +| $mod + h/j/k/l | Move focus (left/down/up/right) | +| $mod + Shift + h/j/k/l | Move window (left/down/up/right) | +| $mod + f | Toggle fullscreen | +| $mod + g/v | Tile horizontally/vertically | +| $mod + e | Toggle split | +| $mod + Shift + Space | Toggle floating | +| $mod + Shift + s | Pin floating window | +| $mod + - | Toggle scratchpad | +| $mod + Shift + - | Move to scratchpad | +| $mod + b | Switch to previous workspace | +| $mod + Ctrl + / | Previous/next workspace | +| $mod + 1-8 | Switch to workspace 1-8 | +| $mod + Shift + 1-8 | Move window to workspace 1-8 | +| $mod + Ctrl + 1-8 | Move window to workspace silently | +| $mod + r | Enter resize submap (hjkl to resize) | + +#### System submap ($mod + 0) + +| Key | Action | +| --------------------------------- | --------- | +| l | Lock | +| s | Suspend | +| h | Hibernate | +| r | Reboot | +| Shift + s | Power off | +| e | Exit | +| Return/Esc | Cancel | ### i3 Keybindings -| Keybinding | Description | -|------------|-------------| -| $mod + Return | Start a terminal (Alacritty) | -| $mod + Shift + q | Kill focused window | -| $mod + d | Start program launcher (dmenu) | -| $mod + z | Launch categorized menu | -| $mod + Ctrl + m | Launch PulseAudio control | -| $mod + F2 | Launch Firefox browser | -| $mod + F3 | Launch PCManFM file manager | -| $mod + h/j/k/l | Change focus (left/down/up/right) | -| $mod + Shift + h/j/k/l | Move focused window | -| $mod + g/v | Split horizontally/vertically | -| $mod + f | Toggle fullscreen | -| $mod + 1-8 | Switch to workspace 1-8 | -| $mod + Shift + 1-8 | Move container to workspace 1-8 | -| $mod + Shift + c | Reload the configuration file | -| $mod + Shift + r | Restart i3 | +| Keybinding | Description | +| ---------------------------------------------------------------------------------------- | --------------------------------- | +| $mod + Return | Start a terminal (Alacritty) | +| $mod + Shift + q | Kill focused window | +| $mod + d | Start program launcher (dmenu) | +| $mod + z | Launch categorized menu | +| $mod + Ctrl + m | Launch PulseAudio control | +| $mod + F2 | Launch Firefox browser | +| $mod + F3 | Launch PCManFM file manager | +| $mod + h/j/k/l | Change focus (left/down/up/right) | +| $mod + Shift + h/j/k/l | Move focused window | +| $mod + g/v | Split horizontally/vertically | +| $mod + f | Toggle fullscreen | +| $mod + 1-8 | Switch to workspace 1-8 | +| $mod + Shift + 1-8 | Move container to workspace 1-8 | +| $mod + Shift + c | Reload the configuration file | +| $mod + Shift + r | Restart i3 | ## Additional Scripts diff --git a/hatsune-miku-windows-linux-cursors b/hatsune-miku-windows-linux-cursors new file mode 160000 index 0000000..471ff88 --- /dev/null +++ b/hatsune-miku-windows-linux-cursors @@ -0,0 +1 @@ +Subproject commit 471ff88156e9a3dc8542d23e8cae4e1c9de6e732 diff --git a/hyprland/hyprland.conf b/hyprland/hyprland.conf new file mode 100644 index 0000000..6aa1415 --- /dev/null +++ b/hyprland/hyprland.conf @@ -0,0 +1,345 @@ +# Hyprland config - converted from i3 config by Adam French +# https://wiki.hyprland.org/Configuring/ + +################ +### MONITORS ### +################ + +monitor=,preferred,auto,1 + + +################### +### MY PROGRAMS ### +################### + +$terminal = kitty +$fileManager = kitty -e ranger +$menu = wofi --show run + +################### +### CURSOR ### +################### + +env = XCURSOR_THEME,Bibata-Modern-Classic +env = XCURSOR_SIZE,32 + +################# +### AUTOSTART ### +################# + +exec-once = fcitx5 +exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 +exec-once = nm-applet +exec-once = clipit +exec-once = dunst +exec-once = hypridle # replaces xautolock; configure lock in hypridle.conf +exec-once = waterfox +exec-once = steam +exec-once = surfshark +exec-once = waybar +# exec-once = volctl # may need a Wayland-compatible tray volume tool +# exec-once = pamac-tray # check for Wayland support +# NOTE: ff-theme-util and fix_xcursor are X11-specific; drop or find Wayland equivalents +# Caps<->Escape swap is handled below via input config + + +############################# +### ENVIRONMENT VARIABLES ### +############################# + +env = XCURSOR_SIZE,24 +env = HYPRCURSOR_SIZE,24 + + +##################### +### LOOK AND FEEL ### +##################### + +general { + gaps_in = 5 # inner gaps (i3: gaps inner 10 → split between two sides) + gaps_out = 0 # outer gaps (i3: gaps outer 0) + border_size = 1 + + col.active_border = rgb(C792EA) + col.inactive_border = rgb(6272A4) + + resize_on_border = true + allow_tearing = false + layout = master # closest to i3's stacking default; use dwindle for split +} + +decoration { + rounding = 0 + + active_opacity = 1.0 + inactive_opacity = 1.0 + + shadow { + enabled = false + } + + blur { + enabled = true + size = 3 + passes = 1 + } +} + +animations { + enabled = true + + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + + animation = windows, 1, 7, myBezier + animation = windowsOut, 1, 7, default, popin 80% + animation = border, 1, 10, default + animation = borderangle, 1, 8, default + animation = fade, 1, 7, default + animation = workspaces, 1, 6, default +} + +master { + new_status = slave +} + +misc { + force_default_wallpaper = 0 + disable_hyprland_logo = true + focus_on_activate = true # replaces i3's "for_window [urgent=latest] focus" +} + + +############# +### INPUT ### +############# + +input { + kb_layout = gb + kb_options = caps:swapescape + follow_mouse = 1 + sensitivity = 0 +} + +################### +### KEYBINDINGS ### +################### + +$mod = SUPER + +# Terminal +bind = $mod, Return, exec, $terminal + +# Kill focused window +bind = $mod SHIFT, Q, killactive + +# Launcher (wofi replaces dmenu) +bind = $mod, D, exec, wofi --show run --style ~/scripts/wofi/wofi_style.css +# To approximate your dmenu colors, configure wofi's style.css + +# Pavucontrol +bind = $mod CTRL, M, exec, pavucontrol + +# Applications +bind = $mod, F2, exec, waterfox +bind = $mod, F3, exec, $fileManager +bind = $mod SHIFT, F3, exec, pcmanfm +bind = $mod, F5, exec, kitty -e mocp + +# Compositor toggle (picom → hyprland manages its own compositor; these are no-ops) +# bind = $mod, T, exec, pkill picom +# bind = $mod CTRL, T, exec, picom -b + +# Restart dunst +bind = $mod SHIFT, D, exec, killall dunst && notify-send 'restart dunst' + +# Screenshots (flameshot on Wayland needs -g flag or use grim/slurp instead) +bind = , Print, exec, flameshot gui +bind = $mod, Print, exec, grim -g "$(slurp)" - | wl-copy +bind = $mod SHIFT, Print, exec, grim -g "$(slurp)" ~/screenshot.png + +# Xkill equivalent +bind = $mod CTRL, X, exec, hyprctl kill + +# Lock screen +bind = $mod, 9, exec, hyprlock # replaces blurlock; configure hyprlock separately + +# Toggle bar visibility (waybar) +bind = $mod, M, exec, pkill -SIGUSR1 waybar + +# Reload Hyprland config +bind = $mod SHIFT, C, exec, hyprctl reload + +# Exit Hyprland +bind = $mod SHIFT, E, exec, hyprctl dispatch exit + +# System mode (replaces i3's $mode_system) +# Simple submap equivalent: +bind = $mod, 0, submap, system +submap = system +bind = , L, exec, hyprlock +bind = , L, submap, reset +bind = , S, exec, systemctl suspend +bind = , S, submap, reset +bind = , H, exec, systemctl hibernate +bind = , H, submap, reset +bind = , R, exec, systemctl reboot +bind = , R, submap, reset +bind = SHIFT, S, exec, systemctl poweroff +bind = SHIFT, S, submap, reset +bind = , E, exec, hyprctl dispatch exit +bind = , E, submap, reset +bind = , Return, submap, reset +bind = , Escape, submap, reset +submap = reset + +# --- FOCUS --- +bind = $mod, H, movefocus, l +bind = $mod, J, movefocus, d +bind = $mod, K, movefocus, u +bind = $mod, L, movefocus, r +bind = $mod, left, movefocus, l +bind = $mod, down, movefocus, d +bind = $mod, up, movefocus, u +bind = $mod, right, movefocus, r + +# --- MOVE WINDOWS --- +bind = $mod SHIFT, H, movewindow, l +bind = $mod SHIFT, J, movewindow, d +bind = $mod SHIFT, K, movewindow, u +bind = $mod SHIFT, L, movewindow, r +bind = $mod SHIFT, left, movewindow, l +bind = $mod SHIFT, down, movewindow, d +bind = $mod SHIFT, up, movewindow, u +bind = $mod SHIFT, right, movewindow, r + +# --- FLOATING --- +bind = $mod SHIFT, space, togglefloating +bind = $mod, space, focusurgentorlast # approximate focus mode_toggle + +# --- FULLSCREEN --- +bind = $mod, F, fullscreen, 0 + +# --- SPLIT / LAYOUT --- +# Hyprland uses dwindle preselect or master swaps; approximate below: +bind = $mod, G, layoutmsg, orientationleft # tile horizontally +bind = $mod, V, layoutmsg, orientationbottom # tile vertically +bind = $mod, E, layoutmsg, togglesplit + +# --- STICKY (pin floating window) --- +bind = $mod SHIFT, S, pin + +# --- SCRATCHPAD --- +bind = $mod SHIFT, minus, movetoworkspacesilent, special:scratchpad +bind = $mod, minus, togglespecialworkspace, scratchpad + +# --- WORKSPACE NAVIGATION --- +bind = $mod CTRL, right, workspace, +1 +bind = $mod CTRL, left, workspace, -1 +bind = $mod, B, workspace, previous # back_and_forth + +# Switch to workspace +bind = $mod, 1, workspace, 1 +bind = $mod, 2, workspace, 2 +bind = $mod, 3, workspace, 3 +bind = $mod, 4, workspace, 4 +bind = $mod, 5, workspace, 5 +bind = $mod, 6, workspace, 6 +bind = $mod, 7, workspace, 7 +bind = $mod, 8, workspace, 8 + +# Move container to workspace (silent = don't follow) +bind = $mod CTRL, 1, movetoworkspacesilent, 1 +bind = $mod CTRL, 2, movetoworkspacesilent, 2 +bind = $mod CTRL, 3, movetoworkspacesilent, 3 +bind = $mod CTRL, 4, movetoworkspacesilent, 4 +bind = $mod CTRL, 5, movetoworkspacesilent, 5 +bind = $mod CTRL, 6, movetoworkspacesilent, 6 +bind = $mod CTRL, 7, movetoworkspacesilent, 7 +bind = $mod CTRL, 8, movetoworkspacesilent, 8 + +# Move to workspace AND follow (replaces $mod+Shift+N in i3) +bind = $mod SHIFT, 1, movetoworkspace, 1 +bind = $mod SHIFT, 2, movetoworkspace, 2 +bind = $mod SHIFT, 3, movetoworkspace, 3 +bind = $mod SHIFT, 4, movetoworkspace, 4 +bind = $mod SHIFT, 5, movetoworkspace, 5 +bind = $mod SHIFT, 6, movetoworkspace, 6 +bind = $mod SHIFT, 7, movetoworkspace, 7 +bind = $mod SHIFT, 8, movetoworkspace, 8 + +# --- RESIZE SUBMAP --- +bind = $mod, R, submap, resize +submap = resize +binde = , H, resizeactive, -20 0 +binde = , J, resizeactive, 0 20 +binde = , K, resizeactive, 0 -20 +binde = , L, resizeactive, 20 0 +binde = , left, resizeactive, -30 0 +binde = , down, resizeactive, 0 30 +binde = , up, resizeactive, 0 -30 +binde = , right, resizeactive, 30 0 +bind = , Return, submap, reset +bind = , Escape, submap, reset +submap = reset + +# --- MOUSE BINDS --- +bindm = $mod, mouse:272, movewindow # mod+LMB drag to move floating +bindm = $mod, mouse:273, resizewindow # mod+RMB drag to resize + +# --- AUDIO --- +bindel = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +10% +bindel = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -10% +bindl = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle +bindl = , XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle + +# --- BRIGHTNESS --- +bindel = , XF86MonBrightnessUp, exec, brightnessctl set +5% +bindel = , XF86MonBrightnessDown, exec, brightnessctl set 5%- + + +############################## +### WORKSPACE NAMES / ICONS ## +############################## + +# Hyprland workspace names (replaces i3 set $ws variables) +# These are used by waybar's workspaces module — configure names there. +# ws1=ツ ws2=ಠ‿ಠ ws3=◕‿◕ ws4=ʘ‿ʘ +# ws5=˘◡˘ ws6=◠‿◠ ws7=ᵔᴥᵔ ws8=æ + + +############################## +### COLORS (reference only) ## +############################## + +# Your theme palette for use in waybar / wofi CSS: +# Background: #1A1B2F +# Accent 1: #C792EA (purple) +# Accent 2: #FF79C6 (pink) +# Accent 3: #82AAFF (blue) +# Inactive: #6272A4 +# Surface: #2A2B3D + + +##################################### +### NOTES ON MIGRATING FROM i3 ## +##################################### +# 1. BAR: Replace i3bar+i3status with waybar. Copy the color palette above +# into your waybar style.css. Workspace icon names go in waybar config. +# +# 2. LOCK: Replace blurlock with hyprlock. Configure in ~/.config/hypr/hyprlock.conf +# Replace xautolock with hypridle in ~/.config/hypr/hypridle.conf (30 min timeout). +# +# 3. LAUNCHER: wofi replaces dmenu. Style with ~/.config/wofi/style.css using +# your palette colors above. +# +# 4. SCREENSHOTS: grim + slurp replace i3-scrot on Wayland. flameshot also +# works with the -g flag on some setups. +# +# 5. STACKING layout: Set layout = master above (or dwindle). Hyprland has no +# direct stacking mode; use floating or master layout as closest equivalent. +# +# 6. GAP MODE: Replace the i3-gaps mode with direct hyprctl commands if needed: +# hyprctl keyword general:gaps_in 10 +# +# 7. BORDER TOGGLE ($mod+u/y/n): Use windowrulev2 or hyprctl at runtime: +# hyprctl keyword general:border_size 0 diff --git a/i3blocks.conf b/i3/i3blocks.conf similarity index 100% rename from i3blocks.conf rename to i3/i3blocks.conf diff --git a/i3config b/i3/i3config similarity index 100% rename from i3config rename to i3/i3config diff --git a/i3status.conf b/i3/i3status.conf similarity index 100% rename from i3status.conf rename to i3/i3status.conf diff --git a/packages.txt b/packages.txt index 9b7dc30..44fddd0 100644 --- a/packages.txt +++ b/packages.txt @@ -1,14 +1,32 @@ +ly + +wayland +xorg-xwayland +wl-clipboard +qt5-wayland +qt6-wayland +xdg-desktop-portal-hyprland + +sway +swaybg +swayidle +swaylock + +hyprland +hyprpaper +hypridle +hyprlock + +waybar +wofi + +grim +slurp + +mako brightnessctl -pactl -i3exit -i3blocks -i3-wm -i3status -xautolock lxappearance -dunst -nitrogen gimp bambustudio-bin @@ -32,7 +50,6 @@ yay alacritty kitty - pavucontrol pipewire pipewire-alsa @@ -57,9 +74,7 @@ unrar zip unzip - wine mono avahi - diff --git a/swayconfig b/sway/swayconfig similarity index 99% rename from swayconfig rename to sway/swayconfig index a35ca09..1450c4f 100644 --- a/swayconfig +++ b/sway/swayconfig @@ -312,8 +312,7 @@ for_window [class="Xfburn"] floating enable for_window [urgent=latest] focus # AESTETICS ---------------------------------------------------------------- - -exec_always waybar -c ~/scripts/waybar_config -s ~/scripts/waybar_style.css +exec_always waybar -c ~/scripts/waybar/waybar_config -s ~/scripts/waybar/waybar_style.css # Theme colors # class border backgr. text indic. child_border diff --git a/waybar/waybar_hyprland_config.json b/waybar/waybar_hyprland_config.json new file mode 100644 index 0000000..fbeb04e --- /dev/null +++ b/waybar/waybar_hyprland_config.json @@ -0,0 +1,106 @@ +{ + "layer": "bottom", + "position": "bottom", + "height": 30, + "spacing": 0, + + "modules-left": ["hyprland/workspaces", "hyprland/submap"], + "modules-right": [ + "custom/greetings", + "custom/history", + "custom/claudebar", + "pulseaudio", + "cpu", + "memory", + "disk", + "network", + "clock", + "tray" + ], + + "hyprland/workspaces": { + "disable-scroll": true, + "on-click": "activate", + "format": "{icon}", + "format-icons": { + "1": "ツ", + "2": "ಠ‿ಠ", + "3": "◕‿◕", + "4": "ʘ‿ʘ", + "5": "˘◡˘", + "6": "◠‿◠", + "7": "ᵔᴥᵔ", + "8": "æ" + } + }, + + "hyprland/submap": { + "format": " {} " + }, + + "custom/greetings": { + "exec": "echo $USER!", + "interval": "once", + "format": "{}", + "tooltip": false + }, + + "custom/history": { + "exec": "~/scripts/sh/waybar-history", + "format": "$ {}", + "tooltip": false + }, + + "custom/claudebar": { + "exec": "claudebar", + "return-type": "json", + "interval": 60, + "signal": 13, + "tooltip": true, + "on-click": "xdg-open https://claude.ai/settings/usage" + }, + + "pulseaudio": { + "format": "VOL: {volume}%", + "format-muted": "VOL: mute", + "on-click": "pavucontrol", + "tooltip": false + }, + + "cpu": { + "format": "CPU: {usage}%", + "interval": 1, + "tooltip": false + }, + + "memory": { + "format": "MEM: {used:0.1f}G/{total:0.1f}G", + "interval": 5, + "tooltip": false + }, + + "disk": { + "format": "DISK: {used}/{total}", + "interval": 30, + "path": "/", + "tooltip": false + }, + + "network": { + "format-wifi": "WIFI: {essid}", + "format-ethernet": "ETH: {ifname}", + "format-disconnected": "WIFI: --", + "interval": 10, + "tooltip": false + }, + + "clock": { + "format": "{:%Y-%m-%d %H:%M}", + "interval": 1, + "tooltip": false + }, + + "tray": { + "spacing": 10 + } +} diff --git a/waybar_config b/waybar/waybar_sway_config.json similarity index 100% rename from waybar_config rename to waybar/waybar_sway_config.json diff --git a/waybar_style.css b/waybar_style.css deleted file mode 100644 index 746e269..0000000 --- a/waybar_style.css +++ /dev/null @@ -1,112 +0,0 @@ -* { - font-family: "URWGothic-Book", monospace; - font-size: 16px; - min-height: 0; - border: none; - border-radius: 0; - padding: 0; - margin: 0; -} - -window#waybar { - background-color: #1A1B2F; - color: #C792EA; -} - -/* Workspaces */ -#workspaces button { - padding: 0 8px; - background-color: #2A2B3D; - color: #FFFFFF; - border-bottom: 2px solid transparent; -} - -#workspaces button:hover { - background-color: #2A2B3D; - border-bottom: 2px solid #C792EA; - box-shadow: none; -} - -#workspaces button.focused, -#workspaces button.active { - background-color: #1A1B2F; - color: #FFFFFF; - border-bottom: 2px solid #C792EA; -} - -#workspaces button.urgent { - background-color: #FF5370; - color: #FFFFFF; -} - -#mode { - background-color: #FF79C6; - color: #1A1B2F; - padding: 0 8px; - font-style: italic; -} - -/* Right-side modules */ -#custom-greetings, -#custom-history, -#custom-claudebar, -#pulseaudio, -#cpu, -#memory, -#disk, -#network, -#clock { - padding: 0 10px; - color: #C792EA; -} - -/* Pink separators between modules (matching i3bar separator color) */ -#custom-history, -#custom-claudebar, -#pulseaudio, -#cpu, -#memory, -#disk, -#network, -#clock { - border-left: 1px solid #FF79C6; -} - -#custom-greetings { - color: #f5af19; -} - -#clock { - color: #FF79C6; -} - -/* claudebar severity classes */ -#custom-claudebar.low { - color: #50FA7B; -} - -#custom-claudebar.mid { - color: #F1FA8C; -} - -#custom-claudebar.high { - color: #FFB86C; -} - -#custom-claudebar.critical { - color: #FF5370; -} - -#tray { - padding: 0 8px; - border-left: 1px solid #FF79C6; -} - -#tray>.passive { - -gtk-icon-effect: dim; -} - -#tray>.needs-attention { - -gtk-icon-effect: highlight; - background-color: #FF5370; -} diff --git a/wofi_style.css b/wofi/wofi_style.css similarity index 100% rename from wofi_style.css rename to wofi/wofi_style.css