diff options
author | Saumit <justsaumit@protonmail.com> | 2025-01-01 14:38:28 +0530 |
---|---|---|
committer | Saumit <justsaumit@protonmail.com> | 2025-01-01 14:38:28 +0530 |
commit | 729722d569ddc5d391b72bea8c2dbfab7b75620d (patch) | |
tree | 365fa0365c954b03dccf0921c70c00b06306bd1c | |
parent | f454bb172317ec663d781948afab4a89f74e72e3 (diff) |
-rw-r--r-- | .config/hypr/hyprland.conf | 210 |
1 files changed, 162 insertions, 48 deletions
diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index c2c5a66..9b32c43 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -1,10 +1,31 @@ +################ +### MONITORS ### +################ + # See https://wiki.hyprland.org/Configuring/Monitors/ monitor=eDP-1,1920x1080@144,0x0,1.00,transform,0 monitor=HDMI-A-1,1920x1080@144,0x0,1.00,transform,0,mirror,eDP-1 -# See https://wiki.hyprland.org/Configuring/Keywords/ for more -# Execute your favorite apps at launch +################### +### MY PROGRAMS ### +################### + +# See https://wiki.hyprland.org/Configuring/Keywords/ + +# Set programs that you use +#$terminal = kitty +#$fileManager = dolphin +#$menu = wofi --show drun + + +################# +### AUTOSTART ### +################# + +# Autostart necessary processes (like notifications daemons, status bars, etc.) +# Or execute your favorite apps at launch like this: + # exec-once = waybar & hyprpaper & firefox exec-once = waybar & dunst & wpaperd & suspend.sh & nextcloud & nm-applet & blueman-applet & notion-app #exec-once = dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY @@ -15,41 +36,42 @@ exec-once = xhost +SI:localuser:root # Source a file (multi-file configs) # source = ~/.config/hypr/myColors.conf -# Some default env vars. +############################# +### ENVIRONMENT VARIABLES ### +############################# + +# See https://wiki.hyprland.org/Configuring/Environment-variables/ + env = XCURSOR_SIZE,24 +env = HYPRCURSOR_SIZE,24 #env = LIBVA_DRIVER_NAME,nvidia env = XDG_SESSION_TYPE,wayland #env = GBM_BACKEND,nvidia-drm #env = __GLX_VENDOR_LIBRARY_NAME,nvidia env = WLR_NO_HARDWARE_CURSORS,1 -# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ -input { - kb_layout = us - kb_variant = - kb_model = - kb_options=caps:escape -# kb_options=ctrl:nocaps - kb_rules = +##################### +### LOOK AND FEEL ### +##################### - follow_mouse = 1 - - touchpad { - disable_while_typing = false - natural_scroll = true - tap-to-click=yes - } - - sensitivity = 0 # -1.0 - 1.0, 0 means no modification. -} +# Refer to https://wiki.hyprland.org/Configuring/Variables/ general { - # See https://wiki.hyprland.org/Configuring/Variables/ for more gaps_in = 5 gaps_out = 20 + border_size = 2 + + # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border = rgba(595959aa) + + # Set to true enable resizing windows by clicking and dragging on borders and gaps + resize_on_border = false + + # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on + allow_tearing = false + layout = master } @@ -57,58 +79,119 @@ master { # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more special_scale_factor=0.8 new_on_top=false -# no_gaps_when_only=true +# no_gaps_when_only=true // config removed add through Workspace rules orientation=left inherit_fullscreen=true } +# https://wiki.hyprland.org/Configuring/Variables/#decoration decoration { - # See https://wiki.hyprland.org/Configuring/Variables/ for more rounding = 3 #multisample_edges = true + + # Change transparency of focused and unfocused windows active_opacity=0.99 inactive_opacity=0.94 fullscreen_opacity=1.0 + shadow { + enabled = true + range = 4 + render_power = 3 + color = rgba(1a1a1aee) + } + + # https://wiki.hyprland.org/Configuring/Variables/#blur blur { enabled = true size = 4 passes = 1 + + vibrancy = 0.1696 } -# drop_shadow = true -# shadow_range = 4 -# shadow_render_power = 3 -# col.shadow = rgba(1a1a1aee) } animations { - enabled = true + #enabled = true + enabled = yes, please :) + + # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more - # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + + #bezier = easeOutQuint,0.23,1,0.32,1 + #bezier = easeInOutCubic,0.65,0.05,0.36,1 + #bezier = linear,0,0,1,1 + #bezier = almostLinear,0.5,0.5,0.75,1.0 + #bezier = quick,0.15,0,0.1,1 + 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 + #animation = global, 1, 10, default + #animation = border, 1, 5.39, easeOutQuint + #animation = windows, 1, 4.79, easeOutQuint + #animation = windowsIn, 1, 4.1, easeOutQuint, popin 87% + #animation = windowsOut, 1, 1.49, linear, popin 87% + #animation = fadeIn, 1, 1.73, almostLinear + #animation = fadeOut, 1, 1.46, almostLinear + #animation = fade, 1, 3.03, quick + #animation = layers, 1, 3.81, easeOutQuint + #animation = layersIn, 1, 4, easeOutQuint, fade + #animation = layersOut, 1, 1.5, linear, fade + #animation = fadeLayersIn, 1, 1.79, almostLinear + #animation = fadeLayersOut, 1, 1.39, almostLinear + #animation = workspaces, 1, 1.94, almostLinear, fade + #animation = workspacesIn, 1, 1.21, almostLinear, fade + #animation = workspacesOut, 1, 1.94, almostLinear, fade +} + + +# https://wiki.hyprland.org/Configuring/Variables/#misc +misc { +# enable_swallow = true +# swallow_regex = ^(foot)$ +# force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers +# disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :( } + +############# +### INPUT ### +############# + +# https://wiki.hyprland.org/Configuring/Variables/#input +input { + kb_layout = us + kb_variant = + kb_model = + kb_options=caps:escape + # kb_options=ctrl:nocaps + kb_rules = + + follow_mouse = 1 + + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. + + touchpad { + natural_scroll = true + disable_while_typing = false + tap-to-click=yes + } +} + +# https://wiki.hyprland.org/Configuring/Variables/#gestures gestures { - # See https://wiki.hyprland.org/Configuring/Variables/ for more workspace_swipe = on workspace_swipe_fingers = 3 workspace_swipe_distance = 500 workspace_swipe_invert = true workspace_swipe_min_speed_to_force = 40 } - -Misc { -# enable_swallow = true -# swallow_regex = ^(foot)$ -} - binds { workspace_back_and_forth = true allow_workspace_cycles = true @@ -118,22 +201,17 @@ binds { # Example per-device config # See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more -#device:epic-mouse-v1 { +#device { +# name = 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 -# Spotify does not follow window rules. This is because the client sets its class after the window has opened, thus making it “immune” to windowrules. -windowrulev2=workspace 9,class:^(Spotify)$ -windowrulev2=opacity 1.0 1.0,class:^(obsidian)$ -#windowrulev2=workspace 9,class:^(Spotify)$,title:^(Spotify)$ +################### +### KEYBINDINGS ### +################### -# See https://wiki.hyprland.org/Configuring/Keywords/ for more +# See https://wiki.hyprland.org/Configuring/Keywords/ $MOD = SUPER # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more @@ -305,3 +383,39 @@ bind=,escape,submap,reset submap=reset # keybinds further down will be global again... +# +# +############################## +### WINDOWS AND WORKSPACES ### +############################## + +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more +# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules + +# Example windowrule v1 +# windowrule = float, ^(kitty)$ + +# Example windowrule v2 +# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ + +# Ignore maximize requests from apps. You'll probably like this. +windowrulev2 = suppressevent maximize, class:.* +# Spotify does not follow window rules. This is because the client sets its class after the window has opened, thus making it “immune” to windowrules. +windowrulev2=workspace 9,class:^(Spotify)$ +windowrulev2=opacity 1.0 1.0,class:^(obsidian)$ +windowrule = pin,floating,move 1232 615,size 687 467,class:mpv +#windowrulev2=workspace 9,class:^(Spotify)$,title:^(Spotify)$ + +# "Smart gaps" / "No gaps when only" +workspace = w[t1], gapsout:0, gapsin:0 +workspace = w[tg1], gapsout:0, gapsin:0 +workspace = f[1], gapsout:0, gapsin:0 +windowrulev2 = bordersize 0, floating:0, onworkspace:w[t1] +windowrulev2 = rounding 0, floating:0, onworkspace:w[t1] +windowrulev2 = bordersize 0, floating:0, onworkspace:w[tg1] +windowrulev2 = rounding 0, floating:0, onworkspace:w[tg1] +windowrulev2 = bordersize 0, floating:0, onworkspace:f[1] +windowrulev2 = rounding 0, floating:0, onworkspace:f[1] + +# Fix some dragging issues with XWayland +windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 |