# See https://wiki.hyprland.org/Configuring/Monitors/ monitor=eDP-1,1920x1080@60,0x0,1.00,transform,0 # See https://wiki.hyprland.org/Configuring/Keywords/ for more # Execute your favorite apps at launch # exec-once = waybar & hyprpaper & firefox exec-once = waybar & dunst & wpaperd & suspend.sh #exec-once = exec-once=dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY exec-once = systemctl --user import-environment DISPLAY WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # Source a file (multi-file configs) # source = ~/.config/hypr/myColors.conf # Some default env vars. env = XCURSOR_SIZE,24 # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ general { border_size = 2 gaps_in = 5 gaps_out = 20 col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border = rgba(595959aa) layout = master } master { special_scale_factor=0.8 new_is_master=false new_on_top=false no_gaps_when_only=true orientation=left inherit_fullscreen=true } decoration { rounding = 3 multisample_edges = true active_opacity=0.99 inactive_opacity=0.94 fullscreen_opacity=1.0 blur = true blur_size = 4 blur_passes = 1 blur_new_optimizations = on drop_shadow = true shadow_range = 4 shadow_render_power = 3 col.shadow = rgba(1a1a1aee) } 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, 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 } input { kb_layout = us kb_options=caps:escape # kb_options=ctrl:nocaps follow_mouse = 1 touchpad { disable_while_typing = no natural_scroll = no tap-to-click=yes } sensitivity = 0 # -1.0 - 1.0, 0 means no modification. } 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 # trigger when the switch is toggled bindl=,switch:Lid Switch,exec,swaylock } # Example per-device config # See https://wiki.hyprland.org/Configuring/Keywords/#executing for more # 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=workspace 9,class:^(Spotify)$,title:^(Spotify)$ # See https://wiki.hyprland.org/Configuring/Keywords/ for more $MOD = SUPER # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more ############### # Imp Utils # ############### #Terminal bind = $MOD SHIFT, Return, exec, foot -t meh bind = $MOD, W, killactive bind = $MOD CTRL SHIFT, Q, exit bind = $MOD, F, togglefloating bind = $MOD, Space, togglefloating bindr= $MOD, D, exec, pkill tofi || tofi-run | xargs hyprctl dispatch exec ################ # Applications # ################ ##(Perma Launch) # Launch Brave bind = $MOD, Q, exec, brave bind = $MOD CTRL, Q, exec, brave --incognito bind = $MOD ALT, Q, exec, brave --tor # Launch wa bind = $MOD SHIFT, W, exec, whatsapp-nativefier #Launch emacs bind = $MOD, E, exec, emacs # Launch ncloud bind = $MOD SHIFT, N, exec, qutebrowser https://ncloud.draconyan.xyz # Launch outlook bind = $MOD SHIFT, E, exec, qutebrowser https://outlook.office365.com/mail/inbox # Launch gmail bind = $MOD CTRL, E, exec, qutebrowser https://mail.google.com # Launch protonmail bind = $MOD ALT, E, exec, qutebrowser https://mail.proton.me/u/0/inbox # Launch teams bind = $MOD SHIFT, T, exec, qutebrowser https://teams.microsoft.com # Launch spotify bind = $MOD SHIFT, M, exec, sp # Launch discord bind = $MOD SHIFT, D, exec, discord # Launch telegram bind = $MOD CTRL, E, exec, telegram-desktop ##(Temp Launch) # Launch ranger bind = $MOD, R, exec, foot -e ranger # Launch pulsemixer bind = $MOD, P, exec, foot -e pulsemixer #Launch top bind = $MOD SHIFT, G, exec, kitty -e gotop bind = $MOD SHIFT, H, exec, foot -e htop bind = $MOD SHIFT, B, exec, foot -e btop ################### # Global Hot-keys # ################### ##screenlock bind = $MOD SHIFT, L, exec, swaylock #screenshot bind = ,Print, exec, IMG=pic-full-"$(date +%y-%m-%d--%H-%M-%S)".png && grim "$GRIM_DEFAULT_DIR/""$IMG" && wl-copy < "$GRIM_DEFAULT_DIR/""$IMG" bind = CTRL,Print, exec, IMG=pic-sel-"$(date +%y-%m-%d--%H-%M-%S)".png && grim -g "$(slurp)" "$GRIM_DEFAULT_DIR/""$IMG" && wl-copy < "$GRIM_DEFAULT_DIR/""$IMG" #otherkeyb bind = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle && [[ "$(wpctl get-volume @DEFAULT_AUDIO_SINK@ | grep MUTE)" ]] && dunstify "Mute" "Volume set to 0%" -i volume-xmark -t 1000 -r 1234 binde = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%+ && dunstify "Volume Changed" "Volume set to $(volumecurr)" -i volume-high -t 1500 -r 1235 binde = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%- && dunstify "Volume Changed" "Volume set to $(volumecurr)" -i volume-low -t 1500 -r 1236 binde = ,XF86MonBrightnessUp, exec, brillo -s intel_backlight -A 4 && dunstify -u normal -t 3000 -r 90210 -i brightness "$(printf %.0f%% $( brillo -G) )" binde = ,XF86MonBrightnessDown, exec, brillo -s intel_backlight -U 4 && dunstify -u normal -t 3000 -r 90210 -i brightness "$(printf %.0f%% $( brillo -G) )" #Launch rofi calc mode bind = $MOD, F2 , exec, rofi -show calc -modi calc -no-show-match -no-sort #master-stack layout bind = $MOD, Return,layoutmsg, swapwithmaster #fullscreen layout toggle bind= $MOD, U, fullscreen # Move focus with MOD + arrow keys #bind = $MOD, h, movefocus, l #bind = $MOD, l, movefocus, r #bind = $MOD, k, movefocus, u #bind = $MOD, j, movefocus, d bind = $MOD, k, layoutmsg, cycleprev bind = $MOD, j, layoutmsg, cyclenext # Switch workspaces with MOD + [0-9] bind = $MOD, 1, workspace, 1 bind = $MOD, 2, workspace, 2 bind = $MOD, 3, workspace, 3 bind = $MOD, 4, workspace, 4 bind = $MOD, 5, workspace, 5 bind = $MOD, 6, workspace, 6 bind = $MOD, 7, workspace, 7 bind = $MOD, 8, workspace, 8 bind = $MOD, 9, workspace, 9 bind = $MOD, 0, workspace, 10 # Move active window to a workspace with MOD + SHIFT + [0-9] bind = $MOD SHIFT, 1, movetoworkspace, 1 bind = $MOD SHIFT, 2, movetoworkspace, 2 bind = $MOD SHIFT, 3, movetoworkspace, 3 bind = $MOD SHIFT, 4, movetoworkspace, 4 bind = $MOD SHIFT, 5, movetoworkspace, 5 bind = $MOD SHIFT, 6, movetoworkspace, 6 bind = $MOD SHIFT, 7, movetoworkspace, 7 bind = $MOD SHIFT, 8, movetoworkspace, 8 bind = $MOD SHIFT, 9, movetoworkspace, 9 bind = $MOD SHIFT, 0, movetoworkspace, 10 #Switch between recent workspaces bind = $MOD, TAB, workspace, previous # Scroll through existing workspaces with MOD + scroll bind = ALT, tab, workspace, e+1 bind = ALT SHIFT, tab, workspace, e-1 bind = $MOD, mouse_down, workspace, e+1 bind = $MOD, mouse_up, workspace, e-1 # Move/resize windows with MOD + LMB/RMB and dragging bindm = $MOD, mouse:272, movewindow bindm = $MOD, mouse:273, resizewindow # will switch to a submap called resize bind=ALT,R,submap,resize # will start a submap called "resize" submap=resize # sets repeatable binds for resizing the active window binde=,h,resizeactive,-10 0 binde=,l,resizeactive,10 0 binde=,k,resizeactive,0 -10 binde=,j,resizeactive,0 10 # use reset to go back to the global submap bind=,escape,submap,reset # will reset the submap, meaning end the current one and return to the global one submap=reset # keybinds further down will be global again...