BlackKaiju21

My Hyprland Config

May 3rd, 2026
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 10.16 KB | None | 0 0
  1. source = colors.conf
  2. # This is an example Hyprland config file.
  3. # Refer to the wiki for more information.
  4. # https://wiki.hypr.land/Configuring/
  5.  
  6. # Please note not all available settings / options are set here.
  7. # For a full list, see the wiki
  8.  
  9. # You can split this configuration into multiple files
  10. # Create your files separately and then link them to this file like this:
  11. # source = ~/.config/hypr/myColors.conf
  12. debug:disable_logs=false
  13. debug:gl_debugging=true
  14.  
  15. ################
  16. ### MONITORS ###
  17. ################
  18.  
  19. #hl.monitor({output = "DP-2", mode = "[email protected]", position = "0x0", scale = 1, icc = "/home/elijah/Downloads/rtings-icc-profile.icm"})
  20. # See https://wiki.hypr.land/Configuring/Monitors/
  21. #monitor=DP-1,[email protected],auto,auto
  22. #monitor=DP-2,[email protected],auto,auto
  23. monitor=DP-1,1920x1080@60.00Hz,0x0,1
  24. monitor=DP-2,1920x1080@165.00Hz,1920x0,1
  25.  
  26.  
  27. ###################
  28. ### MY PROGRAMS ###
  29. ###################
  30.  
  31. # See https://wiki.hypr.land/Configuring/Keywords/
  32.  
  33. # Set programs that you use
  34. $terminal = kitty
  35. $fileManager = dolphin
  36. $menu = fuzzel
  37.  
  38.  
  39. #################
  40. ### AUTOSTART ###
  41. #################
  42.  
  43. # Autostart necessary processes (like notifications daemons, status bars, etc.)
  44. # Or execute your favorite apps at launch like this:
  45.  
  46. # exec-once = $terminal
  47. # exec-once = nm-applet &
  48. # exec-once = waybar & hyprpaper & firefox
  49. exec-once = udiskie -t -a
  50. exec-once = waybar
  51. # exec-once = swww-daemon & sleep 0.1 && swww img ~/Pictures/wallpapers/f1_senna_animation.gif
  52. exec-once = swww-daemon & sleep 0.1
  53. exec-once = wl-paste --type text --watch cliphist store # Stores only text data
  54. exec-once = wl-paste --type image --watch cliphist store # Stores only image data
  55. exec-once = hyprsunset
  56.  
  57. #############################
  58. ### ENVIRONMENT VARIABLES ###
  59. #############################
  60. # See https://wiki.hypr.land/Configuring/Environment-variables/
  61. #env = HYPRLAND_TRACE=1
  62. #env = AQ_TRACE=1
  63.  
  64. ###################
  65. ### PERMISSIONS ###
  66. ###################
  67.  
  68. # See https://wiki.hypr.land/Configuring/Permissions/
  69. # Please note permission changes here require a Hyprland restart and are not applied on-the-fly
  70. # for security reasons
  71.  
  72. # ecosystem {
  73. #   enforce_permissions = 1
  74. # }
  75.  
  76. # permission = /usr/(bin|local/bin)/grim, screencopy, allow
  77. # permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow
  78. # permission = /usr/(bin|local/bin)/hyprpm, plugin, allow
  79.  
  80.  
  81. #####################
  82. ### LOOK AND FEEL ###
  83. #####################
  84.  
  85. # Refer to https://wiki.hypr.land/Configuring/Variables/
  86.  
  87. # https://wiki.hypr.land/Configuring/Variables/#general
  88. general {
  89.     gaps_in = 3
  90.     gaps_out = 7
  91.  
  92.     border_size = 2
  93.  
  94.     # https://wiki.hypr.land/Configuring/Variables/#variable-types for info about colors
  95.     col.active_border = $primary $primary_container 45deg
  96.     col.inactive_border = $outline_variant
  97.  
  98.     # Set to true enable resizing windows by clicking and dragging on borders and gaps
  99.     resize_on_border = false
  100.  
  101.     # Please see https://wiki.hypr.land/Configuring/Tearing/ before you turn this on
  102.     allow_tearing = false
  103.  
  104.     layout = dwindle
  105. }
  106.  
  107. # https://wiki.hypr.land/Configuring/Variables/#decoration
  108. decoration {
  109.     rounding = 3
  110.     rounding_power = 2
  111.  
  112.     # Change transparency of focused and unfocused windows
  113.     active_opacity = 1.0
  114.     inactive_opacity = 1.0
  115.  
  116.     shadow {
  117.         enabled = true
  118.         range = 4
  119.         render_power = 3
  120.         color = rgba(1a1a1aee)
  121.     }
  122.  
  123.     # https://wiki.hypr.land/Configuring/Variables/#blur
  124.     blur {
  125.         enabled = true
  126.         size = 3
  127.         passes = 1
  128.  
  129.         vibrancy = 0.1696
  130.     }
  131. }
  132.  
  133. # https://wiki.hypr.land/Configuring/Variables/#animations
  134. animations {
  135.     enabled = yes, please :)
  136.  
  137.     # Default animations, see https://wiki.hypr.land/Configuring/Animations/ for more
  138.  
  139.     bezier = easeOutQuint,0.23,1,0.32,1
  140.     bezier = easeInOutCubic,0.65,0.05,0.36,1
  141.     bezier = linear,0,0,1,1
  142.     bezier = almostLinear,0.5,0.5,0.75,1.0
  143.     bezier = quick,0.15,0,0.1,1
  144.  
  145.     animation = global, 1, 10, default
  146.     animation = border, 1, 5.39, easeOutQuint
  147.     animation = windows, 1, 4.79, easeOutQuint
  148.     animation = windowsIn, 1, 4.1, easeOutQuint, popin 87%
  149.     animation = windowsOut, 1, 1.49, linear, popin 87%
  150.     animation = fadeIn, 1, 1.73, almostLinear
  151.     animation = fadeOut, 1, 1.46, almostLinear
  152.     animation = fade, 1, 3.03, quick
  153.     animation = layers, 1, 3.81, easeOutQuint
  154.     animation = layersIn, 1, 4, easeOutQuint, fade
  155.     animation = layersOut, 1, 1.5, linear, fade
  156.     animation = fadeLayersIn, 1, 1.79, almostLinear
  157.     animation = fadeLayersOut, 1, 1.39, almostLinear
  158.     animation = workspaces, 1, 1.94, almostLinear, fade
  159.     animation = workspacesIn, 1, 1.21, almostLinear, fade
  160.     animation = workspacesOut, 1, 1.94, almostLinear, fade
  161. }
  162.  
  163. # Ref https://wiki.hypr.land/Configuring/Workspace-Rules/
  164. # "Smart gaps" / "No gaps when only"
  165. # uncomment all if you wish to use that.
  166. # workspace = w[tv1], gapsout:0, gapsin:0
  167. # workspace = f[1], gapsout:0, gapsin:0
  168. # windowrule = bordersize 0, floating:0, onworkspace:w[tv1]
  169. # windowrule = rounding 0, floating:0, onworkspace:w[tv1]
  170. # windowrule = bordersize 0, floating:0, onworkspace:f[1]
  171. # windowrule = rounding 0, floating:0, onworkspace:f[1]
  172. # See https://wiki.hypr.land/Configuring/Dwindle-Layout/ for more
  173. dwindle {
  174.     pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
  175.     preserve_split = true # You probably want this
  176. }
  177.  
  178. # See https://wiki.hypr.land/Configuring/Master-Layout/ for more
  179. master {
  180.     new_status = master
  181. }
  182.  
  183. # https://wiki.hypr.land/Configuring/Variables/#misc
  184. misc {
  185.     force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers
  186.     disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
  187.     vrr = 2
  188. }
  189.  
  190.  
  191. #############
  192. ### INPUT ###
  193. #############
  194.  
  195. # https://wiki.hypr.land/Configuring/Variables/#input
  196. input {
  197.     kb_layout = us
  198.     kb_variant =
  199.     kb_model =
  200.     kb_options =
  201.     kb_rules =
  202.  
  203.     follow_mouse = 1
  204.     #force_no_accel = 1
  205.     accel_profile = flat
  206.     sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
  207.    
  208.     touchpad {
  209.         natural_scroll = false
  210.     }
  211.  
  212. }
  213.  
  214. cursor {
  215.     no_hardware_cursors = true
  216. }
  217.  
  218. # https://wiki.hypr.land/Configuring/Variables/#gestures
  219.  
  220. # Example per-device config
  221. # See https://wiki.hypr.land/Configuring/Keywords/#per-device-input-configs for more
  222. device {
  223.     name = huion-huion-tablet
  224.     output = DP-2
  225. }
  226. device {
  227.     name = huion-huion-tablet-1
  228.     output = DP-2
  229. }
  230.  
  231. ###################
  232. ### KEYBINDINGS ###
  233. ###################
  234.  
  235. # See https://wiki.hypr.land/Configuring/Keywords/
  236. $mainMod = SUPER # Sets "Windows" key as main modifier
  237.  
  238. ## MY CUSTOM BINDS ##
  239.  
  240. bind = $mainMod, F, fullscreen,
  241. bind = SUPER, SPACE, exec, cliphist list | fuzzel --dmenu | cliphist decode | wl-copy
  242. bind = $mainMod, PRINT, exec, grim -g "$(slurp)" - | swappy -f -
  243.  
  244. ## END ##
  245.  
  246. # Example binds, see https://wiki.hypr.land/Configuring/Binds/ for more
  247. bind = $mainMod, Q, exec, $terminal
  248. bind = $mainMod, C, killactive,
  249. bind = $mainMod, M, exit,
  250. bind = $mainMod, E, exec, $fileManager
  251. bind = $mainMod, V, togglefloating,
  252. bind = $mainMod, R, exec, $menu
  253. bind = $mainMod, P, pseudo, # dwindle
  254. bind = $mainMod, J, togglesplit, # dwindle
  255.  
  256. # Move focus with mainMod + arrow keys
  257. bind = $mainMod, left, movefocus, l
  258. bind = $mainMod, right, movefocus, r
  259. bind = $mainMod, up, movefocus, u
  260. bind = $mainMod, down, movefocus, d
  261.  
  262. # Switch workspaces with mainMod + [0-9]
  263. bind = $mainMod, 1, workspace, 1
  264. bind = $mainMod, 2, workspace, 2
  265. bind = $mainMod, 3, workspace, 3
  266. bind = $mainMod, 4, workspace, 4
  267. bind = $mainMod, 5, workspace, 5
  268. bind = $mainMod, 6, workspace, 6
  269. bind = $mainMod, 7, workspace, 7
  270. bind = $mainMod, 8, workspace, 8
  271. bind = $mainMod, 9, workspace, 9
  272. bind = $mainMod, 0, workspace, 10
  273.  
  274. # Move active window to a workspace with mainMod + SHIFT + [0-9]
  275. bind = $mainMod SHIFT, 1, movetoworkspace, 1
  276. bind = $mainMod SHIFT, 2, movetoworkspace, 2
  277. bind = $mainMod SHIFT, 3, movetoworkspace, 3
  278. bind = $mainMod SHIFT, 4, movetoworkspace, 4
  279. bind = $mainMod SHIFT, 5, movetoworkspace, 5
  280. bind = $mainMod SHIFT, 6, movetoworkspace, 6
  281. bind = $mainMod SHIFT, 7, movetoworkspace, 7
  282. bind = $mainMod SHIFT, 8, movetoworkspace, 8
  283. bind = $mainMod SHIFT, 9, movetoworkspace, 9
  284. bind = $mainMod SHIFT, 0, movetoworkspace, 10
  285.  
  286. # Example special workspace (scratchpad)
  287. bind = $mainMod, S, togglespecialworkspace, magic
  288. bind = $mainMod SHIFT, S, movetoworkspace, special:magic
  289.  
  290. # Scroll through existing workspaces with mainMod + scroll
  291. bind = $mainMod, mouse_down, workspace, e+1
  292. bind = $mainMod, mouse_up, workspace, e-1
  293.  
  294. # Move/resize windows with mainMod + LMB/RMB and dragging
  295. bindm = $mainMod, mouse:272, movewindow
  296. bindm = $mainMod, mouse:273, resizewindow
  297.  
  298. # Laptop multimedia keys for volume and LCD brightness
  299. bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
  300. bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
  301. bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
  302. bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
  303. bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
  304. bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-
  305.  
  306. # Requires playerctl
  307. bindl = , XF86AudioNext, exec, playerctl next
  308. bindl = , XF86AudioPause, exec, playerctl play-pause
  309. bindl = , XF86AudioPlay, exec, playerctl play-pause
  310. bindl = , XF86AudioPrev, exec, playerctl previous
  311.  
  312. ##############################
  313. ### WINDOWS AND WORKSPACES ###
  314. ##############################
  315. windowrule {
  316.     # Ignore maximize requests from all apps. You'll probably like this.
  317.     name = suppress-maximize-events
  318.     match:class = .*
  319.  
  320.     suppress_event = maximize
  321. }
  322.  
  323. windowrule {
  324.     # Fix some dragging issues with XWayland
  325.     name = fix-xwayland-drags
  326.     match:class = ^$
  327.     match:title = ^$
  328.     match:xwayland = true
  329.     match:float = true
  330.     match:fullscreen = false
  331.     match:pin = false
  332.  
  333.     no_focus = true
  334. }
  335.  
  336.  
Advertisement
Add Comment
Please, Sign In to add comment