Compare commits
29 Commits
110935e433
...
lua
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f5781cb444 | ||
|
|
2250446148 | ||
|
|
a16ae88cdc | ||
|
|
16d2ca17b1 | ||
|
|
e42e1cc875 | ||
|
|
a2663734c5 | ||
|
|
0b6dfdc3ad | ||
|
|
2980d6a656 | ||
|
|
7d28a5cdd4 | ||
|
|
492f4723bf | ||
|
|
7cf692a575 | ||
|
|
19103c0332 | ||
|
|
6e9efb5ce6 | ||
|
|
5221991f9d | ||
|
|
aaa204a7cd | ||
|
|
4d79ed42b9 | ||
|
|
8ea17ffd98 | ||
|
|
0740a3b4f2 | ||
|
|
7b53dae182 | ||
|
|
3c5532be51 | ||
|
|
fe53daba15 | ||
|
|
41d8a006e3 | ||
|
|
76da8cb6fd | ||
|
|
e31224c278 | ||
|
|
1fd1997218 | ||
|
|
8d45138a91 | ||
|
|
41d4f3bec2 | ||
|
|
d696cd20c2 | ||
|
|
841a29eb00 |
5
.luarc.json
Normal file
5
.luarc.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"diagnostics": {
|
||||
"globals": ["hl", "ipc", "mainMod"]
|
||||
}
|
||||
}
|
||||
@@ -22,7 +22,7 @@
|
||||
################
|
||||
|
||||
# See https://wiki.hypr.land/Configuring/Monitors/
|
||||
# monitor=,preferred,auto,auto
|
||||
monitor=,preferred,auto,auto
|
||||
|
||||
|
||||
###################
|
||||
@@ -253,12 +253,13 @@ $ipc = qs -c noctalia-shell ipc call
|
||||
# Example binds, see https://wiki.hypr.land/Configuring/Binds/ for more
|
||||
bind = $mainMod, Q, exec, $terminal
|
||||
bind = $mainMod, C, killactive,
|
||||
bind = $mainMod, M, exec, command -v hyprshutdown >/dev/null 2>&1 && hyprshutdown || hyprctl dispatch exit
|
||||
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
|
||||
bindd = $mainMod, P, dwindle, pseudo, # dwindle
|
||||
bind = $mainMod, O, togglesplit, # dwindle
|
||||
bindd = $mainMod, T, open kde connect, exec, kdeconnect-app
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
# bind = $mainMod, left, movefocus, l
|
||||
@@ -313,7 +314,6 @@ bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||||
#Workspaces
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
bind = SUPER, mouse_down, workspace, e-1
|
||||
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
@@ -339,7 +339,13 @@ bind = $mainMod, B, exec, killall -SIGUSR1 waybar # toggles the bar
|
||||
bind = $mainMod, W, exec, killall -SIGUSR2 waybar # reloads the bar
|
||||
bind = ALT, TAB, workspace, e+1 # alt-tab switch workspace
|
||||
bind = ALT, SPACE, exec, $menu
|
||||
bind = ALT_R, L, exec, $ipc lockScreen lock
|
||||
bind = ALT, L, exec, $ipc lockScreen lock
|
||||
bindr = SUPER ,SUPER_L, exec, $menu
|
||||
|
||||
bindr= ALT, ALT_L, submap, alt_map
|
||||
submap = alt_map, reset
|
||||
bindr = ALT, ALT_L, exec, hyprkcs
|
||||
|
||||
|
||||
# Applications and shortcuts
|
||||
bind = $mainMod, D, exec, vesktop
|
||||
@@ -365,37 +371,68 @@ bind = $mainMod, comma, exec, $ipc controlCenter toggle
|
||||
bind = $mainMod, period, exec, $ipc settings toggle
|
||||
bind = , PRINT, exec, hyprshot -m window --output-folder ~/screenshots
|
||||
|
||||
|
||||
bind = $mainMod, M, submap, quick-settings
|
||||
bind = ALT, M, submap, quick-settings
|
||||
|
||||
submap = quick-settings
|
||||
|
||||
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 = , T, exec, $ipc systemMonitor toggle
|
||||
bind = , M, exec, $ipc controlCenter toggle
|
||||
bind = , D, exec, $ipc notifications toggleDND
|
||||
bind = , N, exec, $ipc notifications toggleHistory
|
||||
# To Do bind clear and dnd toggles inside this shell
|
||||
bind = SHIFT, B, exec, $ipc bar toggle
|
||||
bind = , P, exec, $ipc wallpaper toggle
|
||||
bind = SHIFT, T, exec, $ipc plugin:Catwalk togglePanel
|
||||
bind = , B, exec, $ipc bluetooth togglePanel
|
||||
# To Do add submenu for bt
|
||||
bind = , W, exec, $ipc network togglePanel # toggle network panel
|
||||
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
|
||||
submap = quick-settings, reset
|
||||
|
||||
# bind = , O, exec, $ipc launcher windows
|
||||
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 = , T, exec, $ipc systemMonitor toggle
|
||||
bind = , M, exec, $ipc controlCenter toggle
|
||||
|
||||
bind = , N, exec, $ipc notifications toggleHistory; hyprctl dispatch submap notifications_sub
|
||||
|
||||
bind = ALT, M, submap, reset
|
||||
bind = , escape, submap, reset
|
||||
# To Do bind clear and dnd toggles inside this shell
|
||||
bind = SHIFT, B, exec, $ipc bar toggle
|
||||
bind = , P, exec, $ipc wallpaper toggle
|
||||
bind = SHIFT, T, exec, $ipc plugin:Catwalk togglePanel
|
||||
bind = , B, exec, $ipc bluetooth togglePanel; hyprctl dispatch submap bluetooth_sub
|
||||
# To Do add submenu for bt
|
||||
bind = , W, exec, $ipc network togglePanel ; hyperctl dispatch submap wifi_sub# toggle network panel
|
||||
bind = SHIFT, W, exec, $ipc wifi toggle # toggle wifi
|
||||
bind = ALT, C, exec, $ipc calendar toggle
|
||||
bind = ALT, B, exec, $ipc battery togglePanel # toggle battery panel
|
||||
|
||||
bind = , catchall, submap, reset
|
||||
|
||||
submap = reset
|
||||
|
||||
submap = notifications_sub
|
||||
$call = exec, $ipc notifications
|
||||
bind = , T, $call toggleHistory
|
||||
bind = , N, $call toggleHistory
|
||||
bind = , D, $call toggleDND
|
||||
bind = , C, $call clear
|
||||
bind = , O, $call dismissOldest
|
||||
bind = , A, $call dismissAll
|
||||
bind = SHIFT, C, $call dismissAll
|
||||
bind = , escape, submap, reset
|
||||
submap = reset
|
||||
|
||||
submap = bluetooth_sub
|
||||
$call = exec, $ipc bluetooth
|
||||
bind = , D, $call disable
|
||||
bind = , E, $call enable
|
||||
bind = , T, $call toggle
|
||||
bind = , P, $call togglePanel
|
||||
bind = , escape, submap, reset
|
||||
submap = reset
|
||||
|
||||
submap = wifi_sub
|
||||
$call = exec, $ipc network
|
||||
bind = , D, $call disable
|
||||
bind = , E, $call enable
|
||||
bind = , T, $call toggle
|
||||
bind = , P, $call togglePanel
|
||||
bind = , escape, submap, reset
|
||||
submap = reset
|
||||
|
||||
|
||||
|
||||
|
||||
#####################
|
||||
@@ -462,3 +499,4 @@ windowrule {
|
||||
|
||||
source = /home/venus/.config/hypr/noctalia/noctalia-colors.conf
|
||||
|
||||
bind = SUPER, SPACE, exec, playerctl play-pause # pause media
|
||||
7
backups/2026-02-01_19-44-26/hyprtoolkit.conf
Normal file
7
backups/2026-02-01_19-44-26/hyprtoolkit.conf
Normal file
@@ -0,0 +1,7 @@
|
||||
background = rgba(1e100fff)
|
||||
base = rgba(1e100fff)
|
||||
text = rgba(f8dcdbff)
|
||||
alternate_base = rgba(5d3f3eff)
|
||||
bright_text = rgba(49204dff)
|
||||
accent = rgba(f9acfaff)
|
||||
accent_secondary = rgba(ecb4ebff)
|
||||
5
backups/2026-02-01_19-44-26/monitors.conf
Normal file
5
backups/2026-02-01_19-44-26/monitors.conf
Normal file
@@ -0,0 +1,5 @@
|
||||
# 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
|
||||
25
backups/2026-02-01_19-44-26/noctalia/noctalia-colors.conf
Normal file
25
backups/2026-02-01_19-44-26/noctalia/noctalia-colors.conf
Normal file
@@ -0,0 +1,25 @@
|
||||
$primary = rgb(f9acfa)
|
||||
$surface = rgb(1e100f)
|
||||
$secondary = rgb(ecb4eb)
|
||||
$error = rgb(ffb4ab)
|
||||
$tertiary = rgb(ffb3b1)
|
||||
$surface_lowest = rgb(180b0a)
|
||||
|
||||
general {
|
||||
col.active_border = $primary
|
||||
col.inactive_border = $surface
|
||||
}
|
||||
|
||||
group {
|
||||
col.border_active = $secondary
|
||||
col.border_inactive = $surface
|
||||
col.border_locked_active = $error
|
||||
col.border_locked_inactive = $surface
|
||||
|
||||
groupbar {
|
||||
col.active = $secondary
|
||||
col.inactive = $surface
|
||||
col.locked_active = $error
|
||||
col.locked_inactive = $surface
|
||||
}
|
||||
}
|
||||
358
backups/2026-02-01_20-04-54/'
Normal file
358
backups/2026-02-01_20-04-54/'
Normal file
@@ -0,0 +1,358 @@
|
||||
|
||||
# #######################################################################################
|
||||
# AUTOGENERATED HYPRLAND CONFIG.
|
||||
# EDIT THIS CONFIG ACCORDING TO THE WIKI INSTRUCTIONS.
|
||||
# #######################################################################################
|
||||
|
||||
# autogenerated = 1 # remove this line to remove the warning
|
||||
|
||||
# This is an example Hyprland config file.
|
||||
# Refer to the wiki for more information.
|
||||
# https://wiki.hypr.land/Configuring/
|
||||
|
||||
# Please note not all available settings / options are set here.
|
||||
# For a full list, see the wiki
|
||||
|
||||
# You can split this configuration into multiple files
|
||||
# Create your files separately and then link them to this file like this:
|
||||
# source = ~/.config/hypr/myColors.conf
|
||||
|
||||
|
||||
################
|
||||
### MONITORS ###
|
||||
################
|
||||
|
||||
# See https://wiki.hypr.land/Configuring/Monitors/
|
||||
monitor=,preferred,auto,auto
|
||||
|
||||
|
||||
###################
|
||||
### MY PROGRAMS ###
|
||||
###################
|
||||
|
||||
# See https://wiki.hypr.land/Configuring/Keywords/
|
||||
|
||||
# Set programs that you use
|
||||
$terminal = kitty
|
||||
$fileManager = dolphin
|
||||
$menu = hyprlauncher
|
||||
$browser = qutebrowser
|
||||
$launcher = bemenu
|
||||
$menuBar = waybar
|
||||
|
||||
|
||||
#################
|
||||
### AUTOSTART ###
|
||||
#################
|
||||
|
||||
# Autostart necessary processes (like notifications daemons, status bars, etc.)
|
||||
# Or execute your favorite apps at launch like this:
|
||||
|
||||
exec-once = $terminal
|
||||
# exec-once = nm-applet &
|
||||
exec-once = $menuBar & $browser & $launcher
|
||||
exec-once = systemctl --user start hyprpolkitagent
|
||||
|
||||
|
||||
#############################
|
||||
### ENVIRONMENT VARIABLES ###
|
||||
#############################
|
||||
|
||||
# See https://wiki.hypr.land/Configuring/Environment-variables/
|
||||
|
||||
env = XCURSOR_SIZE,24
|
||||
env = HYPRCURSOR_SIZE,24
|
||||
|
||||
|
||||
###################
|
||||
### PERMISSIONS ###
|
||||
###################
|
||||
|
||||
# See https://wiki.hypr.land/Configuring/Permissions/
|
||||
# Please note permission changes here require a Hyprland restart and are not applied on-the-fly
|
||||
# for security reasons
|
||||
|
||||
# ecosystem {
|
||||
# enforce_permissions = 1
|
||||
# }
|
||||
|
||||
# permission = /usr/(bin|local/bin)/grim, screencopy, allow
|
||||
# permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow
|
||||
# permission = /usr/(bin|local/bin)/hyprpm, plugin, allow
|
||||
|
||||
|
||||
#####################
|
||||
### LOOK AND FEEL ###
|
||||
#####################
|
||||
|
||||
# Refer to https://wiki.hypr.land/Configuring/Variables/
|
||||
|
||||
# https://wiki.hypr.land/Configuring/Variables/#general
|
||||
general {
|
||||
gaps_in = 2
|
||||
gaps_out = 11
|
||||
|
||||
border_size = 1
|
||||
|
||||
# https://wiki.hypr.land/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.hypr.land/Configuring/Tearing/ before you turn this on
|
||||
allow_tearing = false
|
||||
|
||||
layout = dwindle
|
||||
}
|
||||
|
||||
# https://wiki.hypr.land/Configuring/Variables/#decoration
|
||||
decoration {
|
||||
rounding = 10
|
||||
rounding_power = 2
|
||||
|
||||
# Change transparency of focused and unfocused windows
|
||||
active_opacity = 1.0
|
||||
inactive_opacity = 1.0
|
||||
|
||||
shadow {
|
||||
enabled = true
|
||||
range = 4
|
||||
render_power = 3
|
||||
color = rgba(1a1a1aee)
|
||||
}
|
||||
|
||||
# https://wiki.hypr.land/Configuring/Variables/#blur
|
||||
blur {
|
||||
enabled = true
|
||||
size = 3
|
||||
passes = 1
|
||||
|
||||
vibrancy = 0.1696
|
||||
}
|
||||
}
|
||||
|
||||
# https://wiki.hypr.land/Configuring/Variables/#animations
|
||||
animations {
|
||||
enabled = yes, please :)
|
||||
|
||||
# Default curves, see https://wiki.hypr.land/Configuring/Animations/#curves
|
||||
# NAME, X0, Y0, X1, Y1
|
||||
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
|
||||
bezier = quick, 0.15, 0, 0.1, 1
|
||||
|
||||
# Default animations, see https://wiki.hypr.land/Configuring/Animations/
|
||||
# NAME, ONOFF, SPEED, CURVE, [STYLE]
|
||||
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
|
||||
animation = zoomFactor, 1, 7, quick
|
||||
}
|
||||
|
||||
# Ref https://wiki.hypr.land/Configuring/Workspace-Rules/
|
||||
# "Smart gaps" / "No gaps when only"
|
||||
# uncomment all if you wish to use that.
|
||||
# workspace = w[tv1], gapsout:0, gapsin:0
|
||||
# workspace = f[1], gapsout:0, gapsin:0
|
||||
# windowrule {
|
||||
# name = no-gaps-wtv1
|
||||
# match:float = false
|
||||
# match:workspace = w[tv1]
|
||||
#
|
||||
# border_size = 0
|
||||
# rounding = 0
|
||||
# }
|
||||
#
|
||||
# windowrule {
|
||||
# name = no-gaps-f1
|
||||
# match:float = false
|
||||
# match:workspace = f[1]
|
||||
#
|
||||
# border_size = 0
|
||||
# rounding = 0
|
||||
# }
|
||||
|
||||
# See https://wiki.hypr.land/Configuring/Dwindle-Layout/ for more
|
||||
dwindle {
|
||||
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||
preserve_split = true # You probably want this
|
||||
}
|
||||
|
||||
# See https://wiki.hypr.land/Configuring/Master-Layout/ for more
|
||||
master {
|
||||
new_status = master
|
||||
}
|
||||
|
||||
# https://wiki.hypr.land/Configuring/Variables/#misc
|
||||
misc {
|
||||
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.hypr.land/Configuring/Variables/#input
|
||||
input {
|
||||
kb_layout = us
|
||||
kb_variant =
|
||||
kb_model =
|
||||
kb_options =
|
||||
kb_rules =
|
||||
|
||||
follow_mouse = 1
|
||||
|
||||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||
|
||||
touchpad {
|
||||
natural_scroll = true
|
||||
}
|
||||
}
|
||||
|
||||
# See https://wiki.hypr.land/Configuring/Gestures
|
||||
gesture = 3, horizontal, workspace
|
||||
|
||||
# Example per-device config
|
||||
# See https://wiki.hypr.land/Configuring/Keywords/#per-device-input-configs for more
|
||||
device {
|
||||
name = epic-mouse-v1
|
||||
sensitivity = -0.5
|
||||
}
|
||||
|
||||
|
||||
###################
|
||||
### KEYBINDINGS ###
|
||||
###################
|
||||
|
||||
# See https://wiki.hypr.land/Configuring/Keywords/
|
||||
$mainMod = SUPER # Sets "Windows" key as main modifier
|
||||
|
||||
# Example binds, see https://wiki.hypr.land/Configuring/Binds/ for more
|
||||
bind = $mainMod, Q, exec, $terminal
|
||||
bind = $mainMod, C, killactive,
|
||||
bind = $mainMod, 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
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
bind = $mainMod, left, movefocus, l
|
||||
bind = $mainMod, right, movefocus, r
|
||||
bind = $mainMod, up, movefocus, u
|
||||
bind = $mainMod, down, movefocus, d
|
||||
|
||||
bind = $mainMod, H, movefocus, l
|
||||
bind = $mainMod, L, movefocus, r
|
||||
bind = $mainMod, K, movefocus, u
|
||||
bind = $mainMod, J, movefocus, d
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
bind = $mainMod, 1, workspace, 1
|
||||
bind = $mainMod, 2, workspace, 2
|
||||
bind = $mainMod, 3, workspace, 3
|
||||
bind = $mainMod, 4, workspace, 4
|
||||
bind = $mainMod, 5, workspace, 5
|
||||
bind = $mainMod, 6, workspace, 6
|
||||
bind = $mainMod, 7, workspace, 7
|
||||
bind = $mainMod, 8, workspace, 8
|
||||
bind = $mainMod, 9, workspace, 9
|
||||
bind = $mainMod, 0, workspace, 10
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||
|
||||
# Example special workspace (scratchpad)
|
||||
bind = $mainMod, S, togglespecialworkspace, magic
|
||||
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||||
|
||||
# Scroll through existing workspaces with mainMod + scroll
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
|
||||
# Laptop multimedia keys for volume and LCD brightness
|
||||
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
|
||||
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
||||
bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
|
||||
bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-
|
||||
|
||||
# Requires playerctl
|
||||
bindl = , XF86AudioNext, exec, playerctl next
|
||||
bindl = , XF86AudioPause, exec, playerctl play-pause
|
||||
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
||||
bindl = , XF86AudioPrev, exec, playerctl previous
|
||||
|
||||
##############################
|
||||
### WINDOWS AND WORKSPACES ###
|
||||
##############################
|
||||
|
||||
# See https://wiki.hypr.land/Configuring/Window-Rules/ for more
|
||||
# See https://wiki.hypr.land/Configuring/Workspace-Rules/ for workspace rules
|
||||
|
||||
# Example windowrules that are useful
|
||||
|
||||
windowrule {
|
||||
# Ignore maximize requests from all apps. You'll probably like this.
|
||||
name = suppress-maximize-events
|
||||
match:class = .*
|
||||
|
||||
suppress_event = maximize
|
||||
}
|
||||
|
||||
windowrule {
|
||||
# Fix some dragging issues with XWayland
|
||||
name = fix-xwayland-drags
|
||||
match:class = ^$
|
||||
match:title = ^$
|
||||
match:xwayland = true
|
||||
match:float = true
|
||||
match:fullscreen = false
|
||||
match:pin = false
|
||||
|
||||
no_focus = true
|
||||
}
|
||||
|
||||
# Hyprland-run windowrule
|
||||
windowrule {
|
||||
name = move-hyprland-run
|
||||
|
||||
match:class = hyprland-run
|
||||
|
||||
move = 20 monitor_h-120
|
||||
float = yes
|
||||
}
|
||||
502
backups/2026-02-01_20-04-54/hyprland.conf
Normal file
502
backups/2026-02-01_20-04-54/hyprland.conf
Normal file
@@ -0,0 +1,502 @@
|
||||
|
||||
# #######################################################################################
|
||||
# AUTOGENERATED HYPRLAND CONFIG.
|
||||
# EDIT THIS CONFIG ACCORDING TO THE WIKI INSTRUCTIONS.
|
||||
# #######################################################################################
|
||||
|
||||
|
||||
# This is an example Hyprland config file.
|
||||
# Refer to the wiki for more information.
|
||||
# https://wiki.hypr.land/Configuring/
|
||||
|
||||
# Please note not all available settings / options are set here.
|
||||
# For a full list, see the wiki
|
||||
|
||||
# You can split this configuration into multiple files
|
||||
# Create your files separately and then link them to this file like this:
|
||||
# source = ~/.config/hypr/myColors.conf
|
||||
|
||||
|
||||
################
|
||||
### MONITORS ###
|
||||
################
|
||||
|
||||
# See https://wiki.hypr.land/Configuring/Monitors/
|
||||
monitor=,preferred,auto,auto
|
||||
|
||||
|
||||
###################
|
||||
### MY PROGRAMS ###
|
||||
###################
|
||||
|
||||
# See https://wiki.hypr.land/Configuring/Keywords/
|
||||
|
||||
# Set programs that you use
|
||||
$terminal = kitty
|
||||
$fileManager = dolphin
|
||||
$menu = qs -c noctalia-shell ipc call launcher toggle
|
||||
$browser = qutebrowser
|
||||
# $launcher =
|
||||
$menuBar = qs -c noctalia-shell
|
||||
# $shellWrapper = qs -c noctalia-shell
|
||||
|
||||
|
||||
#################
|
||||
### AUTOSTART ###
|
||||
#################
|
||||
|
||||
# Autostart necessary processes (like notifications daemons, status bars, etc.)
|
||||
# Or execute your favorite apps at launch like this:
|
||||
|
||||
# exec-once = $terminal
|
||||
# exec-once = nm-applet &
|
||||
exec-once = qs -c noctalia-shell
|
||||
# exec-once = $browser
|
||||
exec-once = systemctl --user start hyprpolkitagent
|
||||
|
||||
|
||||
#############################
|
||||
### ENVIRONMENT VARIABLES ###
|
||||
#############################
|
||||
|
||||
# See https://wiki.hypr.land/Configuring/Environment-variables/
|
||||
|
||||
env = XCURSOR_SIZE,24
|
||||
env = HYPRCURSOR_SIZE,24
|
||||
|
||||
|
||||
###################
|
||||
### PERMISSIONS ###
|
||||
###################
|
||||
|
||||
# See https://wiki.hypr.land/Configuring/Permissions/
|
||||
# Please note permission changes here require a Hyprland restart and are not applied on-the-fly
|
||||
# for security reasons
|
||||
|
||||
# ecosystem {
|
||||
# enforce_permissions = 1
|
||||
# }
|
||||
|
||||
# permission = /usr/(bin|local/bin)/grim, screencopy, allow
|
||||
# permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow
|
||||
# permission = /usr/(bin|local/bin)/hyprpm, plugin, allow
|
||||
|
||||
|
||||
#####################
|
||||
### LOOK AND FEEL ###
|
||||
#####################
|
||||
|
||||
# Refer to https://wiki.hypr.land/Configuring/Variables/
|
||||
|
||||
# https://wiki.hypr.land/Configuring/Variables/#general
|
||||
general {
|
||||
gaps_in = 3
|
||||
gaps_out = 5
|
||||
|
||||
border_size = 1
|
||||
|
||||
# https://wiki.hypr.land/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 = true
|
||||
|
||||
# Please see https://wiki.hypr.land/Configuring/Tearing/ before you turn this on
|
||||
allow_tearing = false
|
||||
|
||||
layout = dwindle
|
||||
}
|
||||
|
||||
# https://wiki.hypr.land/Configuring/Variables/#decoration
|
||||
decoration {
|
||||
rounding = 10
|
||||
rounding_power = 2
|
||||
|
||||
# Change transparency of focused and unfocused windows
|
||||
active_opacity = 1.0
|
||||
inactive_opacity = 1.0
|
||||
|
||||
shadow {
|
||||
enabled = true
|
||||
range = 4
|
||||
render_power = 3
|
||||
color = rgba(1a1a1aee)
|
||||
}
|
||||
|
||||
# https://wiki.hypr.land/Configuring/Variables/#blur
|
||||
blur {
|
||||
enabled = true
|
||||
size = 3
|
||||
passes = 1
|
||||
|
||||
vibrancy = 0.1696
|
||||
}
|
||||
}
|
||||
|
||||
# https://wiki.hypr.land/Configuring/Variables/#animations
|
||||
animations {
|
||||
enabled = yes, please :)
|
||||
|
||||
# Default curves, see https://wiki.hypr.land/Configuring/Animations/#curves
|
||||
# NAME, X0, Y0, X1, Y1
|
||||
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
|
||||
bezier = quick, 0.15, 0, 0.1, 1
|
||||
|
||||
# Default animations, see https://wiki.hypr.land/Configuring/Animations/
|
||||
# NAME, ONOFF, SPEED, CURVE, [STYLE]
|
||||
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
|
||||
animation = zoomFactor, 1, 7, quick
|
||||
}
|
||||
|
||||
# Ref https://wiki.hypr.land/Configuring/Workspace-Rules/
|
||||
# "Smart gaps" / "No gaps when only"
|
||||
# uncomment all if you wish to use that.
|
||||
# workspace = w[tv1], gapsout:0, gapsin:0
|
||||
# workspace = f[1], gapsout:0, gapsin:0
|
||||
# windowrule {
|
||||
# name = no-gaps-wtv1
|
||||
# match:float = false
|
||||
# match:workspace = w[tv1]
|
||||
#
|
||||
# border_size = 0
|
||||
# rounding = 0
|
||||
# }
|
||||
#
|
||||
# windowrule {
|
||||
# name = no-gaps-f1
|
||||
# match:float = false
|
||||
# match:workspace = f[1]
|
||||
#
|
||||
# border_size = 0
|
||||
# rounding = 0
|
||||
# }
|
||||
|
||||
# See https://wiki.hypr.land/Configuring/Dwindle-Layout/ for more
|
||||
dwindle {
|
||||
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||
preserve_split = true # You probably want this
|
||||
}
|
||||
|
||||
# See https://wiki.hypr.land/Configuring/Master-Layout/ for more
|
||||
master {
|
||||
new_status = master
|
||||
}
|
||||
|
||||
# https://wiki.hypr.land/Configuring/Variables/#misc
|
||||
misc {
|
||||
force_default_wallpaper = 0 # 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.hypr.land/Configuring/Variables/#input
|
||||
input {
|
||||
kb_layout = us
|
||||
kb_variant =
|
||||
kb_model =
|
||||
kb_options =
|
||||
kb_rules =
|
||||
|
||||
follow_mouse = 1
|
||||
|
||||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||
|
||||
touchpad {
|
||||
natural_scroll = true
|
||||
}
|
||||
}
|
||||
cursor_inactive_timeout = 0.1
|
||||
# See https://wiki.hypr.land/Configuring/Gestures
|
||||
gesture = 3, horizontal, workspace
|
||||
# gesture = 3, vertical, hyprexpo:expo, toggle
|
||||
|
||||
|
||||
# Example per-device config
|
||||
# See https://wiki.hypr.land/Configuring/Keywords/#per-device-input-configs for more
|
||||
device {
|
||||
name = epic-mouse-v1
|
||||
sensitivity = -0.5
|
||||
}
|
||||
|
||||
|
||||
###################
|
||||
### KEYBINDINGS ###
|
||||
###################
|
||||
|
||||
# See https://wiki.hypr.land/Configuring/Keywords/
|
||||
$mainMod = SUPER # Sets "Windows" key as main modifier
|
||||
$ipc = qs -c noctalia-shell ipc call
|
||||
|
||||
# Example binds, see https://wiki.hypr.land/Configuring/Binds/ for more
|
||||
bind = $mainMod, Q, exec, $terminal
|
||||
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
|
||||
bindd = $mainMod, P, dwindle, pseudo, # dwindle
|
||||
bind = $mainMod, O, togglesplit, # dwindle
|
||||
bind = $mainMod, T, exec, notify-send "wlan0 ip: $(~/tools/getIp.sh)"
|
||||
bindd = $mainMod, T, open kde connect, exec, kdeconnect-app
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
# bind = $mainMod, left, movefocus, l
|
||||
# bind = $mainMod, right, movefocus, r
|
||||
# bind = $mainMod, up, movefocus, u
|
||||
# bind = $mainMod, down, movefocus, d
|
||||
|
||||
bind = $mainMod, H, movefocus, l
|
||||
bind = $mainMod, L, movefocus, r
|
||||
bind = $mainMod, K, movefocus, u
|
||||
bind = $mainMod, J, movefocus, d
|
||||
|
||||
binde = $mainMod , right, resizeActive, 20 0
|
||||
binde = $mainMod , left, resizeActive, -20 0
|
||||
binde = $mainMod , up, resizeActive, 0 -20
|
||||
binde = $mainMod , down, resizeActive, 0 20
|
||||
|
||||
bind = $mainMod SHIFT, H, moveWindow, l
|
||||
bind = $mainMod SHIFT, L, moveWindow, r
|
||||
bind = $mainMod SHIFT, K, moveWindow, u
|
||||
bind = $mainMod SHIFT, J, moveWindow, d
|
||||
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
bind = $mainMod, 1, workspace, 1
|
||||
bind = $mainMod, 2, workspace, 2
|
||||
bind = $mainMod, 3, workspace, 3
|
||||
bind = $mainMod, 4, workspace, 4
|
||||
bind = $mainMod, 5, workspace, 5
|
||||
bind = $mainMod, 6, workspace, 6
|
||||
bind = $mainMod, 7, workspace, 7
|
||||
bind = $mainMod, 8, workspace, 8
|
||||
bind = $mainMod, 9, workspace, 9
|
||||
bind = $mainMod, 0, workspace, 10
|
||||
|
||||
# Move actihe window to a workspace with mainMod + SHIFT + [0-9]
|
||||
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||
|
||||
# Example special workspace (scratchpad)
|
||||
bind = $mainMod, S, togglespecialworkspace, magic
|
||||
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||||
|
||||
#Workspaces
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
# bind = $mainMod, [, resizewindow+1
|
||||
|
||||
# Laptop multimedia keys for volume and LCD brightness
|
||||
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
|
||||
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
||||
bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
|
||||
bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-
|
||||
|
||||
# Requires playerctl
|
||||
bindl = , XF86AudioNext, exec, playerctl next
|
||||
bindl = , XF86AudioPause, exec, playerctl play-pause
|
||||
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
||||
bindl = , XF86AudioPrev, exec, playerctl previous
|
||||
|
||||
#Shell
|
||||
bind = $mainMod, B, exec, killall -SIGUSR1 waybar # toggles the bar
|
||||
bind = $mainMod, W, exec, killall -SIGUSR2 waybar # reloads the bar
|
||||
bind = ALT, TAB, workspace, e+1 # alt-tab switch workspace
|
||||
bind = ALT, SPACE, exec, $menu
|
||||
bind = ALT, L, exec, $ipc lockScreen lock
|
||||
bindr = SUPER ,SUPER_L, exec, $menu
|
||||
|
||||
bindr= ALT, ALT_L, submap, alt_map
|
||||
submap = alt_map, reset
|
||||
bindr = ALT, ALT_L, exec, hyprkcs
|
||||
|
||||
|
||||
# Applications and shortcuts
|
||||
bind = $mainMod, D, exec, vesktop
|
||||
# bind = $mainMod, N, exec, nvim ~/.config/hypr/hyprland.conf
|
||||
bind = $mainMod SHIFT, F, exec, qutebrowser
|
||||
bind = $mainMod SHIFT, Q, exec, qutebrowser
|
||||
# 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
|
||||
|
||||
#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
|
||||
|
||||
|
||||
### 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 = $mainMod, M, submap, quick-settings
|
||||
bind = ALT, M, submap, quick-settings
|
||||
|
||||
|
||||
submap = quick-settings, reset
|
||||
|
||||
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 = , T, exec, $ipc systemMonitor toggle
|
||||
bind = , M, exec, $ipc controlCenter toggle
|
||||
|
||||
bind = , N, exec, $ipc notifications toggleHistory; hyprctl dispatch submap notifications_sub
|
||||
|
||||
# To Do bind clear and dnd toggles inside this shell
|
||||
bind = SHIFT, B, exec, $ipc bar toggle
|
||||
bind = , P, exec, $ipc wallpaper toggle
|
||||
bind = SHIFT, T, exec, $ipc plugin:Catwalk togglePanel
|
||||
bind = , B, exec, $ipc bluetooth togglePanel; hyprctl dispatch submap bluetooth_sub
|
||||
# To Do add submenu for bt
|
||||
bind = , W, exec, $ipc network togglePanel ; hyperctl dispatch submap wifi_sub# toggle network panel
|
||||
bind = SHIFT, W, exec, $ipc wifi toggle # toggle wifi
|
||||
bind = ALT, C, exec, $ipc calendar toggle
|
||||
bind = ALT, B, exec, $ipc battery togglePanel # toggle battery panel
|
||||
|
||||
bind = , catchall, submap, reset
|
||||
|
||||
submap = reset
|
||||
|
||||
submap = notifications_sub
|
||||
$call = exec, $ipc notifications
|
||||
bind = , T, $call toggleHistory
|
||||
bind = , N, $call toggleHistory
|
||||
bind = , D, $call toggleDND
|
||||
bind = , C, $call clear
|
||||
bind = , O, $call dismissOldest
|
||||
bind = , A, $call dismissAll
|
||||
bind = SHIFT, C, $call dismissAll
|
||||
bind = , escape, submap, reset
|
||||
submap = reset
|
||||
|
||||
submap = bluetooth_sub
|
||||
$call = exec, $ipc bluetooth
|
||||
bind = , D, $call disable
|
||||
bind = , E, $call enable
|
||||
bind = , T, $call toggle
|
||||
bind = , P, $call togglePanel
|
||||
bind = , escape, submap, reset
|
||||
submap = reset
|
||||
|
||||
submap = wifi_sub
|
||||
$call = exec, $ipc network
|
||||
bind = , D, $call disable
|
||||
bind = , E, $call enable
|
||||
bind = , T, $call toggle
|
||||
bind = , P, $call togglePanel
|
||||
bind = , escape, submap, reset
|
||||
submap = reset
|
||||
|
||||
|
||||
|
||||
|
||||
#####################
|
||||
### PLUGINS ###
|
||||
#####################
|
||||
|
||||
# .config/hypr/hyprland.conf
|
||||
plugin {
|
||||
hyprexpo {
|
||||
columns = 3
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
##############################
|
||||
### WINDOWS AND WORKSPACES ###
|
||||
##############################
|
||||
|
||||
# See https://wiki.hypr.land/Configuring/Window-Rules/ for more
|
||||
# See https://wiki.hypr.land/Configuring/Workspace-Rules/ for workspace rules
|
||||
|
||||
# Example windowrules that are useful
|
||||
windowrule{
|
||||
name = calculator
|
||||
match:class = calc-term
|
||||
|
||||
opacity = 0.8
|
||||
float = on
|
||||
center = true
|
||||
}
|
||||
windowrule {
|
||||
# Ignore maximize requests from all apps. You'll probably like this.
|
||||
name = suppress-maximize-events
|
||||
match:class = .*
|
||||
|
||||
suppress_event = maximize
|
||||
}
|
||||
|
||||
windowrule {
|
||||
# Fix some dragging issues with XWayland
|
||||
name = fix-xwayland-drags
|
||||
match:class = ^$
|
||||
match:title = ^$
|
||||
match:xwayland = true
|
||||
match:float = true
|
||||
match:fullscreen = false
|
||||
match:pin = false
|
||||
|
||||
no_focus = true
|
||||
}
|
||||
|
||||
# Hyprland-run windowrule
|
||||
windowrule {
|
||||
name = move-hyprland-run
|
||||
|
||||
match:class = hyprland-run
|
||||
|
||||
move = 20 monitor_h-120
|
||||
float = yes
|
||||
}
|
||||
|
||||
source = /home/venus/.config/hypr/noctalia/noctalia-colors.conf
|
||||
|
||||
bind = SUPER, SPACE, exec, playerctl play-pause # pause media
|
||||
bind = SUPER, F, exec, firefox # bind = $mainMod, N, exec, nvim ~/.config/hypr/hyprland.conf
|
||||
7
backups/2026-02-01_20-04-54/hyprtoolkit.conf
Normal file
7
backups/2026-02-01_20-04-54/hyprtoolkit.conf
Normal file
@@ -0,0 +1,7 @@
|
||||
background = rgba(1e100fff)
|
||||
base = rgba(1e100fff)
|
||||
text = rgba(f8dcdbff)
|
||||
alternate_base = rgba(5d3f3eff)
|
||||
bright_text = rgba(49204dff)
|
||||
accent = rgba(f9acfaff)
|
||||
accent_secondary = rgba(ecb4ebff)
|
||||
5
backups/2026-02-01_20-04-54/monitors.conf
Normal file
5
backups/2026-02-01_20-04-54/monitors.conf
Normal file
@@ -0,0 +1,5 @@
|
||||
# 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
|
||||
25
backups/2026-02-01_20-04-54/noctalia/noctalia-colors.conf
Normal file
25
backups/2026-02-01_20-04-54/noctalia/noctalia-colors.conf
Normal file
@@ -0,0 +1,25 @@
|
||||
$primary = rgb(f9acfa)
|
||||
$surface = rgb(1e100f)
|
||||
$secondary = rgb(ecb4eb)
|
||||
$error = rgb(ffb4ab)
|
||||
$tertiary = rgb(ffb3b1)
|
||||
$surface_lowest = rgb(180b0a)
|
||||
|
||||
general {
|
||||
col.active_border = $primary
|
||||
col.inactive_border = $surface
|
||||
}
|
||||
|
||||
group {
|
||||
col.border_active = $secondary
|
||||
col.border_inactive = $surface
|
||||
col.border_locked_active = $error
|
||||
col.border_locked_inactive = $surface
|
||||
|
||||
groupbar {
|
||||
col.active = $secondary
|
||||
col.inactive = $surface
|
||||
col.locked_active = $error
|
||||
col.locked_inactive = $surface
|
||||
}
|
||||
}
|
||||
0
backups/2026-02-01_20-04-54/workspaces.conf
Normal file
0
backups/2026-02-01_20-04-54/workspaces.conf
Normal file
293
basic/keybinds.lua
Normal file
293
basic/keybinds.lua
Normal file
@@ -0,0 +1,293 @@
|
||||
---- KEYBINDINGS ----
|
||||
---------------------
|
||||
------@meta
|
||||
--## @declaration hl, ipc, mainMod
|
||||
|
||||
local mainMod = "SUPER" -- Sets "Windows" key as main modifier
|
||||
local ipc = "qs -c noctalia-shell ipc call "
|
||||
|
||||
-- 1. Basic Binds
|
||||
hl.bind(mainMod .. " + Q ", hl.dsp.exec_cmd(terminal))
|
||||
hl.bind(mainMod .. " + C ", hl.dsp.window.close())
|
||||
hl.bind(mainMod .. " + SHIFT + CTRL + M ", hl.dsp.exit())
|
||||
-- hl.bind(mainMod .. " + E ", hl.dsp.exec(fileManager))
|
||||
|
||||
-- Workspace movement and tiling rule
|
||||
hl.bind(mainMod .. "+ P" ,hl.dsp.window.float({ action = "toggle" }))
|
||||
hl.bind(mainMod .. "+ P" ,hl.dsp.window.pin())
|
||||
hl.bind(mainMod .. "+ SHIFT + BACKSLASH" ,hl.dsp.window.float({ action = "toggle"}))
|
||||
hl.bind(mainMod .. "+ BACKSLASH" ,hl.dsp.layout ("togglesplit"))
|
||||
hl.bind(mainMod .. "+ CTRL + BACKSLASH " ,hl.dsp.window.pseudo({action = "toggle"}))
|
||||
|
||||
-- hl.bind(mainMod .. " + SEMICOLON ", hl.dsp.exec_cmd( hyprctl general:layout master )
|
||||
-- hl.bind(mainMod .. " + APOSTROPHE ", hl.dsp.exec_cmd( hyprctl general:layout dwindle )
|
||||
|
||||
-- Compiler window
|
||||
-- hl.bind(mainMod .. " + SHIFT + A ", "tagwindow", "compiler")
|
||||
--hl.bind(mainMod .. " + A ", hl.dsp.exec_cmd( $XDG_CONFIG_HOME/hypr/scripts/compile.sh)
|
||||
|
||||
-- 2. Navigation
|
||||
-- 2.1 Vim Binds
|
||||
hl.bind(mainMod .. " + H " , hl.dsp.focus( { direction = "left" }))
|
||||
hl.bind(mainMod .. " + L " , hl.dsp.focus( { direction = "right" }))
|
||||
hl.bind(mainMod .. " + K " , hl.dsp.focus( { direction = "up" }))
|
||||
hl.bind(mainMod .. " + J " , hl.dsp.focus( { direction = "down" }))
|
||||
hl.bind(mainMod .. " + SHIFT + H" , hl.dsp.window.move( { direction = "left" }))
|
||||
hl.bind(mainMod .. " + SHIFT + L" , hl.dsp.window.move( { direction = "right" }))
|
||||
hl.bind(mainMod .. " + SHIFT + K" , hl.dsp.window.move( { direction = "up" }))
|
||||
hl.bind(mainMod .. " + SHIFT + J" , hl.dsp.window.move( { direction = "down" }))
|
||||
-- 2.2 Workspace and monitor keys
|
||||
hl.bind(mainMod .. " + mouse_up" , hl.dsp.focus ({ workspace = "m-1"}))
|
||||
hl.bind(mainMod .. " + mouse_down" , hl.dsp.focus ({ workspace = "m+1"}))
|
||||
hl.bind(mainMod .. " + SHIFT + mouse_up " , hl.dsp.focus ({ workspace = "e-1"}))
|
||||
hl.bind(mainMod .. " + SHIFT + mouse_down " , hl.dsp.focus ({ workspace = "e+1"}))
|
||||
hl.bind(mainMod .. " + CTRL + right" , hl.dsp.focus ({ workspace = "m+1"}))
|
||||
hl.bind(mainMod .. " + CTRL + left" , hl.dsp.focus ({ workspace = "m-1"}))
|
||||
hl.bind(mainMod .. " + TAB " , hl.dsp.focus ({ monitor = "-1"}))
|
||||
hl.bind(mainMod .. " + SHIFT + TAB " , hl.dsp.focus ({ monitor = "+1"}))
|
||||
|
||||
---- 3. resize with arrows
|
||||
hl.bind(mainMod .. " + right " , hl.dsp.window.resize({ x = 20, y = 0, relative = true}) , {repeating = true})
|
||||
hl.bind(mainMod .. " + left " , hl.dsp.window.resize({ x =-20, y = 0, relative = true}) , {repeating = true})
|
||||
hl.bind(mainMod .. " + up " , hl.dsp.window.resize({ x = 0, y = -20, relative = true}) , {repeating = true})
|
||||
hl.bind(mainMod .. " + down " , hl.dsp.window.resize({ x = 0, y = 20, relative = true}) , {repeating = true})
|
||||
|
||||
---- 4. Switch workspaces with mainMod + [0-9]
|
||||
hl.bind(mainMod .. " + 1 ", hl.dsp.focus({workspace = 1 }))
|
||||
hl.bind(mainMod .. " + 2 ", hl.dsp.focus({workspace = 2 }))
|
||||
hl.bind(mainMod .. " + 3 ", hl.dsp.focus({workspace = 3 }))
|
||||
hl.bind(mainMod .. " + 4 ", hl.dsp.focus({workspace = 4 }))
|
||||
hl.bind(mainMod .. " + 5 ", hl.dsp.focus({workspace = 5 }))
|
||||
hl.bind(mainMod .. " + 6 ", hl.dsp.focus({workspace = 6 }))
|
||||
hl.bind(mainMod .. " + 7 ", hl.dsp.focus({workspace = 7 }))
|
||||
hl.bind(mainMod .. " + 8 ", hl.dsp.focus({workspace = 8 }))
|
||||
hl.bind(mainMod .. " + 9 ", hl.dsp.focus({workspace = 9 }))
|
||||
hl.bind(mainMod .. " + 0 ", hl.dsp.focus({workspace = 10}))
|
||||
|
||||
---- 5. Move actihe window to a workspace with mainMod + SHIFT + [0-9]
|
||||
hl.bind(mainMod .. " + SHIFT + 1 ", hl.dsp.window.move({workspace = 1 }))
|
||||
hl.bind(mainMod .. " + SHIFT + 2 ", hl.dsp.window.move({workspace = 2 }))
|
||||
hl.bind(mainMod .. " + SHIFT + 3 ", hl.dsp.window.move({workspace = 3 }))
|
||||
hl.bind(mainMod .. " + SHIFT + 4 ", hl.dsp.window.move({workspace = 4 }))
|
||||
hl.bind(mainMod .. " + SHIFT + 5 ", hl.dsp.window.move({workspace = 5 }))
|
||||
hl.bind(mainMod .. " + SHIFT + 6 ", hl.dsp.window.move({workspace = 6 }))
|
||||
hl.bind(mainMod .. " + SHIFT + 7 ", hl.dsp.window.move({workspace = 7 }))
|
||||
hl.bind(mainMod .. " + SHIFT + 8 ", hl.dsp.window.move({workspace = 8 }))
|
||||
hl.bind(mainMod .. " + SHIFT + 9 ", hl.dsp.window.move({workspace = 9 }))
|
||||
hl.bind(mainMod .. " + SHIFT + 0 ", hl.dsp.window.move({workspace = 10}))
|
||||
|
||||
---- 6. special workspace (scratchpad)
|
||||
hl.bind(mainMod .. " + S ", hl.dsp.workspace.toggle_special("magic "))
|
||||
hl.bind(mainMod .. " + B ", hl.dsp.workspace.toggle_special("magic2 "))
|
||||
hl.bind(mainMod .. " + X ", hl.dsp.workspace.toggle_special("phantom "))
|
||||
hl.bind(mainMod .. " + X ", hl.dsp.workspace.toggle_special("phantom "))
|
||||
|
||||
hl.bind(mainMod .. " + SHIFT + S ", hl.dsp.window.move({ workspace = "special:magic" }))
|
||||
hl.bind(mainMod .. " + SHIFT + B ", hl.dsp.window.move({ workspace = "special:book" }))
|
||||
hl.bind(mainMod .. " + SHIFT + G ", hl.dsp.window.move({ workspace = "special:gaming" }))
|
||||
|
||||
hl.bind(mainMod .. " + D " ,function ()
|
||||
hl.dispatch(hl.dsp.workspace.toggle_special("vesktop"))
|
||||
hl.exec_cmd("vesktop -m", {workspace ="special:vesktop silent"})
|
||||
end)
|
||||
hl.bind(mainMod .. " + E " ,function ()
|
||||
hl.dispatch(hl.dsp.workspace.toggle_special("email"))
|
||||
hl.exec_cmd(email, {workspace ="special:email silent"})
|
||||
end)
|
||||
hl.bind(mainMod .. " + G " ,function ()
|
||||
hl.dispatch(hl.dsp.workspace.toggle_special("gaming"))
|
||||
hl.exec_cmd("steam -forcedesktopscaling 0.5",{workspace ="special:gaming silent"})
|
||||
end)
|
||||
hl.bind(mainMod .. " + N " ,function ()
|
||||
hl.dispatch(hl.dsp.workspace.toggle_special("notes"))
|
||||
-- TODO dont run if obsidian alr running
|
||||
-- hl.exec_cmd(notes)
|
||||
end)
|
||||
|
||||
-- 8. Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
hl.bind(mainMod .. " + mouse:272 ", hl.dsp.window.drag(), {mouse = true})
|
||||
hl.bind(mainMod .. " + mouse:273 ", hl.dsp.window.resize(), {mouse = true})
|
||||
|
||||
---- 9. Multimedia keys for volume and LCD brightness
|
||||
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"))
|
||||
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"))
|
||||
hl.bind("XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"))
|
||||
hl.bind("XF86AudioMicMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"))
|
||||
hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd("brightnessctl -e4 -n2 set 5%+"))
|
||||
hl.bind("XF86MonBrightnessDown",hl.dsp.exec_cmd("brightnessctl -e4 -n2 set 5%-"))
|
||||
|
||||
---- Requires playerctl
|
||||
hl.bind("XF86AudioNext", hl.dsp.exec_cmd("playerctl next"))
|
||||
hl.bind("XF86AudioPause", hl.dsp.exec_cmd("playerctl play-pause"))
|
||||
hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("playerctl play-pause"))
|
||||
hl.bind("XF86AudioPrev", hl.dsp.exec_cmd("playerctl previous"))
|
||||
hl.bind("ALT + mouse:274", hl.dsp.exec_cmd("playerctl play-pause"))
|
||||
hl.bind(mainMod .. " + SPACE " ,hl.dsp.exec_cmd("playerctl play-pause"))
|
||||
|
||||
|
||||
---- 10. Application launching
|
||||
hl.bind(mainMod .. " + SUPER_L", hl.dsp.exec_cmd(launcher .. " toggle"), { release = true })
|
||||
hl.bind(mainMod .. " + F " ,hl.dsp.exec_cmd(browser))
|
||||
hl.bind("ALT + C" ,hl.dsp.exec_cmd(ipc .. "plugin:clipper openPanel"))
|
||||
hl.bind("code:148" ,hl.dsp.exec_cmd("kitty --class calc-term -o 'confirm_os_window_close 0' /home/venus/.cargo/bin/mathypad "))
|
||||
|
||||
hl.bind(" ALT + Q " , hl.dsp.exec_cmd(terminal, {float = true, border_size = 2, size = {"(monitor_w * 0.8)", "(monitor_h * 0.7)"}}))
|
||||
hl.bind(mainMod .. " + W ", hl.dsp.exec_cmd(terminal, {float = true, border_size = 2, size = {"(monitor_w * 0.8)", "(monitor_h * 0.7)"}}))
|
||||
|
||||
-- TODO rework with LUA
|
||||
-- hl.bind(mainMod .. " + escape" ,hl.dsp.exec_cmd("kitty --class btop -o "confirm_os_window_close 0" /usr/bin/btop"))
|
||||
-- hl.bind(mainMod .. " + SHIFT + escape" ,hl.dsp.exec_cmd("kitty --class btop -o "confirm_os_window_close 0" /usr/bin/nvtop"))
|
||||
hl.bind(mainMod .. " + escape" ,hl.dsp.exec_cmd("kitty btop" ,{float = true, border_size = 2, size = {"(monitor_w * 0.9)", "(monitor_h * 0.9)"}}))
|
||||
hl.bind("CTRL + SHIFT + ESCAPE" ,hl.dsp.exec_cmd("kitty btop" ,{float = true, border_size = 2, size = {"(monitor_w * 0.9)", "(monitor_h * 0.9)"}}))
|
||||
hl.bind(mainMod .. " + SHIFT + escape" ,hl.dsp.exec_cmd("kitty nvtop",{float = true, border_size = 2, size = {"(monitor_w * 0.9)", "(monitor_h * 0.9)"}}))
|
||||
hl.bind(mainMod .. " + I" ,hl.dsp.exec_cmd("/home/venus/.config/scripts/connectPhone.sh "))
|
||||
hl.bind(mainMod .. " + I" ,hl.dsp.exec_cmd("scrcpy --no-audio --no-video --keyboard=uhid --mouse=uhid"))
|
||||
hl.bind(mainMod .. " + SHIFT + I" ,hl.dsp.exec_cmd("/home/venus/.config/scripts/connectPhone.sh "))
|
||||
hl.bind(mainMod .. " + SHIFT + I" ,hl.dsp.exec_cmd("scrcpy --no-audio --keyboard=uhid --mouse=uhid"))
|
||||
|
||||
|
||||
---- 10.1 Shortcuts
|
||||
hl.bind(mainMod .. " + CTRL + L ", hl.dsp.exec_cmd(ipc .. "lockScreen lock"))
|
||||
|
||||
|
||||
-- TODO Implement these
|
||||
---- Change background opacity of terminal window
|
||||
-- hl.bind(mainMod .. " + ALT + k ", hl.dsp.exec_cmd("kitty +kitten @ set-background-opacity -a 1"))
|
||||
---- hande lid switch
|
||||
-- bindl = , switch:Lid Switch, hl.dsp.exec_cmd( s$ipc lockScreen lock
|
||||
|
||||
---- 12. quick access to controls submap
|
||||
hl.bind(mainMod .. " + comma" , hl.dsp.exec_cmd(ipc .. "controlCenter toggle"))
|
||||
hl.bind(mainMod .. " + period" , hl.dsp.exec_cmd(ipc .. "settings toggle"))
|
||||
hl.bind("PRINT" , hl.dsp.exec_cmd("hyprshot -m active -m window --output-folder ~/Images/Screenshots"))
|
||||
hl.bind("SHIFT + PRINT" , hl.dsp.exec_cmd("hyprshot -m region --output-folder ~/Images/Screenshots"))
|
||||
hl.bind("ALT + PRINT" , hl.dsp.exec_cmd("hyprshot -m active -m output --output-folder ~/Images/Screenshots"))
|
||||
|
||||
hl.bind(mainMod .. " + M ", function()
|
||||
hl.dispatch(hl.dsp.exec_cmd(ipc .. "controlCenter toggle "))
|
||||
hl.dispatch(hl.dsp.submap("quick-settings"))
|
||||
end)
|
||||
--
|
||||
hl.bind(mainMod .. " + O ", hl.dsp.submap("open-apps"))
|
||||
|
||||
---- 13. Mouse binds
|
||||
|
||||
---- 14. submaps!
|
||||
-- TODO write a timer submap that starts a timer of custom length when a key is pressed
|
||||
hl.bind(mainMod .. " + T" ,function()
|
||||
hl.dispatch(hl.dsp.submap("timer"))
|
||||
hl.exec_cmd(ipc .. "plugin:timer toggle")
|
||||
end)
|
||||
hl.define_submap("timer", function ()
|
||||
hl.bind("T" ,hl.dsp.exec_cmd(ipc .. "plugin:timer toggle"))
|
||||
hl.bind("P" ,hl.dsp.exec_cmd(ipc .. "plugin:timer pause"))
|
||||
hl.bind("R" ,hl.dsp.exec_cmd(ipc .. "plugin:timer reset"))
|
||||
hl.bind("S" ,hl.dsp.exec_cmd(ipc .. "plugin:timer start 10"))
|
||||
hl.bind("A" ,hl.dsp.exec_cmd(ipc .. "plugin:timer start 240"))
|
||||
-- include the double escape or no?
|
||||
hl.bind("catchall" ,function ()
|
||||
hl.dispatch(hl.dsp.submap("reset"))
|
||||
hl.dispatch(hl.dsp.exec_cmd(ipc .. "plugin:timer toggle "))
|
||||
end)
|
||||
end)
|
||||
|
||||
hl.define_submap("quick-settings", function ()
|
||||
hl.bind("V" ,hl.dsp.exec_cmd("protonvpn-app & hyprctl dispatch submap vpn"))
|
||||
hl.bind("S" ,hl.dsp.exec_cmd(ipc .. "settings toggle"))
|
||||
hl.bind("C" ,hl.dsp.exec_cmd(ipc .. "plugin:clipper togglePanel "))
|
||||
hl.bind("P" ,hl.dsp.exec_cmd(ipc .. "sessionMenu toggle"))
|
||||
hl.bind("T" ,hl.dsp.exec_cmd(ipc .. "systemMonitor toggle"))
|
||||
hl.bind("M" ,hl.dsp.exec_cmd(ipc .. "controlCenter toggle"))
|
||||
hl.bind("D" ,hl.dsp.exec_cmd(ipc .. "notifications toggleDND"))
|
||||
hl.bind("A" ,hl.dsp.exec_cmd(ipc .. "notifications dismissAll"))
|
||||
hl.bind("SHIFT + B" ,hl.dsp.exec_cmd(ipc .. "bar toggle"))
|
||||
hl.bind("SHIFT + W" ,hl.dsp.exec_cmd(ipc .. "wifi toggle -- toggle wifi"))
|
||||
hl.bind("I" ,hl.dsp.exec_cmd(ipc .. "wallpaper toggle"))
|
||||
hl.bind(" L " ,hl.dsp.exec_cmd(ipc .. "sessionMenu toggle"))
|
||||
hl.bind("B " ,hl.dsp.exec_cmd(ipc .. "battery togglePanel -- toggle battery panel"))
|
||||
hl.bind("SHIFT + C " ,hl.dsp.exec_cmd(ipc .. "calendar toggle"))
|
||||
-- Bind Submaps
|
||||
hl.bind("L" ,hl.dsp.submap("layouts"))
|
||||
hl.bind("N" ,function ()
|
||||
hl.dispatch(hl.dsp.submap("notifications-sub"))
|
||||
hl.dispatch(hl.dsp.exec_cmd(ipc .. "notifications toggleHistory"))
|
||||
end)
|
||||
hl.bind("B" ,function()
|
||||
hl.dispatch(hl.dsp.submap("bt-sub"))
|
||||
hl.dispatch(hl.dsp.exec_cmd(ipc .. "bluetooth togglePanel"))
|
||||
end)
|
||||
hl.bind("W" ,function ()
|
||||
hl.dispatch(hl.dsp.submap("wifi-sub"))
|
||||
hl.dispatch(hl.dsp.exec_cmd(ipc .. "network togglePanel"))
|
||||
end)
|
||||
-- TODO Implement layout switching
|
||||
-- hl.bind(, L, hl.dsp.exec_cmd( notify-send "layout switching" & hyprctl dispatch submap layouts)
|
||||
hl.bind("catchall" ,function ()
|
||||
hl.dispatch(hl.dsp.submap("reset"))
|
||||
hl.dispatch(hl.dsp.exec_cmd(ipc .. "controlCenter toggle "))
|
||||
end)
|
||||
end)
|
||||
hl.define_submap("notifications-sub", function()
|
||||
hl.bind("D" ,hl.dsp.exec_cmd(ipc .. "notifications toggleDND"))
|
||||
hl.bind("S" ,hl.dsp.exec_cmd(ipc .. "notifications toggleDND"))
|
||||
hl.bind("Q" ,hl.dsp.exec_cmd(ipc .. "notifications toggleDND"))
|
||||
hl.bind("A" ,hl.dsp.exec_cmd(ipc .. "notifications dismissAll"))
|
||||
hl.bind("C" ,hl.dsp.exec_cmd(ipc .. "notifications clear"))
|
||||
hl.bind("CTRL + D" ,hl.dsp.exec_cmd(ipc .. "notifications dismissAll"))
|
||||
hl.bind("SHIFT + D" ,hl.dsp.exec_cmd(ipc .. "notifications dismissAll"))
|
||||
hl.bind(mainMod .. " + D " ,hl.dsp.exec_cmd(ipc .. "notifications dismissAll"))
|
||||
hl.bind("escape" ,function ()
|
||||
hl.dispatch(hl.dsp.exec_cmd(ipc .. "notifications toggleHistory"))
|
||||
hl.dispatch(hl.dsp.submap("reset"))
|
||||
end)
|
||||
end)
|
||||
|
||||
hl.define_submap("wifi-sub", "reset", function()
|
||||
hl.bind("T" ,hl.dsp.exec_cmd(ipc .. "wifi toggle"))
|
||||
hl.bind("S" ,hl.dsp.exec_cmd(ipc .. "wifi togglePanel"))
|
||||
hl.bind("D" ,hl.dsp.exec_cmd(ipc .. "wifi disable"))
|
||||
hl.bind("E" ,hl.dsp.exec_cmd(ipc .. "wifi enable"))
|
||||
hl.bind("R" ,hl.dsp.exec_cmd("sudo systemctl restart iwd"))
|
||||
hl.bind("escape" ,hl.dsp.exec_cmd(ipc .. "network togglePanel"))
|
||||
end)
|
||||
|
||||
hl.define_submap("bt-sub", function()
|
||||
hl.bind("T" ,hl.dsp.exec_cmd(ipc .. "bluetooth toggle"))
|
||||
hl.bind("S" ,hl.dsp.exec_cmd(ipc .. "bluetooth togglePanel"))
|
||||
hl.bind("D" ,hl.dsp.exec_cmd(ipc .. "bluetooth disable"))
|
||||
hl.bind("E" ,hl.dsp.exec_cmd(ipc .. "bluetooth enable"))
|
||||
hl.bind("H" ,hl.dsp.exec_cmd('bluetoothctl connect 88:92:CC:53:88:7E && notify-send "connected to headphones"'))
|
||||
hl.bind("J" ,hl.dsp.exec_cmd('bluetoothctl disconnect 88:92:CC:53:88:7E && notify-send "disconnected from headphones"'))
|
||||
hl.bind("SHIFT + H" ,hl.dsp.exec_cmd('bluetoothctl disconnect 88:92:CC:53:88:7E && notify-send "disconnected from headphones"'))
|
||||
hl.bind("P" ,hl.dsp.exec_cmd('bluetoothctl connect 64:9D:38:E0:4D:02 && notify-send "Connected to phone"'))
|
||||
hl.bind("M" ,hl.dsp.exec_cmd('bluetoothctl disconnect 64:9D:38:E0:4D:02 && notify-send "Disconnected from phone"'))
|
||||
hl.bind("escape" ,function ()
|
||||
hl.dispatch(hl.dsp.exec_cmd(ipc .. "bluetooth togglePanel"))
|
||||
hl.dispatch(hl.dsp.submap("reset"))
|
||||
end)
|
||||
end)
|
||||
|
||||
|
||||
-- TODO Implement a VPN subnet
|
||||
|
||||
hl.define_submap("open-apps", "reset", function()
|
||||
hl.bind("S" ,hl.dsp.exec_cmd("signal-desktop"))
|
||||
hl.bind("D" ,hl.dsp.exec_cmd("vesktop"))
|
||||
hl.bind("F" ,hl.dsp.exec_cmd("firefox"))
|
||||
hl.bind("M" ,hl.dsp.exec_cmd("feishin"))
|
||||
hl.bind("R" ,hl.dsp.exec_cmd("calibre"))
|
||||
hl.bind("E" ,hl.dsp.exec_cmd("darktable"))
|
||||
hl.bind("catchall" ,hl.dsp.submap("reset"))
|
||||
end)
|
||||
|
||||
--hl.define_submap("layouts, reset
|
||||
-- hl.bind(, D, hl.dsp.exec_cmd( hyprctl general:layout dwindle)
|
||||
-- hl.bind(, M, hl.dsp.exec_cmd( hyprctl general:layout master)
|
||||
--hl.define_submap("reset
|
||||
|
||||
---- 13. Misc tools.
|
||||
--- 14. Gestures
|
||||
hl.gesture({ fingers = 3, direction = "horizontal", action = "workspace" })
|
||||
-- hl.gesture({ fingers = 2, direction = "pinch", action = "cursor_zoom", zoom_level = 2, mode = "mult"})
|
||||
--hl.bind(ALT, SPACE, hl.dsp.exec_cmd( $menu)
|
||||
|
||||
83
basic/looks.lua
Normal file
83
basic/looks.lua
Normal file
@@ -0,0 +1,83 @@
|
||||
-----------------------
|
||||
---- LOOK AND FEEL ----
|
||||
-----------------------
|
||||
|
||||
-- Refer to https://wiki.hypr.land/Configuring/Variables/
|
||||
|
||||
-- https://wiki.hypr.land/Configuring/Variables/--general
|
||||
-- Bypass the Lua module cache to load fresh Noctalia colors on reload
|
||||
local colors = dofile(os.getenv("HOME") .. "/.config/hypr/noctalia/noctalia-colors.lua")
|
||||
|
||||
hl.config ({
|
||||
general = {
|
||||
gaps_in = 5,
|
||||
gaps_out = 4,
|
||||
border_size = 1,
|
||||
-- https://wiki.hypr.land/Configuring/Variables/--variable-types for info about colors,
|
||||
col = {
|
||||
["active_border"] = { colors = { colors.primary, colors.tertiary }, angle = 9},
|
||||
["inactive_border"] = colors.background,
|
||||
},
|
||||
-- Set to true enable resizing windows by clicking and dragging on borders and gaps,
|
||||
|
||||
resize_on_border = true,
|
||||
-- Please see https://wiki.hypr.land/Configuring/Tearing/ before you turn this on,
|
||||
allow_tearing = false,
|
||||
|
||||
layout = "dwindle",
|
||||
},
|
||||
|
||||
-- https://wiki.hypr.land/Configuring/Variables/--decoration
|
||||
decoration = {
|
||||
rounding = 20,
|
||||
rounding_power = 2,
|
||||
-- Change transparency of focused and unfocused windows,
|
||||
active_opacity = 1.0,
|
||||
inactive_opacity = 1.0,
|
||||
shadow = {
|
||||
enabled = true,
|
||||
range = 5,
|
||||
render_power = 7,
|
||||
color = colors.background,
|
||||
},
|
||||
-- https://wiki.hypr.land/Configuring/Variables/--blur,
|
||||
blur = {
|
||||
enabled = true,
|
||||
size = 3,
|
||||
passes = 2,
|
||||
vibrancy = 0.1696,
|
||||
},
|
||||
},
|
||||
|
||||
animations = {
|
||||
enabled = true,
|
||||
},
|
||||
})
|
||||
|
||||
-- Default curves and animations, see https://wiki.hypr.land/Configuring/Advanced-and-Cool/Animations/
|
||||
hl.curve("easeOutQuint", { type = "bezier", points = { {0.23, 1}, {0.32, 1} } })
|
||||
hl.curve("easeInOutCubic", { type = "bezier", points = { {0.65, 0.05}, {0.36, 1} } })
|
||||
hl.curve("linear", { type = "bezier", points = { {0, 0}, {1, 1} } })
|
||||
hl.curve("almostLinear", { type = "bezier", points = { {0.5, 0.5}, {0.75, 1} } })
|
||||
hl.curve("quick", { type = "bezier", points = { {0.15, 0}, {0.1, 1} } })
|
||||
|
||||
-- Default springs
|
||||
hl.curve("easy", { type = "spring", mass = 1, stiffness = 71.2633, dampening = 15.8273644 })
|
||||
|
||||
hl.animation({ leaf = "global", enabled = true, speed = 10, bezier = "default" })
|
||||
hl.animation({ leaf = "border", enabled = true, speed = 5.39, bezier = "easeOutQuint" })
|
||||
hl.animation({ leaf = "windows", enabled = true, speed = 4.79, spring = "easy" })
|
||||
hl.animation({ leaf = "windowsIn", enabled = true, speed = 4.1, spring = "easy", style = "popin 87%" })
|
||||
hl.animation({ leaf = "windowsOut", enabled = true, speed = 1.49, bezier = "linear", style = "popin 87%" })
|
||||
hl.animation({ leaf = "fadeIn", enabled = true, speed = 1.73, bezier = "almostLinear" })
|
||||
hl.animation({ leaf = "fadeOut", enabled = true, speed = 1.46, bezier = "almostLinear" })
|
||||
hl.animation({ leaf = "fade", enabled = true, speed = 3.03, bezier = "quick" })
|
||||
hl.animation({ leaf = "layers", enabled = true, speed = 3.81, bezier = "easeOutQuint" })
|
||||
hl.animation({ leaf = "layersIn", enabled = true, speed = 4, bezier = "easeOutQuint", style = "fade" })
|
||||
hl.animation({ leaf = "layersOut", enabled = true, speed = 1.5, bezier = "linear", style = "fade" })
|
||||
hl.animation({ leaf = "fadeLayersIn", enabled = true, speed = 1.79, bezier = "almostLinear" })
|
||||
hl.animation({ leaf = "fadeLayersOut", enabled = true, speed = 1.39, bezier = "almostLinear" })
|
||||
hl.animation({ leaf = "workspaces", enabled = true, speed = 1.94, bezier = "almostLinear", style = "fade" })
|
||||
hl.animation({ leaf = "workspacesIn", enabled = true, speed = 1.21, bezier = "almostLinear", style = "fade" })
|
||||
hl.animation({ leaf = "workspacesOut", enabled = true, speed = 1.94, bezier = "almostLinear", style = "fade" })
|
||||
hl.animation({ leaf = "zoomFactor", enabled = true, speed = 7, bezier = "quick" })
|
||||
50
basic/vars.lua
Normal file
50
basic/vars.lua
Normal file
@@ -0,0 +1,50 @@
|
||||
hl.config = {
|
||||
input = {
|
||||
kb_layout = "us",
|
||||
-- kb_variant =
|
||||
-- kb_model =
|
||||
-- kb_options =
|
||||
-- kb_rules =
|
||||
follow_mouse = 1,
|
||||
sensitivity = 0,
|
||||
|
||||
touchpad = {
|
||||
natural_scroll = true,
|
||||
},
|
||||
cursor = {
|
||||
inactive_timeout= 0.1,
|
||||
},
|
||||
},
|
||||
xwayland = {
|
||||
force_zero_scaling = true
|
||||
},
|
||||
misc = {
|
||||
force_default_wallpaper = 1,
|
||||
disable_hyprland_logo = false,
|
||||
},
|
||||
dwindle = {
|
||||
preserve_split = true,
|
||||
},
|
||||
master = {
|
||||
new_status = "master",
|
||||
},
|
||||
scrolling = {
|
||||
fullscreen_on_one_column = true,
|
||||
},
|
||||
}
|
||||
|
||||
-------------------
|
||||
--- PERMISSIONS ---
|
||||
-------------------
|
||||
|
||||
-- See https://wiki.hypr.land/Configuring/Permissions/
|
||||
-- Please note permission changes here require a Hyprland restart and are not applied on-the-fly
|
||||
-- for security reasons
|
||||
|
||||
-- ecosystem {
|
||||
-- enforce_permissions = 1
|
||||
-- }
|
||||
|
||||
-- permission = /usr/(bin|local/bin)/grim, screencopy, allow
|
||||
-- permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow
|
||||
-- permission = /usr/(bin|local/bin)/hyprpm, plugin, allow
|
||||
83
basic/windows.lua
Normal file
83
basic/windows.lua
Normal file
@@ -0,0 +1,83 @@
|
||||
--#############################
|
||||
--## WINDOWS AND WORKSPACES ###
|
||||
--#############################
|
||||
|
||||
-- See https://wiki.hypr.land/Configuring/Window-Rules/ for more
|
||||
-- See https://wiki.hypr.land/Configuring/Workspace-Rules/ for workspace rules
|
||||
hl.window_rule({
|
||||
name = "scrcpy",
|
||||
match = {class = "scrcpy"},
|
||||
border_size = 5,
|
||||
float = true,
|
||||
dim_around = true,
|
||||
move = {5, 40},
|
||||
})
|
||||
|
||||
hl.window_rule({
|
||||
name = "compiler-window",
|
||||
match = { tag = "compiler"},
|
||||
border_color = "0xccaaffee",
|
||||
border_size = 2,
|
||||
float = false,
|
||||
})
|
||||
|
||||
hl.window_rule({
|
||||
name = "gaming",
|
||||
match = {
|
||||
class = "steam",
|
||||
initial_class = "steam"
|
||||
},
|
||||
workspace = "special:gaming"
|
||||
})
|
||||
|
||||
|
||||
hl.window_rule( {
|
||||
-- Ignore maximize requests from all apps. You'll probably like this.
|
||||
name = "suppress-maximize-events",
|
||||
match = {class = ".*"},
|
||||
suppress_event = "maximize",
|
||||
})
|
||||
|
||||
hl.window_rule( {
|
||||
-- Fix some dragging issues with XWayland
|
||||
name = "fix-xwayland-drags",
|
||||
match = {
|
||||
class = "^$",
|
||||
title = "^$",
|
||||
xwayland = true,
|
||||
float = true,
|
||||
fullscreen = false,
|
||||
pin = false
|
||||
},
|
||||
no_focus = true,
|
||||
})
|
||||
|
||||
|
||||
-- Hyprland-run hl.window_rule(
|
||||
hl.window_rule( {
|
||||
name = "move-hyprland-run",
|
||||
match = {class = "hyprland-run"},
|
||||
move = {20,"monitor_h-120"},
|
||||
float = true
|
||||
})
|
||||
|
||||
hl.window_rule( {
|
||||
name = "calc-term",
|
||||
match = {class = "calc-term"},
|
||||
pseudo = true,
|
||||
float = true,
|
||||
center = true,
|
||||
opacity = 1,
|
||||
-- move = {"cursor_x-10", "cursor_y-10"},
|
||||
size = {"monitor_w*.4", "monitor_h*.4"},
|
||||
|
||||
})
|
||||
hl.workspace_rule( {
|
||||
workspace = "w[tv1]",
|
||||
gaps_out = 1,
|
||||
gaps_in = 1,
|
||||
border_size = 1,
|
||||
no_rounding = false,
|
||||
})
|
||||
|
||||
|
||||
6
custom-functions.lua
Normal file
6
custom-functions.lua
Normal file
@@ -0,0 +1,6 @@
|
||||
-- custom-functions.lua
|
||||
local C = {}
|
||||
function C.startTimer()
|
||||
-- TODO implement custom timer logic here
|
||||
end
|
||||
return C
|
||||
50
hyprland.lua
Normal file
50
hyprland.lua
Normal file
@@ -0,0 +1,50 @@
|
||||
----------------
|
||||
--- STARTUP ---
|
||||
----------------
|
||||
|
||||
_G.terminal = "kitty"
|
||||
_G.fileManager = "dolphin"
|
||||
_G.menu = "qs -c noctalia-shell ipc call launcher toggle"
|
||||
_G.launcher = "vicinae "
|
||||
_G.browser = "firefox"
|
||||
_G.menuBar = "qs -c noctalia-shell"
|
||||
_G.shellWrapper = "qs -c noctalia-shell"
|
||||
_G.blkmanager = "udiskie"
|
||||
_G.email = "thunderbird"
|
||||
_G.notes = "obsidian"
|
||||
|
||||
hl.on("hyprland.start", function()
|
||||
hl.exec_cmd(menuBar)
|
||||
hl.exec_cmd("systemctl") --user start hyprpolkitagent)
|
||||
hl.exec_cmd(blkmanager)
|
||||
hl.exec_cmd(launcher .. "server") --no-window) TODO set up sddm to unlock keychain
|
||||
hl.exec_cmd("hyprpm reload -n")
|
||||
hl.exec_cmd("kdeconnectd")
|
||||
-- hl.exec_cmd("hyprshell run &")
|
||||
hl.exec_cmd("vesktop -m", {workspace ="special:vesktop silent"})
|
||||
hl.exec_cmd(email, {workspace ="special:vesktop silent"})
|
||||
hl.exec_cmd(notes, {workspace ="special:vesktop silent"})
|
||||
hl.exec_cmd("steam --forcedesktopscaling 0.5", {workspace ="special:vesktop silent"})
|
||||
hl.exec_cmd("protonmail-bridge") --no-window) TODO set up sddm to unlock keychain
|
||||
end)
|
||||
|
||||
hl.config({
|
||||
general = {
|
||||
layout = "dwindle"
|
||||
}
|
||||
})
|
||||
|
||||
hl.env("XCURSOR_SIZE", "24")
|
||||
hl.env("HYPRCURSOR_SIZE", "24")
|
||||
hl.env("ELECTRON_OZONE_PLATFORM_HINT", "auto")
|
||||
|
||||
local base = "/home/venus/.config/hypr"
|
||||
local basic = base .. "/basic"
|
||||
|
||||
|
||||
require("basic/looks")
|
||||
require("basic/keybinds")
|
||||
require("basic/vars")
|
||||
require("basic/windows")
|
||||
-- require("plugins")
|
||||
--require("monitors")
|
||||
@@ -1,7 +1,7 @@
|
||||
background = rgba(1e100fff)
|
||||
base = rgba(1e100fff)
|
||||
text = rgba(f8dcdbff)
|
||||
alternate_base = rgba(5d3f3eff)
|
||||
bright_text = rgba(49204dff)
|
||||
accent = rgba(f9acfaff)
|
||||
accent_secondary = rgba(ecb4ebff)
|
||||
background = rgba(121316ff)
|
||||
base = rgba(121316ff)
|
||||
text = rgba(e2e2e6ff)
|
||||
alternate_base = rgba(43474eff)
|
||||
bright_text = rgba(253140ff)
|
||||
accent = rgba(9fcaffff)
|
||||
accent_secondary = rgba(bbc7dbff)
|
||||
14
hyridle.conf
Normal file
14
hyridle.conf
Normal file
@@ -0,0 +1,14 @@
|
||||
general {
|
||||
lock_cmd = notify-send "lock!" # dbus/sysd lock command (loginctl lock-session)
|
||||
unlock_cmd = notify-send "unlock!" # same as above, but unlock
|
||||
before_sleep_cmd = notify-send "Zzz" # command ran before sleep
|
||||
after_sleep_cmd = notify-send "Awake!" # command ran after sleep
|
||||
ignore_dbus_inhibit = false # whether to ignore dbus-sent idle-inhibit requests (used by e.g. firefox or steam)
|
||||
ignore_systemd_inhibit = false # whether to ignore systemd-inhibit --what=idle inhibitors
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 500 # in seconds
|
||||
on-timeout = notify-send "You are idle!" # command to run when timeout has passed
|
||||
on-resume = notify-send "Welcome back!" # command to run when activity is detected after timeout has fired.
|
||||
}
|
||||
@@ -1,5 +1,11 @@
|
||||
# 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,6540x-50,1.60000000,transform,0,vrr,0
|
||||
monitor=desc:Invalid Vendor Codename - RTK TYPE-C 0000000000000,1920x1200@59.95000,8140x50,1.00000000,transform,0,vrr,0
|
||||
# <<<<< TUI AUTO END
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
$primary = rgb(f9acfa)
|
||||
$surface = rgb(1e100f)
|
||||
$secondary = rgb(ecb4eb)
|
||||
$primary = rgb(9fcaff)
|
||||
$surface = rgb(121316)
|
||||
$secondary = rgb(bbc7db)
|
||||
$error = rgb(ffb4ab)
|
||||
$tertiary = rgb(ffb3b1)
|
||||
$surface_lowest = rgb(180b0a)
|
||||
$tertiary = rgb(d7bee4)
|
||||
$surface_lowest = rgb(0d0e11)
|
||||
|
||||
general {
|
||||
col.active_border = $primary
|
||||
|
||||
12
noctalia/noctalia-colors.lua
Normal file
12
noctalia/noctalia-colors.lua
Normal file
@@ -0,0 +1,12 @@
|
||||
-- ~/.config/noctalia/templates/hyprland-colors.lua
|
||||
-- Automatically generated by Noctalia user-templates
|
||||
|
||||
local colors = {
|
||||
background = "#121316",
|
||||
primary = "#9fcaff",
|
||||
tertiary = "#d7bee4",
|
||||
secondary = "#bbc7db",
|
||||
error = "#ffb4ab",
|
||||
}
|
||||
|
||||
return colors
|
||||
0
plugins.lua
Normal file
0
plugins.lua
Normal file
21
scripts/compile.sh
Executable file
21
scripts/compile.sh
Executable file
@@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Define your targets
|
||||
TARGET_CLASS="kitty"
|
||||
TARGET_TAG="compiler"
|
||||
|
||||
WINDOW_ADDR=$(hyprctl clients -j | jq -r '.[] | select(.tags[]? == "compiler" and .class == "kitty") | .address')
|
||||
|
||||
if [ -z "$WINDOW_ADDR" ] || [ "$WINDOW_ADDR" == "null" ]; then
|
||||
notify-send "Target Error" "No window found with tag $TARGET_TAG"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Focus the window
|
||||
# hyprctl dispatch focuswindow address:$WINDOW_ADDR
|
||||
echo $WINDOW_ADDR
|
||||
hyprctl dispatch sendshortcut CTRL ,UP, address:"$WINDOW_ADDR"
|
||||
# hyprctl dispatch sendshortcut ,Return, address:"$WINDOW_ADDR"
|
||||
# Send the command using wtype (Wayland's xdotool alternative)
|
||||
# This types the command and presses Enter
|
||||
sleep 0.1 # Small delay to ensure focus has shifted
|
||||
3
scripts/getIp.sh
Executable file
3
scripts/getIp.sh
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
ip=$(ip a show wlan0 | sed -n 's/inet \([0-9.]*\..*\)\/.*/\1 /p' | tr -d ' ')
|
||||
echo $ip
|
||||
Reference in New Issue
Block a user