summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSaumit <justsaumit@protonmail.com>2025-01-01 14:38:28 +0530
committerSaumit <justsaumit@protonmail.com>2025-01-01 14:38:28 +0530
commit729722d569ddc5d391b72bea8c2dbfab7b75620d (patch)
tree365fa0365c954b03dccf0921c70c00b06306bd1c
parentf454bb172317ec663d781948afab4a89f74e72e3 (diff)
hypr: Base config additions + Reenabling Smart Gaps via workspace rulesHEADmain
-rw-r--r--.config/hypr/hyprland.conf210
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