My dotfiles for Arch Linux
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

Update Hyprland config

Adds the important parts of my previous Hyprland config.

+118 -45
dot_config/hypr/background.jpg

This is a binary file and will not be displayed.

+118 -45
dot_config/hypr/hyprland.conf
··· 1 - # This is an example Hyprland config file. 2 - # Refer to the wiki for more information. 3 - # https://wiki.hypr.land/Configuring/ 4 - 5 - # Please note not all available settings / options are set here. 6 - # For a full list, see the wiki 7 - 8 - # You can split this configuration into multiple files 9 - # Create your files separately and then link them to this file like this: 10 - # source = ~/.config/hypr/myColors.conf 11 - 1 + # Don't show update on first launch 2 + ecosystem { 3 + no_update_news = true 4 + } 12 5 13 6 ################ 14 7 ### MONITORS ### 15 8 ################ 16 9 17 10 # See https://wiki.hypr.land/Configuring/Monitors/ 18 - monitor=,preferred,auto,auto 11 + 12 + # Good compromise for 27" or 32" 4K monitors (but fractional!) 13 + env = GDK_SCALE,1.75 14 + monitor=,preferred,auto,1.666667 15 + 16 + # Framework 13 w/ 32" 4K monitor 17 + monitor= eDP-1, 2880x1920@120, auto, 2 18 + monitor=DP-2, 3840x2160@60, auto, 1.333333 19 19 20 20 21 21 ################### ··· 25 25 # See https://wiki.hypr.land/Configuring/Keywords/ 26 26 27 27 # Set programs that you use 28 - $terminal = kitty 29 - $fileManager = dolphin 28 + $terminal = uwsm app -- alacritty 29 + $browser = uwsm app -- zen-browser 30 + $fileManager = $terminal --class=Yazi -e yazi 30 31 $menu = wofi --show drun 31 32 32 33 ··· 37 38 # Autostart necessary processes (like notifications daemons, status bars, etc.) 38 39 # Or execute your favorite apps at launch like this: 39 40 40 - # exec-once = $terminal 41 - # exec-once = nm-applet & 42 - # exec-once = waybar & hyprpaper & firefox 41 + exec-once = uwsm app -- hypridle 42 + exec-once = uwsm app -- waybar 43 + exec-once = uwsm app -- fcitx5 44 + exec-once = uwsm app -- swaybg -i ~/.config/hypr/background.jpg -m fill 45 + exec-once = uwsm app -- swayosd-server 46 + exec-once = /usr/lib/polkit-kde-authentication-agent-1 & 47 + exec-once = wl-clip-persist --clipboard regular --all-mime-type-regex '^(?!x-kde-passwordManagerHint).+' 43 48 44 49 45 50 ############################# ··· 51 56 env = XCURSOR_SIZE,24 52 57 env = HYPRCURSOR_SIZE,24 53 58 59 + # Force all apps to use Wayland 60 + env = GDK_BACKEND,wayland,x11,* 61 + env = QT_QPA_PLATFORM,wayland;xcb 62 + env = QT_STYLE_OVERRIDE,kvantum 63 + env = SDL_VIDEODRIVER,wayland 64 + env = MOZ_ENABLE_WAYLAND,1 65 + env = ELECTRON_OZONE_PLATFORM_HINT,wayland 66 + env = OZONE_PLATFORM,wayland 67 + env = XDG_SESSION_TYPE,wayland 68 + 69 + # Allow better support for screen sharing (Google Meet, Discord, etc) 70 + env = XDG_CURRENT_DESKTOP,Hyprland 71 + env = XDG_SESSION_DESKTOP,Hyprland 72 + 73 + xwayland { 74 + force_zero_scaling = true 75 + } 76 + 77 + # Use XCompose file 78 + env = XCOMPOSEFILE,~/.XCompose 79 + 54 80 55 81 ################### 56 82 ### PERMISSIONS ### ··· 77 103 78 104 # https://wiki.hypr.land/Configuring/Variables/#general 79 105 general { 80 - gaps_in = 5 81 - gaps_out = 20 106 + gaps_in = 2 107 + gaps_out = 4 82 108 83 109 border_size = 2 84 110 ··· 97 123 98 124 # https://wiki.hypr.land/Configuring/Variables/#decoration 99 125 decoration { 100 - rounding = 10 101 - rounding_power = 2 102 - 103 - # Change transparency of focused and unfocused windows 104 - active_opacity = 1.0 105 - inactive_opacity = 1.0 126 + rounding = 4 106 127 107 128 shadow { 108 129 enabled = true 109 - range = 4 130 + range = 2 110 131 render_power = 3 111 132 color = rgba(1a1a1aee) 112 133 } ··· 143 164 animation = fadeIn, 1, 1.73, almostLinear 144 165 animation = fadeOut, 1, 1.46, almostLinear 145 166 animation = fade, 1, 3.03, quick 146 - animation = layers, 1, 3.81, easeOutQuint 147 - animation = layersIn, 1, 4, easeOutQuint, fade 148 - animation = layersOut, 1, 1.5, linear, fade 149 - animation = fadeLayersIn, 1, 1.79, almostLinear 150 - animation = fadeLayersOut, 1, 1.39, almostLinear 151 - animation = workspaces, 1, 1.94, almostLinear, fade 152 - animation = workspacesIn, 1, 1.21, almostLinear, fade 153 - animation = workspacesOut, 1, 1.94, almostLinear, fade 154 - animation = zoomFactor, 1, 7, quick 167 + animation = layers, 1, 3.81, easeOutQuint 168 + animation = layersIn, 1, 4, easeOutQuint, fade 169 + animation = layersOut, 1, 1.5, linear, fade 170 + animation = fadeLayersIn, 1, 1.79, almostLinear 171 + animation = fadeLayersOut, 1, 1.39, almostLinear 172 + animation = workspaces, 0, 0, ease 155 173 } 156 174 157 175 # Ref https://wiki.hypr.land/Configuring/Workspace-Rules/ ··· 168 186 dwindle { 169 187 pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below 170 188 preserve_split = true # You probably want this 189 + force_split = 2 # Always split on the right 171 190 } 172 191 173 192 # See https://wiki.hypr.land/Configuring/Master-Layout/ for more ··· 177 196 178 197 # https://wiki.hypr.land/Configuring/Variables/#misc 179 198 misc { 180 - force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers 181 - disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :( 199 + force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers 200 + disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :( 201 + disable_splash_rendering = true 202 + focus_on_activate = true 203 + } 204 + 205 + # https://wiki.hypr.land/Configuring/Variables/#cursor 206 + cursor { 207 + hide_on_key_press = true 182 208 } 183 209 184 210 ··· 188 214 189 215 # https://wiki.hypr.land/Configuring/Variables/#input 190 216 input { 191 - kb_layout = us 217 + kb_layout = us,de 192 218 kb_variant = 193 219 kb_model = 194 - kb_options = 220 + kb_options = grp:alts_toggle 195 221 kb_rules = 196 222 197 223 follow_mouse = 1 198 224 199 225 sensitivity = 0 # -1.0 - 1.0, 0 means no modification. 200 226 227 + numlock_by_default = true 228 + 201 229 touchpad { 202 - natural_scroll = false 230 + natural_scroll = true 231 + clickfinger_behavior = true 232 + scroll_factor = 0.4 203 233 } 204 234 } 205 235 ··· 222 252 $mainMod = SUPER # Sets "Windows" key as main modifier 223 253 224 254 # Example binds, see https://wiki.hypr.land/Configuring/Binds/ for more 225 - bind = $mainMod, Q, exec, $terminal 226 - bind = $mainMod, C, killactive, 227 - bind = $mainMod, M, exit, 228 - bind = $mainMod, E, exec, $fileManager 255 + bind = $mainMod, return, exec, $terminal 256 + bind = $mainMod, W, killactive, 257 + bind = $mainMod, F, exec, $fileManager 258 + bindd = $mainMod, B, exec, $browser 259 + bindd = $mainMod SHIFT, B, exec, $browser --incognito 260 + bindd = $mainMod, T, exec, $terminal -e btop 261 + bindd = $mainMod, D, exec, $terminal -e lazydocker 262 + bindd = $mainMod, N, exec, uwsm app -- obsidian -disable-gpu --enable-wayland-ime 229 263 bind = $mainMod, V, togglefloating, 230 - bind = $mainMod, R, exec, $menu 231 264 bind = $mainMod, P, pseudo, # dwindle 232 265 bind = $mainMod, J, togglesplit, # dwindle 266 + bind = $mainMod, SPACE, exec, $menu 267 + bindd = $mainMod, ESCAPE, Power menu, exec, wlogout 233 268 234 269 # Move focus with mainMod + arrow keys 235 270 bind = $mainMod, left, movefocus, l ··· 260 295 bind = $mainMod SHIFT, 8, movetoworkspace, 8 261 296 bind = $mainMod SHIFT, 9, movetoworkspace, 9 262 297 bind = $mainMod SHIFT, 0, movetoworkspace, 10 298 + 299 + # Swap active window with the one next to it with SUPER + SHIFT + arrow keys 300 + bindd = $mainMod SHIFT, left, swapwindow, l 301 + bindd = $mainMod SHIFT, right, swapwindow, r 302 + bindd = $mainMod SHIFT, up, swapwindow, u 303 + bindd = $mainMod SHIFT, down, swapwindow, d 263 304 264 305 # Example special workspace (scratchpad) 265 306 bind = $mainMod, S, togglespecialworkspace, magic ··· 302 343 303 344 # Fix some dragging issues with XWayland 304 345 windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 346 + 347 + # Just dash of opacity by default 348 + windowrule = opacity 0.97 0.9, class:.* 349 + 350 + # Scroll nicely in the terminal 351 + windowrule = scrolltouchpad 1.5, class:(Alacritty) 352 + 353 + # Only a subtle opacity change 354 + windowrule = opacity 1 0.97, class:(zen) 355 + 356 + # Some video sites should never have opacity applied to them 357 + windowrule = opacity 1.0 1.0, initialTitle:((?i)(?:[a-z0-9-]+\.)*youtube\.com_/|app\.zoom\.us_/wc/home) 358 + 359 + # Remove 1px border around hyprshot screenshots 360 + layerrule = noanim, selection 361 + 362 + # Remove 1px border around hyprshot screenshots 363 + layerrule = noanim, selection 364 + 365 + # Floating windows 366 + windowrule = float, tag:floating-window 367 + windowrule = center, tag:floating-window 368 + windowrule = size 800 600, tag:floating-window 369 + 370 + windowrule = tag +floating-window, class:(blueberry.py|Impala|Yazi|About) 371 + windowrule = tag +floating-window, class:(xdg-desktop-portal-gtk), title:^(Open.*Files?|Open [F|f]older.*|Save.*Files?|Save.*As|Save|All Files) 372 + 373 + # Fullscreen screensaver 374 + windowrule = fullscreen, class:Screensaver 375 + 376 + # No transparency on media windows 377 + windowrule = opacity 1 1, class:^(zoom|vlc|mpv|org.kde.kdenlive|com.obsproject.Studio)$