diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2c2395d --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +CLAUDE.md +.claude +.claude/** diff --git a/README.md b/README.md deleted file mode 100644 index 694d06b..0000000 --- a/README.md +++ /dev/null @@ -1,142 +0,0 @@ -# 🐧 Arch Hyprland Configuration - -``` - _ _ _ _ _ _ _ ____ _ _ _____ ____ _______ ____ _____ - | | | | \ | | | | | / ___|| | | | ____| _ \| ____| _ \| ____| - | |_| | \| | | | | \___ \| |_| | _| | |_) | _| | |_) | _| - | _ | |\ | | | | ___) | _ | |___| _ <| |___| _ <| |___ - |_| |_|_| \_|_|_|_| |____/|_| |_|_____|_| \_\_____|_| \_\_____| -``` - -Welcome to my Arch Linux Hyprland configuration repository! This setup provides a modern, efficient, and highly customizable desktop environment using the Hyprland window manager. - -## 📁 Files Included - -- `hyprland.conf` - Main Hyprland configuration with keybindings, workspace settings, and window management -- `xdg-portal-hyprland` - XDG portal configuration for proper application integration -- `hong-kong-night.jpg` - Beautiful background image - -## 🚀 Features - -- **Modern Window Management**: Smooth tiling and floating window behavior -- **Custom Keybindings**: Intuitive shortcuts for productivity -- **Dynamic Workspaces**: Flexible workspace management -- **High Performance**: Optimized for speed and efficiency -- **Easy Customization**: Well-documented configuration for easy modification -- **Theme Integration**: Pywal color scheme support -- **Multimedia Support**: Audio and display controls -- **Hardware-Specific Features**: ASUS ROG laptop support - -## 🛠️ Setup Instructions - -1. Clone this repository to your home directory: - ```bash - git clone https://git.biohazardvfx.com/Nicholai/arch-hyprland.git ~/.config/hypr - ``` - -2. Symlink the configuration files to `~/.config/hypr/`: - ```bash - ln -sf ~/.config/hypr/* ~/.config/hypr/ - ``` - -3. Restart Hyprland to apply changes: - ```bash - hyprctl reload - ``` - -## ⚙️ Configuration Details - -### Display Setup -- Primary monitor: eDP-1 (laptop screen) -- External monitor: HDMI-A-1 (3840x2160@60Hz) -- Wallpaper management with pywal theme support - -### Autostart Applications -- XDG Portal integration -- D-Bus environment setup -- Polkit authentication agent -- Waybar status bar -- Blueman Bluetooth applet -- Clipboard history with cliphist -- Wal color scheme initialization - -### Input Configuration -- US keyboard layout -- Mouse following enabled -- Touchpad with natural scrolling -- Sensitivity control - -### Window Management -- **Layout**: Dwindle layout with pseudotiling enabled -- **Gaps**: 5px inner gaps, 10px outer gaps -- **Borders**: 1px active borders with Pywal colors -- **Opacity**: Active windows at 100%, inactive at 86% -- **Animations**: Smooth transitions with custom bezier curves -- **Decorations**: Rounded corners with blur effect - -### Keybindings Summary - -#### Basic Navigation -- `Super + Q` - Open terminal (kitty) -- `Super + E` - Open file browser (thunar) -- `Super + W` - Wallpaper menu -- `Super + R` - Reload Waybar -- `Super + L` - Lock screen -- `Super + M` - Logout menu (wlogout) -- `Super + SPACE` - Application launcher (wofi) - -#### Window Management -- `Super + V` - Toggle floating mode -- `Super + P` - Toggle pseudotiling -- `Super + J` - Toggle split layout -- `Super + S` - Take screenshot with grim/swappy -- `Super + Shift + X` - Close active window -- `Super + Shift + M` - Exit Hyprland - -#### Workspace Management -- `Super + [1-9]` - Switch to workspace -- `Super + [1-9]` - Move window to workspace -- `Super + Mouse Wheel` - Switch workspaces - -#### Multimedia Controls -- `FN + F1` - Mute speaker -- `FN + F2` - Keyboard brightness down -- `FN + F3` - Keyboard brightness up -- `FN + F7` - Screen brightness down -- `FN + F8` - Screen brightness up -- `FN + F12` - Microphone mute -- `FN + F4` - Keyboard RGB profile switch -- `FN + F11` - Volume down -- `FN + F10` - Volume up - -#### Application Shortcuts -- `Super + B` - Firefox browser -- `Super + T` - Virtual machine manager -- `Super + N` - Foundry Nuke -- `Super + G` - Minecraft launcher -- `Super + V` - Vesktop Discord client -- `Super + P` - Parsec streaming -- `Super + Y` - Start transcription with Nerd Dictation - -#### System Utilities -- `Super + Shift + H` - Clipboard history with wofi -- `Super + Shift + W` - Wallpaper synchronization script - -## 🎨 Customization - -This configuration is designed to be easily customizable while maintaining performance and stability. The setup includes: -- Pywal color scheme integration -- Hardware-specific keybindings for ASUS ROG laptops -- Custom animations and visual effects -- Extensive window rules for opacity control -- Theme-aware applications - -## 📝 Notes - -- This configuration assumes you're running Arch Linux with Hyprland -- Make sure to install required dependencies before using -- Contributions and suggestions are welcome! - ---- - -*Made with ❤️ and Hyprland* diff --git a/configs/colors.conf b/configs/colors.conf new file mode 100644 index 0000000..85e80a0 --- /dev/null +++ b/configs/colors.conf @@ -0,0 +1,2 @@ +source = ~/.cache/wal/colors-hyprland.conf + diff --git a/configs/input.conf b/configs/input.conf new file mode 100644 index 0000000..385bc8b --- /dev/null +++ b/configs/input.conf @@ -0,0 +1,22 @@ +env = HYPRCURSOR_THEME,Bibata-Modern-Ice +env = HYPRCURSOR_SIZE,24 +env = XCURSOR_THEME,Bibata-Modern-Ice +env = XCURSOR_SIZE,24 +env = WLR_NO_HARDWARE_CURSORS,1 + +input { + kb_layout = us + kb_variant = + kb_model = + kb_options = + kb_rules = + + follow_mouse = 1 + + touchpad { + natural_scroll = yes + } + + sensitivity = 0 # 0 0, 0 means no modification. +} + diff --git a/configs/keybinds.conf b/configs/keybinds.conf new file mode 100644 index 0000000..2e9007f --- /dev/null +++ b/configs/keybinds.conf @@ -0,0 +1,100 @@ +$mainMod = SUPER + +#Wallpaper Menu +bind = $mainMod, W, exec, ~/scripts/pywal/wallpapermenu.sh +#Resort Wallpapers and sync to nextcloud +bind = $mainMod SHIFT, U, exec, ~/scripts/wallpapersync.sh +#Cliphistory +bind = $mainMod SHIFT, H, exec, cliphist list | wofi --dmenu | cliphist decode | wl-copy +#ComfyUI +bind = $mainMod SHIFT, C, exec, ~/ComfyUI/start.sh +#calculator +bind = $mainMod, C, exec, qalculate-gtk +#Firefox +bind = $mainMod, B, exec, zen-browser +#3dequalizer startup script +bind = $mainMod, T, exec, ~/Software/3DE4_linux64_r5/bin/wrapper_startup_script_r5 +#Quixel Bridge +bind = $mainMod SHIFT, B, exec, ~/Software/start-bridge.sh +#NukeX +bind = $mainMod, N, exec, ~/Nuke15.2v6/Nuke15.2 --nukex >/dev/null 2>&1 & +bind = $mainMod, H, exec, ~/Nuke15.2v6/Nuke15.2 --hiero >/dev/null 2>&1 & +#Waybar theme +bind = $mainMod SHIFT, W, exec, ~/.config/waybar/scripts/switch-layout.sh +#Waybar Kill +bind = $mainMod SHIFT, R, exec, ~/.config/waybar/scripts/switch-style.sh +#Launch Minecraft +bind = $mainMod SHIFT, G, exec, prime-run minecraft-launcher +#Launch Discord +bind = $mainMod SHIFT, V, exec, Discord +#launch parsec +bind = $mainMod, P, exec, parsecd +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = $mainMod, Q, exec, kitty #open the terminal +bind = $mainMod SHIFT, Q, exec, ~/Software/start-claude-code.sh +bind = $mainMod SHIFT, X, killactive, # close the active window +bind = $mainMod, L, exec, swaylock # Lock the screen +bind = $mainMod, M, exec, wlogout --protocol layer-shell # show the logout window +bind = $mainMod SHIFT, M, exit, # Exit Hyprland all together no (force quit Hyprland) +bind = $mainMod, E, exec, thunar # Show the graphical file browser +bind = $mainMod, V, togglefloating, # Allow a window to float +bind = $mainMod, SPACE, exec, wofi --color +# ~/.cache/wal/colors.css # Show the graphicall app launcher +bind = $mainMod, P, pseudo, # dwindle +bind = $mainMod, J, togglesplit, # dwindle +bind = $mainMod, S, exec, grim -g "$(slurp)" - | swappy -f - # take a screenshot +# Screenshot keybindings +bind = , Print, exec, grim - | wl-copy # Full screen to clipboard +bind = SHIFT, Print, exec, grim -g "$(slurp)" - | wl-copy # Selection to clipboard +bind = CTRL, Print, exec, grim ~/Pictures/screenshot_$(date +%Y%m%d_%H%M%S).png # Full screen to file +bind = CTRL SHIFT, Print, exec, grim -g "$(slurp)" ~/Pictures/screenshot_$(date +%Y%m%d_%H%M%S).png # Selection to file + +bind = ,156, exec, rog-control-center # ASUS Armory crate key +bind = ,211, exec, asusctl profile -n; pkill -SIGRTMIN+8 waybar # Fan Profile key switch between power profiles +bind = ,121, exec, pamixer -t # Speaker Mute FN+F1 +bind = ,122, exec, pamixer -d 5 # Volume lower key +bind = ,123, exec, pamixer -i 5 # Volume Higher key +bind = ,256, exec, pamixer --default-source -t # Mic mute key +bind = ,232, exec, brightnessctl set 10%- # Screen brightness down FN+F7 +bind = ,233, exec, brightnessctl set 10%+ # Screen brightness up FN+F8 +bind = ,237, exec, brightnessctl -d asus::kbd_backlight set 33%- # Keyboard brightness down FN+F2 +bind = ,238, exec, brightnessctl -d asus::kbd_backlight set 33%+ # Keyboard brightnes up FN+F3 +bind = ,210, exec, asusctl led-mode -n # Switch keyboard RGB profile FN+F4 + +# Move focus with mainMod + arrow keys +bind = $mainMod, left, movefocus, l +bind = $mainMod, right, movefocus, r +bind = $mainMod, up, movefocus, u +bind = $mainMod, down, movefocus, d + +# Switch workspaces with mainMod + [0-9] +bind = $mainMod, 1, workspace, 1 +bind = $mainMod, 2, workspace, 2 +bind = $mainMod, 3, workspace, 3 +bind = $mainMod, 4, workspace, 4 +bind = $mainMod, 5, workspace, 5 +bind = $mainMod, 6, workspace, 6 +bind = $mainMod, 7, workspace, 7 +bind = $mainMod, 8, workspace, 8 +bind = $mainMod, 9, workspace, 9 +bind = $mainMod, 0, workspace, 10 + +# Move active window to a workspace with mainMod + SHIFT + [0-9] +bind = $mainMod SHIFT, 1, movetoworkspace, 1 +bind = $mainMod SHIFT, 2, movetoworkspace, 2 +bind = $mainMod SHIFT, 3, movetoworkspace, 3 +bind = $mainMod SHIFT, 4, movetoworkspace, 4 +bind = $mainMod SHIFT, 5, movetoworkspace, 5 +bind = $mainMod SHIFT, 6, movetoworkspace, 6 +bind = $mainMod SHIFT, 7, movetoworkspace, 7 +bind = $mainMod SHIFT, 8, movetoworkspace, 8 +bind = $mainMod SHIFT, 9, movetoworkspace, 9 +bind = $mainMod SHIFT, 0, movetoworkspace, 10 + +# Scroll through existing workspaces with mainMod + scroll +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow diff --git a/configs/settings.conf b/configs/settings.conf new file mode 100644 index 0000000..59d9a7b --- /dev/null +++ b/configs/settings.conf @@ -0,0 +1,25 @@ +monitor=eDP-1,preferred,auto,1.5 +monitor=DP-3,3840x2160@60.00,0x0,1.25 + +exec-once = swww init +exec-once = dunst +exec-once = ~/.config/hypr/xdg-portal-hyprland +exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP +exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP XDG_SESSION_TYPE +exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=Hyprland XDG_SESSION_TYPE=wayland +exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 +exec-once = waybar +exec-once = blueman-applet +exec-once = wl-paste --type text --watch cliphist store +exec-once = wl-paste --type image --watch cliphist store +exec-once = wal -R + +misc { + disable_hyprland_logo = yes + mouse_move_enables_dpms = true +} + +plugin { + unredir_focused = false +} + diff --git a/Animations.md b/docs/Animations.md similarity index 100% rename from Animations.md rename to docs/Animations.md diff --git a/hong-kong-night.jpg b/hong-kong-night.jpg deleted file mode 100644 index 7632c48..0000000 Binary files a/hong-kong-night.jpg and /dev/null differ diff --git a/hyprland.conf b/hyprland.conf index 587f9d7..9e80f44 100644 --- a/hyprland.conf +++ b/hyprland.conf @@ -1,340 +1,12 @@ -#NICHOLAIS CUSTOM HYPRLAND CONFIG +$configs = $HOME/.config/hypr/configs/ +$userconfig = $HOME/.config/hypr/userconfig/ -#------------------------------------------------------------------ -# Monitor Setup -#------------------------------------------------------------------ +source=$configs/settings.conf +source=$configs/input.conf +source=$configs/colors.conf +source=$configs/keybinds.conf +source=$userconfig/windowrules.conf +source=$userconfig/animations.conf +source=$userconfig/windows.conf +source=$userconfig/layouts.conf -#monitor=,preferred,auto,1 -monitor=eDP-1,preferred,auto,1.5 -monitor=HDMI-A-1,3840x2160@60.00,0x0,1.5 - -#------------------------------------------------------------------ -# AUTOSTART -#------------------------------------------------------------------ - -#based on the tutorial from My Linux For Work: -exec-once = swww init -exec-once = dunst -#exec-once = the updatewal-swww.sh file would go here -#exec-once = the gtk.sh file would go here - -exec-once = ~/.config/hypr/xdg-portal-hyprland -exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP -exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP -exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 -exec-once = waybar -exec-once = blueman-applet -exec-once = wl-paste --type text --watch cliphist store -exec-once = wl-paste --type image --watch cliphist store - - -#------------------------------------------------------------------ -# Cursor Settings -#------------------------------------------------------------------ - -env = HYPRCURSOR_THEME,Bibata-Modern-Ice -env = HYPRCURSOR_SIZE,24 -env = XCURSOR_THEME,Bibata-Modern-Ice -env = XCURSOR_SIZE,24 -env = WLR_NO_HARDWARE_CURSORS,1 - -# exec = swaybg -m fill -i ~/Pictures/GreenPond.jpg -exec-once = wal -R - -#------------------------------------------------------------------ -# Load Pywal color file -#------------------------------------------------------------------ -# Default Source: -# source = ~/.config/hypr/myColors.conf # Commented out - file not found -# source = ~/.cache/wal/colors-hyprland.conf # Commented out - file not found -source = ~/.cache/wal/colors-hyprland.conf - -# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ -input { - kb_layout = us - kb_variant = - kb_model = - kb_options = - kb_rules = - - follow_mouse = 1 - - touchpad { - natural_scroll = yes - } - - sensitivity = 0 # 0 0, 0 means no modification. -} - -#------------------------------------------------------------------ -# GENERAL WINDOW LAYOUT AND COLORS -#------------------------------------------------------------------ - -general { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - - gaps_in = 5 - gaps_out = 10 - border_size = 1 - #col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg - col.active_border=rgba(cdd6f4ee) - col.inactive_border = rgba(45475aee) - layout = dwindle -} - - -#------------------------------------------------------------------ -# MISC SETTINGS -#------------------------------------------------------------------ - -misc { - disable_hyprland_logo = yes -} - - -#------------------------------------------------------------------ -# GENERAL WINDOW DECORATION -#------------------------------------------------------------------ - -decoration { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - - rounding = 20 - - blur { - enabled = true - size = 7 - passes = 3 - } - active_opacity = 1.0 - inactive_opacity = .95 - fullscreen_opacity = 1.0 - -# drop_shadow = yes -# shadow_range = 4 -# shadow_render_power = 3 -# col.shadow = rgba(1a1a1aee) -} - -layerrule = blur, wofi -layerrule = ignorealpha 0.05, wofi -layerrule = blur, wlogout -layerrule = ignorealpha 0.05, wlogout - -#------------------------------------------------------------------ -# ANIMATIONS -#------------------------------------------------------------------ - -# animations { -# enabled = yes - -# # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more - -# bezier = myBezier, 0.05, 0.9, 0.1, 1.05 - -# animation = windows, 1, 1, myBezier -# animation = windowsOut, 1, 1, default, popin 80% -# animation = border, 1, 1, default -# animation = fade, 1, 1, default -# animation = workspaces, 1, 1, default -#} - -# Smooth and natural feeling -bezier = smooth, 0.25, 0.1, 0.25, 1.0 -# Slight bounce for windows -bezier = bounce, 0.34, 1.56, 0.64, 1 -# Quick and snappy -bezier = snappy, 0.4, 0.0, 0.2, 1.0 -# Gentle easing for fades -bezier = gentle, 0.25, 0.46, 0.45, 0.94 -# Your current curve (refined) -bezier = myBezier, 0.05, 0.9, 0.1, 1.02 - -animations { - enabled = yes - - # Window animations - bouncy feel for opening/closing - animation = windows, 1, 1, snappy, slide - animation = windowsIn, 1, 1, myBezier, slide - animation = windowsOut, 1, 1, snappy, popin 85% - animation = windowsMove, 1, 1, smooth - - # Layer animations (notifications, bars, menus) - animation = layers, 1, 2, smooth, slide - animation = layersIn, 1, 2, smooth, slide - animation = layersOut, 1, 2, snappy, slide - - # Fade effects - smooth transitions - #animation = fade, 1, 1, snappy - #animation = fadeIn, 1, 1, snappy - #animation = fadeOut, 1, 1, snappy - #animation = fadeSwitch, 1, 1, snappy - #animation = fadeShadow, 1, 1, snappy - #animation = fadeDim, 1, 1, snappy - #animation = fadeLayers, 1, 1, snappy - #animation = fadeLayersIn, 1, 1, snappy - #animation = fadeLayersOut, 1, 1, snappy - - # Border animations - animation = border, 1, 2, smooth - animation = borderangle, 1, 2, smooth - - # Workspace animations - slidefade for smooth transitions - animation = workspaces, 1, 1, smooth, slidefade 15% - animation = workspacesIn, 1, 1, smooth, slidefade 15% - animation = workspacesOut, 1, 1, snappy, slidefade 15% - animation = specialWorkspace, 1, 1, bounce, slidevert - animation = specialWorkspaceIn, 1, 1, bounce, slidevert - animation = specialWorkspaceOut, 1, 1, snappy, slidevert -} - - -#------------------------------------------------------------------ -# LAYOUTS -#------------------------------------------------------------------ - -dwindle { - # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more - pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below - preserve_split = yes # you probably want this -} - -master { - # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more -# new_is_master = true -} - -#gestures { - # See https://wiki.hyprland.org/Configuring/Variables/ for more -# workspace_swipe = off -#} - -# Example per-device config -# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more -# device:epic mouse V1 { -# sensitivity = -0.5 -#} - -# Example windowrule v1 -# windowrule = float, ^(kitty)$ -# Example windowrule v2 -# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ -# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more -# rules below would make the specific app transparent -windowrulev2 = opacity 0.8 0.8,class:^(kitty)$ -windowrulev2 = opacity 0.9 0.9,class:^(thunar)$ -# windowrulev2 = opacity 0.8 0.8,class:^(chromium)$ -# windowrulev2 = opacity 0.85 0.85,class:^(code-oss)$ -windowrulev2 = opacity 0.8 0.8,class:^(marktext)$ -windowrulev2 = opacity 0.8 0.8,class:^(nextcloud)$ -windowrulev2 = opacity 0.8 0.8,class:^(nsxiv)$ -windowrulev2 = opacity 0.9 0.9,class:^(vesktop)$ -windowrulev2 = opacity 0.8 0.8,class:^(wofi)$ -# See https://wiki.hyprland.org/Configuring/Keywords/ for more -$mainMod = SUPER - -#----------------------------------------------------------------- -#__ ___ _ _ ____ _ ____ _____ ____ ____ -#\ \ / / \ | | | | | _ \ / \ | _ \| ____| _ \/ ___| -# \ \ /\ / / _ \ | | | | | |_) / _ \ | |_) | _| | |_) \___ \ -# \ V V / ___ \| |___| |___| __/ ___ \| __/| |___| _ < ___) | -# \_/\_/_/ \_\_____|_____|_| /_/ \_\_| |_____|_| \_\____/ -# - -#Wallpaper Menu -bind = $mainMod, W, exec, ~/scripts/pywal/wallpapermenu.sh -#Resort Wallpapers and sync to nextcloud -bind = $mainMod SHIFT, W, exec, ~/scripts/wallpapersync.sh - -#----------------------------------------------------------------- -# ____ _____ _____ -#/ ___|_ _|_ _| -#\___ \ | | | | -# ___) || | | | -#|____/ |_| |_| alsa_input.pci-0000_00_1f.3.analog-stereo - -#Start Transcription -bind = $mainMod, Y, exec, nerd-dictation begin --input PW-CAT --pulse-device-name alsa_input.pci-0000_00_1f.3.analog-stereo --vosk-model-dir ~/.config/nerd-dictation/model --sample-rate 48000 --simulate-input-tool WTYPE --output SIMULATE_INPUT --full-sentence --numbers-as-digits --numbers-use-separator --idle-time 0.05 --timeout 4 --delay-exit 0.7 - -#Cliphistory -bind = $mainMod SHIFT, H, exec, cliphist list | wofi --dmenu | cliphist decode | wl-copy -#Firefox -bind = $mainMod, B, exec, firefox -#open virtual machines -bind = $mainMod, T, exec, virt-manager -#NukeX -bind = $mainMod, N, exec, ~/foundry-nuke/Nuke15.2v4/Nuke15.2 --nukex >/dev/null 2>&1 & -#Waybar Start -# bind = $mainMod SHIFT, W, exec, waybar -#Waybar Kill -bind = $mainMod SHIFT, R, exec, killall -SIGUSR2 waybar -#Launch Minecraft -bind = $mainMod SHIFT, G, exec, prime-run minecraft-launcher -#Launch Discord -bind = $mainMod SHIFT, V, exec, vesktop -#launch parsec -bind = $mainMod, P, exec, parsecd -# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more -bind = $mainMod, Q, exec, kitty #open the terminal -bind = $mainMod SHIFT, X, killactive, # close the active window -bind = $mainMod, L, exec, swaylock # Lock the screen -bind = $mainMod, M, exec, wlogout --protocol layer-shell # show the logout window -bind = $mainMod SHIFT, M, exit, # Exit Hyprland all together no (force quit Hyprland) -bind = $mainMod, E, exec, thunar # Show the graphical file browser -bind = $mainMod, V, togglefloating, # Allow a window to float -bind = $mainMod, SPACE, exec, wofi --color -# ~/.cache/wal/colors.css # Show the graphicall app launcher -bind = $mainMod, P, pseudo, # dwindle -bind = $mainMod, J, togglesplit, # dwindle -bind = $mainMod, S, exec, grim -g "$(slurp)" - | swappy -f - # take a screenshot - -# ROG G15 Strix (2021) Specific binds -bind = ,156, exec, rog-control-center # ASUS Armory crate key -bind = ,211, exec, asusctl profile -n; pkill -SIGRTMIN+8 waybar # Fan Profile key switch between power profiles -bind = ,121, exec, pamixer -t # Speaker Mute FN+F1 -bind = ,122, exec, pamixer -d 5 # Volume lower key -bind = ,123, exec, pamixer -i 5 # Volume Higher key -bind = ,256, exec, pamixer --default-source -t # Mic mute key -bind = ,232, exec, brightnessctl set 10%- # Screen brightness down FN+F7 -bind = ,233, exec, brightnessctl set 10%+ # Screen brightness up FN+F8 -bind = ,237, exec, brightnessctl -d asus::kbd_backlight set 33%- # Keyboard brightness down FN+F2 -bind = ,238, exec, brightnessctl -d asus::kbd_backlight set 33%+ # Keyboard brightnes up FN+F3 -bind = ,210, exec, asusctl led-mode -n # Switch keyboard RGB profile FN+F4 - -# Move focus with mainMod + arrow keys -bind = $mainMod, left, movefocus, l -bind = $mainMod, right, movefocus, r -bind = $mainMod, up, movefocus, u -bind = $mainMod, down, movefocus, d - -# Switch workspaces with mainMod + [0-9] -bind = $mainMod, 1, workspace, 1 -bind = $mainMod, 2, workspace, 2 -bind = $mainMod, 3, workspace, 3 -bind = $mainMod, 4, workspace, 4 -bind = $mainMod, 5, workspace, 5 -bind = $mainMod, 6, workspace, 6 -bind = $mainMod, 7, workspace, 7 -bind = $mainMod, 8, workspace, 8 -bind = $mainMod, 9, workspace, 9 -bind = $mainMod, 0, workspace, 10 - -# Move active window to a workspace with mainMod + SHIFT + [0-9] -bind = $mainMod SHIFT, 1, movetoworkspace, 1 -bind = $mainMod SHIFT, 2, movetoworkspace, 2 -bind = $mainMod SHIFT, 3, movetoworkspace, 3 -bind = $mainMod SHIFT, 4, movetoworkspace, 4 -bind = $mainMod SHIFT, 5, movetoworkspace, 5 -bind = $mainMod SHIFT, 6, movetoworkspace, 6 -bind = $mainMod SHIFT, 7, movetoworkspace, 7 -bind = $mainMod SHIFT, 8, movetoworkspace, 8 -bind = $mainMod SHIFT, 9, movetoworkspace, 9 -bind = $mainMod SHIFT, 0, movetoworkspace, 10 - -# Scroll through existing workspaces with mainMod + scroll -bind = $mainMod, mouse_down, workspace, e+1 -bind = $mainMod, mouse_up, workspace, e-1 - -# Move/resize windows with mainMod + LMB/RMB and dragging -bindm = $mainMod, mouse:272, movewindow -bindm = $mainMod, mouse:273, resizewindow diff --git a/icons/backup/battery-charging.png.bak b/icons/backup/battery-charging.png.bak new file mode 100644 index 0000000..47bacb0 Binary files /dev/null and b/icons/backup/battery-charging.png.bak differ diff --git a/icons/backup/battery-full.png.bak b/icons/backup/battery-full.png.bak new file mode 100644 index 0000000..11555cb Binary files /dev/null and b/icons/backup/battery-full.png.bak differ diff --git a/icons/backup/battery-low.png.bak b/icons/backup/battery-low.png.bak new file mode 100644 index 0000000..5cc80e1 Binary files /dev/null and b/icons/backup/battery-low.png.bak differ diff --git a/icons/backup/battery-unplugged.png.bak b/icons/backup/battery-unplugged.png.bak new file mode 100644 index 0000000..7cd8cf9 Binary files /dev/null and b/icons/backup/battery-unplugged.png.bak differ diff --git a/icons/backup/brightness-100.png.bak b/icons/backup/brightness-100.png.bak new file mode 100644 index 0000000..e98b793 Binary files /dev/null and b/icons/backup/brightness-100.png.bak differ diff --git a/icons/backup/brightness-20.png.bak b/icons/backup/brightness-20.png.bak new file mode 100644 index 0000000..0edf2ba Binary files /dev/null and b/icons/backup/brightness-20.png.bak differ diff --git a/icons/backup/brightness-40.png.bak b/icons/backup/brightness-40.png.bak new file mode 100644 index 0000000..681583b Binary files /dev/null and b/icons/backup/brightness-40.png.bak differ diff --git a/icons/backup/brightness-60.png.bak b/icons/backup/brightness-60.png.bak new file mode 100644 index 0000000..a9ea001 Binary files /dev/null and b/icons/backup/brightness-60.png.bak differ diff --git a/icons/backup/brightness-80.png.bak b/icons/backup/brightness-80.png.bak new file mode 100644 index 0000000..8345d21 Binary files /dev/null and b/icons/backup/brightness-80.png.bak differ diff --git a/icons/backup/brightness-down.png.bak b/icons/backup/brightness-down.png.bak new file mode 100644 index 0000000..472ffff Binary files /dev/null and b/icons/backup/brightness-down.png.bak differ diff --git a/icons/backup/brightness-up.png.bak b/icons/backup/brightness-up.png.bak new file mode 100644 index 0000000..9139318 Binary files /dev/null and b/icons/backup/brightness-up.png.bak differ diff --git a/icons/backup/microphone-mute.png.bak b/icons/backup/microphone-mute.png.bak new file mode 100644 index 0000000..8c1ab7a Binary files /dev/null and b/icons/backup/microphone-mute.png.bak differ diff --git a/icons/backup/microphone.png.bak b/icons/backup/microphone.png.bak new file mode 100644 index 0000000..ab43784 Binary files /dev/null and b/icons/backup/microphone.png.bak differ diff --git a/icons/backup/music.png.bak b/icons/backup/music.png.bak new file mode 100644 index 0000000..fe02df3 Binary files /dev/null and b/icons/backup/music.png.bak differ diff --git a/icons/backup/network-connected.png.bak b/icons/backup/network-connected.png.bak new file mode 100644 index 0000000..ae989b3 Binary files /dev/null and b/icons/backup/network-connected.png.bak differ diff --git a/icons/backup/network.png.bak b/icons/backup/network.png.bak new file mode 100644 index 0000000..592409e Binary files /dev/null and b/icons/backup/network.png.bak differ diff --git a/icons/backup/recording.png.bak b/icons/backup/recording.png.bak new file mode 100644 index 0000000..f9c52ee Binary files /dev/null and b/icons/backup/recording.png.bak differ diff --git a/icons/backup/volume-down.png.bak b/icons/backup/volume-down.png.bak new file mode 100644 index 0000000..26ff46f Binary files /dev/null and b/icons/backup/volume-down.png.bak differ diff --git a/icons/backup/volume-mid.png.bak b/icons/backup/volume-mid.png.bak new file mode 100644 index 0000000..3159ed5 Binary files /dev/null and b/icons/backup/volume-mid.png.bak differ diff --git a/icons/backup/volume-mute.png.bak b/icons/backup/volume-mute.png.bak new file mode 100644 index 0000000..9d1a055 Binary files /dev/null and b/icons/backup/volume-mute.png.bak differ diff --git a/icons/backup/volume-up.png.bak b/icons/backup/volume-up.png.bak new file mode 100644 index 0000000..3159ed5 Binary files /dev/null and b/icons/backup/volume-up.png.bak differ diff --git a/icons/battery-charging.png b/icons/battery-charging.png new file mode 100644 index 0000000..a291117 Binary files /dev/null and b/icons/battery-charging.png differ diff --git a/icons/battery-full.png b/icons/battery-full.png new file mode 100644 index 0000000..1b9cb68 Binary files /dev/null and b/icons/battery-full.png differ diff --git a/icons/battery-low.png b/icons/battery-low.png new file mode 100644 index 0000000..fb0a741 Binary files /dev/null and b/icons/battery-low.png differ diff --git a/icons/battery-unplugged.png b/icons/battery-unplugged.png new file mode 100644 index 0000000..87dcff7 Binary files /dev/null and b/icons/battery-unplugged.png differ diff --git a/icons/brightness-100.png b/icons/brightness-100.png new file mode 100644 index 0000000..1bbad0f Binary files /dev/null and b/icons/brightness-100.png differ diff --git a/icons/brightness-20.png b/icons/brightness-20.png new file mode 100644 index 0000000..54c0fef Binary files /dev/null and b/icons/brightness-20.png differ diff --git a/icons/brightness-40.png b/icons/brightness-40.png new file mode 100644 index 0000000..b78abef Binary files /dev/null and b/icons/brightness-40.png differ diff --git a/icons/brightness-60.png b/icons/brightness-60.png new file mode 100644 index 0000000..b78abef Binary files /dev/null and b/icons/brightness-60.png differ diff --git a/icons/brightness-80.png b/icons/brightness-80.png new file mode 100644 index 0000000..1bbad0f Binary files /dev/null and b/icons/brightness-80.png differ diff --git a/icons/microphone-mute.png b/icons/microphone-mute.png new file mode 100644 index 0000000..4eb7292 Binary files /dev/null and b/icons/microphone-mute.png differ diff --git a/icons/microphone.png b/icons/microphone.png new file mode 100644 index 0000000..80af76c Binary files /dev/null and b/icons/microphone.png differ diff --git a/icons/music.png b/icons/music.png new file mode 100644 index 0000000..0efcdfa Binary files /dev/null and b/icons/music.png differ diff --git a/icons/network-disconnected.png b/icons/network-disconnected.png new file mode 100644 index 0000000..f57668e Binary files /dev/null and b/icons/network-disconnected.png differ diff --git a/icons/network.png b/icons/network.png new file mode 100644 index 0000000..d2fc065 Binary files /dev/null and b/icons/network.png differ diff --git a/icons/recording-off.png b/icons/recording-off.png new file mode 100644 index 0000000..b8d8d03 Binary files /dev/null and b/icons/recording-off.png differ diff --git a/icons/recording.png b/icons/recording.png new file mode 100644 index 0000000..7105f07 Binary files /dev/null and b/icons/recording.png differ diff --git a/icons/volume-down.png b/icons/volume-down.png new file mode 100644 index 0000000..363b48d Binary files /dev/null and b/icons/volume-down.png differ diff --git a/icons/volume-mid.png b/icons/volume-mid.png new file mode 100644 index 0000000..4912755 Binary files /dev/null and b/icons/volume-mid.png differ diff --git a/icons/volume-mute.png b/icons/volume-mute.png new file mode 100644 index 0000000..250af28 Binary files /dev/null and b/icons/volume-mute.png differ diff --git a/icons/volume-up.png b/icons/volume-up.png new file mode 100644 index 0000000..89fbc5f Binary files /dev/null and b/icons/volume-up.png differ diff --git a/userconfig/animations.conf b/userconfig/animations.conf new file mode 100644 index 0000000..c134716 --- /dev/null +++ b/userconfig/animations.conf @@ -0,0 +1,39 @@ +# Smooth and natural feeling +bezier = smooth, 0.25, 0.1, 0.25, 1.0 +# Slight bounce for windows +bezier = bounce, 0.34, 1.56, 0.64, 1 +# Quick and snappy +bezier = snappy, 0.4, 0.0, 0.2, 1.0 +# Gentle easing for fades +bezier = gentle, 0.25, 0.46, 0.45, 0.94 +# Your current curve (refined) +bezier = myBezier, 0.05, 0.9, 0.1, 1.02 + +animations { + enabled = yes + + # Window animations - bouncy feel for opening/closing + animation = windows, 1, 1, snappy, slide + animation = windowsIn, 1, 1, myBezier, slide + animation = windowsOut, 1, 1, snappy, popin 85% + animation = windowsMove, 1, 1, smooth + + # Layer animations (notifications, bars, menus) + animation = layers, 1, 2, smooth, slide + animation = layersIn, 1, 2, smooth, slide + animation = layersOut, 1, 2, snappy, slide + + # Border animations + animation = border, 1, 2, smooth + animation = borderangle, 1, 2, smooth + + # Workspace animations - slidefade for smooth transitions + animation = workspaces, 1, 1, smooth, slidefade 15% + animation = workspacesIn, 1, 1, smooth, slidefade 15% + animation = workspacesOut, 1, 1, snappy, slidefade 15% + animation = specialWorkspace, 1, 1, bounce, slidevert + animation = specialWorkspaceIn, 1, 1, bounce, slidevert + animation = specialWorkspaceOut, 1, 1, snappy, slidevert +} + + diff --git a/userconfig/layouts.conf b/userconfig/layouts.conf new file mode 100644 index 0000000..6ed7feb --- /dev/null +++ b/userconfig/layouts.conf @@ -0,0 +1,7 @@ +dwindle { + pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = yes # you probably want this +} + +master { +} diff --git a/userconfig/windowrules.conf b/userconfig/windowrules.conf new file mode 100644 index 0000000..4bcc0da --- /dev/null +++ b/userconfig/windowrules.conf @@ -0,0 +1,13 @@ +windowrulev2 = opacity 0.8 0.8,class:^(kitty)$ +windowrulev2 = opacity 0.9 0.9,class:^(thunar)$ +windowrulev2 = opacity 0.8 0.8,class:^(marktext)$ +windowrulev2 = opacity 0.8 0.8,class:^(nextcloud)$ +windowrulev2 = opacity 0.8 0.8,class:^(nsxiv)$ +windowrulev2 = opacity 0.9 0.9,class:^(vesktop)$ +windowrulev2 = opacity 0.8 0.8,class:^(wofi)$ +windowrulev2 = renderunfocused,class:^(NukeX)$ +windowrulev2 = float,class:^(kitty-claude)$ +windowrulev2 = size 1200 800,class:^(kitty-claude)$ +windowrulev2 = center,class:^(kitty-claude)$ +windowrulev2 = float,class:^(qalculate-gtk)$ +windowrulev2 = size 500 500,class:^(qalculate-gtk)$ diff --git a/userconfig/windows.conf b/userconfig/windows.conf new file mode 100644 index 0000000..2561ec8 --- /dev/null +++ b/userconfig/windows.conf @@ -0,0 +1,29 @@ +general { + + gaps_in = 5 + gaps_out = 20 + border_size = 0 + col.active_border=rgba(45475aee) + col.inactive_border = rgba(45475aee) + layout = dwindle +} + +decoration { + rounding = 20 + + blur { + enabled = true + size = 25 + passes = 3 + } + active_opacity = 1.0 + inactive_opacity = 1.0 + fullscreen_opacity = 1.0 +} + +layerrule = blur, wofi +layerrule = ignorealpha 0.05, wofi +layerrule = blur, wlogout +layerrule = ignorealpha 0.05, wlogout + +