diff --git a/basic/keybinds.conf b/basic/keybinds.conf index 10f58f2..245df7b 100644 --- a/basic/keybinds.conf +++ b/basic/keybinds.conf @@ -1,5 +1,4 @@ -################### -### KEYBINDINGS ### +#, # KEYBINDINGS ### ################### $mainMod = SUPER # Sets "Windows" key as main modifier @@ -7,13 +6,17 @@ $ipc = qs -c noctalia-shell ipc call # 1. Basic Binds bind = $mainMod, Q, exec, $terminal +bind = ALT, Q, exec, $terminal --class popup-term +bind = $mainMod, W, exec, $terminal --class popup-term bind = $mainMod, C, killactive, bind = $mainMod SHIFT CTRL, M, exec, command -v hyprshutdown >/dev/null 2>&1 && hyprshutdown || hyprctl dispatch exit bind = $mainMod, E, exec, $fileManager bind = $mainMod, V, togglefloating, bind = $mainMod, R, exec, $menu -bind = $mainMod, P, pseudo, # dwindle -bind = $mainMod, O, togglesplit, # dwindle +bind = $mainMod, BACKSLASH, togglesplit # dwindle +bind = $mainMod SHIFT,BACKSLASH, pseudo # + +bind = $mainMod, KEY_LEFTBRACE, exec, hyprctl general:layout master # 2. moving focus with vim bind = $mainMod, H, movefocus, l @@ -26,11 +29,28 @@ bind = $mainMod SHIFT, L, moveWindow, r bind = $mainMod SHIFT, K, moveWindow, u bind = $mainMod SHIFT, J, moveWindow, d +bind = $mainMod, mouse_up, workspace, m-1 +bind = $mainMod, mouse_down, workspace, m-1 + +bind = $mainMod SHIFT , mouse_up, workspace, e-1 +bind = $mainMod SHIFT , mouse_down, workspace, e-1 + +bind = $mainMod CTRL, right, workspace, m+1 # alt-tab switch workspace +bind = $mainMod CTRL, left, workspace, m-1 # alt-tab switch workspace + +bind = CTRL, SPACE, focuscurrentorlast + +# bind = $mainMod, TAB, focusmonitor, +1 +# bind = $mainMod SHIFT, TAB, focusmonitor, -1 + +# bind = ALT, TAB, hyprexpo:expo, toggle +# bind = ALT, TAB, overview:toggle, all + # 3. resize with arrows -binde = $mainMod , right, resizeActive, 20 0 -binde = $mainMod , left, resizeActive, -20 0 -binde = $mainMod , up, resizeActive, 0 -20 -binde = $mainMod , down, resizeActive, 0 20 +binde = $mainMod, right, resizeActive, 20 0 +binde = $mainMod, left, resizeActive, -20 0 +binde = $mainMod, up, resizeActive, 0 -20 +binde = $mainMod, down, resizeActive, 0 20 # 4. Switch workspaces with mainMod + [0-9] bind = $mainMod, 1, workspace, 1 @@ -60,12 +80,12 @@ bind = $mainMod SHIFT, 0, movetoworkspace, 10 bind = $mainMod, S, togglespecialworkspace, magic bind = $mainMod SHIFT, S, movetoworkspace, special:magic -# 7. Other Workspace tools -bind = $mainMod, mouse_down, workspace, e+1 -bind = $mainMod, mouse_up, workspace, e-1 -bind = SUPER, mouse_down, workspace, e-1 -bind = ALT, TAB, workspace, e+1 # alt-tab switch workspace +bind = $mainMod, B, togglespecialworkspace, magic2 +bind = $mainMod SHIFT, B, movetoworkspace, special:book +bind = $mainMod, D, togglespecialworkspace, discord + +# 7. Other Workspace tools # 8. Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow @@ -83,10 +103,11 @@ bindl = , XF86AudioNext, exec, playerctl next bindl = , XF86AudioPause, exec, playerctl play-pause bindl = , XF86AudioPlay, exec, playerctl play-pause bindl = , XF86AudioPrev, exec, playerctl previous +bind = ALT, mouse:274, exec, playerctl play-pause # 10. Applications and shortcuts -bindr = SUPER, SUPER_L, exec, $menu +# bindr = SUPER, SUPER_L, exec, $menu bind = $mainMod, D, exec, vesktop bind = $mainMod, N, exec, protonvpn-app bind = $mainMod, F, exec, firefox @@ -96,36 +117,50 @@ bind = $mainMod, SPACE, exec, playerctl play-pause # bind = FUNCTION, L, exec, command, qs noctalia-shell ipc call lockScreen lock bind = ALT_L, C, exec, $ipc plugin:clipper openPanel bind = ,code:148, exec, kitty --class calc-term -o "confirm_os_window_close 0" /home/venus/.cargo/bin/mathypad +bind = SUPER, escape, exec, kitty --class btop -o "confirm_os_window_close 0" /usr/bin/btop + +bind = CTRL,SHIFT ESCAPE, exec, btop++ bind = $mainMod, T, exec, notify-send "$(/home/venus/.config/hypr/scripts/getIp.sh)" bind = $mainMod, T, exec, kdeconnect-app +# Change background opacity of terminal window +# bind = $mainMod ALT, k, exec,kitty +kitten @ set-background-opacity -a 1 + # 11. hande lid switch # bindl = , switch:Lid Switch, exec, s$ipc lockScreen lock #Plugin shortcuts # This will toggle HyprExpo when SUPER+g is pressed -# bind = SUPER, g, hyprexpo:expo, toggle -# gesture = 3, vertical, hyprexpo:expo, on + +### GESTURES +# gesture = 3, up, dispatcher, hyprexpo:expo +# gesture = 3, pinch, special, magic +gesture = 3, down, special, magic +# gesture = 3, up, dispatcher, overview:toggle # 12. quick access to controls submap bind = $mainMod, comma, exec, $ipc controlCenter toggle bind = $mainMod, period, exec, $ipc settings toggle -bind = , PRINT, exec, hyprshot -m window --output-folder ~/screenshots +bind = , PRINT, exec, hyprshot -m active -m window --output-folder ~/screenshot +bind = SHIFT, PRINT, exec, hyprshot -m region --output-folder ~/screenshots +bind = ALT, PRINT, exec, hyprshot -m active -m output --output-folder ~/screenshots -bind = ALT, M, exec, $ipc controlCenter Toggle -bind = ALT, M, submap, quick-settings +bind = $mainMod, M, exec, $ipc controlCenter toggle #& hyprctl dispatch submap quick-settings +bind = $mainMod, M, submap, quick-settings bind = $mainMod, O, submap, open-apps submap = quick-settings, reset - bind = , V, submap, vpn + bind = , V, exec, protonvpn-app & hyprctl dispatch submap vpn bind = , S, exec, $ipc settings toggle bind = , C, exec, $ipc plugin:clipper togglePanel bind = , P, exec, $ipc sessionMenu toggle - bind = ALT, L, exec, $ipc sessionMenu toggle + bind = $mainMod, L, exec, $ipc sessionMenu toggle bind = , T, exec, $ipc systemMonitor toggle bind = , M, exec, $ipc controlCenter toggle bind = , D, exec, $ipc notifications toggleDND bind = , N, exec, $ipc notifications toggleHistory & hyprctl dispatch submap notifications-sub + # bind = , L, exec, notify-send "layout switching" & hyprctl dispatch submap layouts + bind = , L, submap, layouts # To Do bind clear and dnd toggles inside this shell bind = SHIFT, B, exec, $ipc bar toggle bind = , P, exec, $ipc wallpaper toggle @@ -133,8 +168,8 @@ submap = quick-settings, reset # To Do add submenu for bt bind = , W, exec, $ipc network togglePanel & hyprctl dispatch submap wifi-sub bind = SHIFT, W, exec, $ipc wifi toggle # toggle wifi - bind = ALT, B, exec, $ipc battery togglePanel # toggle battery panel - bind = ALT, C, exec, $ipc calendar toggle + bind = $mainMod, B, exec, $ipc battery togglePanel # toggle battery panel + bind = $mainMod, C, exec, $ipc calendar toggle bind = , E, exec, nvim /home/venus/.config/hypr/basic/keybinds submap = reset @@ -151,6 +186,7 @@ submap = wifi-sub bind = , S, $call togglePanel bind = , D, $call disable bind = , E, $call enable + bind = , R, exec, sudo systemctl restart iwd bind = , escape, submap, reset submap = reset @@ -163,9 +199,6 @@ submap = bt-sub bind = , escape, submap, reset submap = reset - - - submap = vpn $call = exec, protonvpn bind = , O, $call-app @@ -187,6 +220,11 @@ submap = open-apps, reset bind = , catchall, submap, reset submap = reset +submap = layouts, reset + bind = , D, exec, hyprctl general:layout dwindle + bind = , M, exec, hyprctl general:layout master +submap = reset + # 13. Misc tools. bind = ALT, SPACE, exec, $menu diff --git a/basic/plugins.conf b/basic/plugins.conf index 69dde01..acef366 100644 --- a/basic/plugins.conf +++ b/basic/plugins.conf @@ -2,14 +2,132 @@ ### PLUGINS ### ##################### -# .config/hypr/hyprland.conf +# .config/hypr/plugins.conf plugin { hyprexpo { - columns = 3 + columns = 2 gap_size = 5 bg_col = rgb(111111) - workspace_method = center current # [center/first] [workspace] e.g. first 1 or center m+1 - gesture_distance = 300 # how far is the "max" for the gesture + workspace_method = first 1 # [center/first] [workspace] e.g. first 1 or center m+1 + # gesture_distance = 300 # how far is the "max" for the gesture + skip_empty = true } -} + hy3 { + # disable gaps when only one window is onscreen + # 0 - always show gaps + # 1 - hide gaps with a single window onscreen + # 2 - 1 but also show the window border + no_gaps_when_only = 1 # default: 0 + # policy controlling what happens when a node is removed from a group, + # leaving only a group + # 0 = remove the nested group + # 1 = keep the nested group + # 2 = keep the nested group only if its parent is a tab group + node_collapse_policy = 2 # default: 2 + + # offset from group split direction when only one window is in a group + # group_inset = > # default: 10 + + # if a tab group will automatically be created for the first window spawned in a workspace + tab_first_window = false + + # tab group settings + tabs { + # height of the tab bar + height = 22 # default: 22 + + # padding between the tab bar and its focused node + # padding = # default: 6 + + # the tab bar should animate in/out from the top instead of below the window + # from_top = # default: false + + # radius of tab bar corners + # radius = # default: 6 + + # tab bar border width + # border_width = # default: 2 + + # render the window title on the bar + # render_text = # default: true + + # center the window title + # text_center = # default: true + + # font to render the window title with + # text_font = # default: Sans + + # height of the window title + # text_height = # default: 8 + + # left padding of the window title + # text_padding = # default: 3 + + # active tab bar segment colors + # col.active = # default: rgba(33ccff40) + # col.active.border = # default: rgba(33ccffee) + # col.active.text = # default: rgba(ffffffff) + + # active tab bar segment colors for bars on an unfocused monitor + # col.active_alt_monitor = # default: rgba(60606040) + # col.active_alt_monitor.border = # default: rgba(808080ee) + # col.active_alt_monitor.text = # default: rgba(ffffffff) + + # # focused tab bar segment colors (focused node in unfocused container) + # col.focused = # default: rgba(60606040) + # col.focused.border = # default: rgba(808080ee) + # col.focused.text = # default: rgba(ffffffff) + + # # inactive tab bar segment colors + # col.inactive = # default: rgba(30303020) + # col.inactive.border = # default: rgba(606060aa) + # col.inactive.text = # default: rgba(ffffffff) + + # # urgent tab bar segment colors + # col.urgent = # default: rgba(ff223340) + # col.urgent.border = # default: rgba(ff2233ee) + # col.urgent.text = # default: rgba(ffffffff) + + # # urgent tab bar segment colors + # col.locked = # default: rgba(90903340) + # col.locked.border = # default: rgba(909033ee) + # col.locked.text = # default: rgba(ffffffff) + + # # if tab backgrounds should be blurred + # # Blur is only visible when the above colors are not opaque. + # blur = # default: true + + # opacity multiplier for tabs + # Applies to blur as well as the given colors. + # opacity = # default: 1.0 + } + + # autotiling settings + autotile { + # enable autotile + # enable = # default: false + + # make autotile-created groups ephemeral + # ephemeral_groups = # default: true + + # if a window would be squished smaller than this width, a vertical split will be created + # -1 = never automatically split vertically + # 0 = always automatically split vertically + # = pixel width to split at + # trigger_width = # default: 0 + + # if a window would be squished smaller than this height, a horizontal split will be created + # -1 = never automatically split horizontally + # 0 = always automatically split horizontally + # = pixel height to split at + # trigger_height = # default: 0 + + # a space or comma separated list of workspace ids where autotile should be enabled + # it's possible to create an exception rule by prefixing the definition with "not:" + # workspaces = 1,2 # autotiling will only be enabled on workspaces 1 and 2 + # workspaces = not:1,2 # autotiling will be enabled on all workspaces except 1 and 2 + # workspaces = # default: all + } + } +} diff --git a/basic/windows.conf b/basic/windows.conf index fd4f061..0cd8ff6 100644 --- a/basic/windows.conf +++ b/basic/windows.conf @@ -10,15 +10,20 @@ windowrule{ name = calculator match:class = calc-term - opacity = 0.8 + opacity = 0.7 float = on center = true } +windowrule{ + name = discord + match:class = vesktop + workspace = special:discord + +} windowrule { # Ignore maximize requests from all apps. You'll probably like this. name = suppress-maximize-events match:class = .* - suppress_event = maximize } @@ -31,7 +36,6 @@ windowrule { match:float = true match:fullscreen = false match:pin = false - no_focus = true } @@ -45,3 +49,29 @@ windowrule { float = yes } +windowrule { + name = calc-term + match:class = calc-term + pseudo = yes + float = yes + center = true + # move = cursor_x-10 cursor_y-10 + size = monitor_w*.4 monitor_h*.4 + +} + +windowrule{ + name = btop + match:class = btop + float = yes + size = monitor_w*.9 monitor_h*.8 + dim_around = true + +} +windowrule{ + name = popup-term + match:class = popup-term + float = yes + size = monitor_w*.9 monitor_h*.8 + dim_around = true +} diff --git a/hyprland.conf b/hyprland.conf index 1e6cbf4..c88e442 100644 --- a/hyprland.conf +++ b/hyprland.conf @@ -14,6 +14,13 @@ $blkmanager = udiskie exec-once = qs -c noctalia-shell exec-once = systemctl --user start hyprpolkitagent exec-once = udiskie +exec-once = hyprpm reload -n +exec-once = kdeconnectd +exec-once = hyprshell run & +exec-once = vesktop -m + +general:layout = dwindle + ############################# ### ENVIRONMENT VARIABLES ### @@ -25,7 +32,6 @@ env = XCURSOR_SIZE,24 env = HYPRCURSOR_SIZE,24 env = ELECTRON_OZONE_PLATFORM_HINT,auto - #_____________________________# $base = /home/venus/.config/hypr @@ -42,5 +48,8 @@ source = $basic/permissions.conf source = $base/monitors.conf +source = $base/noctalia/noctalia-colors.conf + + source = /home/venus/.config/hypr/noctalia/noctalia-colors.conf diff --git a/hyprtoolkit.conf b/hyprtoolkit.conf index 4355e8b..1eda6b4 100644 --- a/hyprtoolkit.conf +++ b/hyprtoolkit.conf @@ -1,7 +1,7 @@ -background = rgba(1a1726ff) -base = rgba(1a1726ff) -text = rgba(f2f2f3ff) -alternate_base = rgba(231e33ff) -bright_text = rgba(1b1825ff) -accent = rgba(8467e4ff) -accent_secondary = rgba(b15cd6ff) \ No newline at end of file +background = rgba(291414ff) +base = rgba(291414ff) +text = rgba(f3f2f2ff) +alternate_base = rgba(371b1bff) +bright_text = rgba(251818ff) +accent = rgba(e46767ff) +accent_secondary = rgba(d6995cff) \ No newline at end of file diff --git a/monitors.conf b/monitors.conf index c07a9e7..4f4c558 100644 --- a/monitors.conf +++ b/monitors.conf @@ -1,5 +1,16 @@ -# Generated by nwg-displays on 2026-01-27 at 13:06:42. Do not edit manually. - -monitor=desc:BOE 0x0BC9,2560x1600@165.0,0x0,1.6 -monitor=desc:Invalid Vendor Codename - RTK TYPE-C 0000000000000,1920x1200@59.95,1600x0,0.9999999999999992 -monitor=desc:Invalid Vendor Codename - RTK TYPE-C 0000000000000,transform,1 +# Generated with hyprdynamicmonitors freeze. +# This is a template that you can edit, it is just a starter that pulled your current monitor setup, +# adjust as needed. +# You can use templates here etc, see https://github.com/fiffeek/hyprdynamicmonitors/blob/main/examples/basic/hyprconfigs/template.go.tmpl. +# Monitors are given arbitrary tags (the "monitor" prefix and the ID coming from hyprland). +# If you are using tui to edit, leave this at the end of your file (the last monitor config applies) +# and leave the markers. +# <<<<< TUI AUTO START +# monitor=desc:BOE 0x0BC9,2560x1600@165.00000,5440x0,1.60000000,transform,0,vrr,0 +# monitor=desc:Invalid Vendor Codename - RTK TYPE-C 0000000000000,1920x1200@59.95000,7040x-160,1.25000000,transform,1,vrr,0 +# <<<<< TUI AUTO END +monitor=desc:BOE 0x0BC9,2560x1600@165.00000,5440x0,1.60000000,transform,0,vrr,0 +monitor=desc:LG Electronics LG FULL HD 0x01010101,1920x1080@60.00000,1550x0,1.00000000,transform,0,vrr,0 +monitor=desc:BNQ BenQ 241W 0x0000416E,1920x1080@60.00000,3470x0,1.00000000,transform,0,vrr,0 +monitor=desc:Invalid Vendor Codename - RTK TYPE-C 0000000000000,1920x1200@59.95000,7040x-560,1.00000000,transform,1,vrr,0 +source = /home/venus/.config/hyprdynamicmonitors/hyprconfigs/portable.go.tmpl diff --git a/noctalia/noctalia-colors.conf b/noctalia/noctalia-colors.conf index edca6d2..244763b 100644 --- a/noctalia/noctalia-colors.conf +++ b/noctalia/noctalia-colors.conf @@ -1,9 +1,9 @@ -$primary = rgb(8467e4) -$surface = rgb(1a1726) -$secondary = rgb(b15cd6) +$primary = rgb(e46767) +$surface = rgb(291414) +$secondary = rgb(d6995c) $error = rgb(fd4663) -$tertiary = rgb(cc66b4) -$surface_lowest = rgb(0d0b13) +$tertiary = rgb(cccc66) +$surface_lowest = rgb(150a0a) general { col.active_border = $primary diff --git a/workspaces.conf b/workspaces.conf new file mode 100644 index 0000000..e69de29