Compare commits

...

15 Commits

Author SHA1 Message Date
c048717831 refactor: hyprlock (from https://github.com/MrVivekRajan/Hyprlock-Styles) 2026-01-29 16:42:38 +03:00
1308399187 feat: mpris support for waybar 2026-01-27 23:36:18 +03:00
cebcd98d0f refactor: rmpc 2026-01-27 21:00:45 +03:00
edb834371c refactor: waybar 2026-01-27 21:00:29 +03:00
ed840b5554 refactor: hypr 2026-01-27 20:59:34 +03:00
02bf812d7b fix: privacy rules 2026-01-22 00:37:52 +03:00
d7b63ad132 feat: waybar alt highlight for workspaces on different monitor 2026-01-16 08:57:47 +03:00
9f6ea0e3d1 refactor: updated waybar workspaces 2026-01-16 08:57:04 +03:00
e5bd69cfc4 chore: enabled markdown-preview and disabled image 2026-01-16 08:56:08 +03:00
74e5740a77 refactor: monitor setup changed 2026-01-16 08:55:29 +03:00
d75700ce5c refactor: rofi controls 2026-01-13 13:22:28 +03:00
226c027ebf fix: Telegram media viewer fullscreen;
fix: hyprbar style;
refactor: disabled hyprbars
2026-01-09 21:09:11 +03:00
0ba43bfb80 chore: groomed up hyprland main conf, removed wiki-related comments and commented out params since it's hard to guess what's not obsolete at this point 2026-01-01 20:18:52 +03:00
c5be52cc32 fix: centering issues 2026-01-01 20:03:45 +03:00
816db39d6e fix: window and layer rules. Hypr devs had to fix what wasn't broken again. 2026-01-01 19:36:08 +03:00
18 changed files with 569 additions and 397 deletions

View File

@@ -2,17 +2,12 @@
### MONITORS ### ### MONITORS ###
################ ################
# See https://wiki.hyprland.org/Configuring/Monitors/ source = ~/.config/hypr/monitors.conf
# monitor=eDP-1, 1920x1080, 0x0, 1
# monitor=HDMI-A-1, 1920x1080, -1920x-100, 1
################### ###################
### MY PROGRAMS ### ### MY PROGRAMS ###
################### ###################
# See https://wiki.hyprland.org/Configuring/Keywords/
# Set programs that you use
$terminal = kitty $terminal = kitty
$fastTerminal = kitty --single-instance $fastTerminal = kitty --single-instance
$fileManager = thunar $fileManager = thunar
@@ -49,6 +44,7 @@ exec-once = $startDelay && ~/.config/hypr/scripts/toggle_proxy.sh
exec-once = $startDelay && ~/.config/hypr/scripts/sounds.sh exec-once = $startDelay && ~/.config/hypr/scripts/sounds.sh
exec-once = $startDelay && ~/.config/hypr/scripts/random_wallpaper.sh exec-once = $startDelay && ~/.config/hypr/scripts/random_wallpaper.sh
exec-once = $startDelay && ~/.config/hypr/scripts/autofreezer.sh exec-once = $startDelay && ~/.config/hypr/scripts/autofreezer.sh
exec-once = .cargo/bin/mpd-discord-rpc
exec-shutdown = play -v 0.7 $HOME/Templates/Sounds/teleport.mp3 exec-shutdown = play -v 0.7 $HOME/Templates/Sounds/teleport.mp3
@@ -56,55 +52,27 @@ exec-shutdown = play -v 0.7 $HOME/Templates/Sounds/teleport.mp3
### ENVIRONMENT VARIABLES ### ### ENVIRONMENT VARIABLES ###
############################# #############################
# See https://wiki.hyprland.org/Configuring/Environment-variables/
env = XCURSOR_SIZE,24 env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24 env = HYPRCURSOR_SIZE,24
# env = QT_QPA_PLATFORMTHEME,qt6ct
################### ###################
### PERMISSIONS ### ### PERMISSIONS ###
################### ###################
# See https://wiki.hyprland.org/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 ### ### LOOK AND FEEL ###
##################### #####################
# Refer to https://wiki.hyprland.org/Configuring/Variables/
# https://wiki.hyprland.org/Configuring/Variables/#general
general { general {
gaps_in = 15 gaps_in = 15
gaps_out = 25 gaps_out = 25
border_size = 1 border_size = 1
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col.active_border = rgba(E96375ff) rgba(9E2238ff) 45deg col.active_border = rgba(E96375ff) rgba(9E2238ff) 45deg
col.inactive_border = rgba(4B535Bff) # rgba(595959aa) col.inactive_border = rgba(4B535Bff) # rgba(595959aa)
# Set to true enable resizing windows by clicking and dragging on borders and gaps
resize_on_border = true resize_on_border = true
hover_icon_on_border = true hover_icon_on_border = true
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
allow_tearing = true # false allow_tearing = true # false
layout = dwindle layout = dwindle
no_focus_fallback = true no_focus_fallback = true
snap { snap {
@@ -112,13 +80,10 @@ general {
} }
} }
# https://wiki.hyprland.org/Configuring/Variables/#decoration
decoration { decoration {
rounding = 15 rounding = 15
rounding_power = 2 rounding_power = 2
border_part_of_window = 0 border_part_of_window = 0
# Change transparency of focused and unfocused windows
active_opacity = 1.0 active_opacity = 1.0
inactive_opacity = 1.0 inactive_opacity = 1.0
@@ -129,7 +94,6 @@ decoration {
color = rgba(1a1a1aee) color = rgba(1a1a1aee)
} }
# https://wiki.hyprland.org/Configuring/Variables/#blur
blur { blur {
enabled = true enabled = true
size = 1 size = 1
@@ -146,10 +110,8 @@ decoration {
group { group {
col.border_active = rgba(E96375ff) rgba(EB75FFff) 45deg col.border_active = rgba(E96375ff) rgba(EB75FFff) 45deg
col.border_inactive = rgba(F9730032) rgba(FB850032) 45deg col.border_inactive = rgba(F9730032) rgba(FB850032) 45deg
# col.border_locked_active = rgba(E96375ff) rgba(EB75FFff) 45deg
# col.border_locked_inactive = rgba(E96375ff) rgba(EB75FFff) 45deg
groupbar { groupbar {
# font_size = 12
text_color = rgba(ffffff00) text_color = rgba(ffffff00)
render_titles = false render_titles = false
indicator_height = 10 indicator_height = 10
@@ -159,27 +121,24 @@ group {
col.inactive = rgba(32323264) rgba(32323264) 45deg col.inactive = rgba(32323264) rgba(32323264) 45deg
gaps_in = 5 gaps_in = 5
gaps_out = 2 gaps_out = 2
} }
} }
source = ~/.config/hypr/grayscale.conf source = ~/.config/hypr/grayscale.conf
# https://wiki.hyprland.org/Configuring/Variables/#animations
animations { animations {
enabled = yes, please :) enabled = true
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
bezier = easeOutQuint,0.23,1,0.32,1 bezier = easeOutQuint,0.23,1,0.32,1
bezier = easeInOutCubic,0.65,0.05,0.36,1 bezier = easeInOutCubic,0.65,0.05,0.36,1
bezier = linear,0,0,1,1 bezier = linear,0,0,1,1
bezier = almostLinear,0.5,0.5,0.75,1.0 bezier = almostLinear,0.5,0.5,0.75,1.0
bezier = quick,0.15,0,0.1,1 bezier = quick,0.15,0,0.1,1
bezier = overshoot, 0.05, 0.9, 0.1, 1.1
animation = global, 1, 10, default animation = global, 1, 10, default
animation = border, 1, 5.39, easeOutQuint animation = border, 1, 5.39, easeOutQuint
animation = windows, 1, 4.79, easeOutQuint animation = windows, 1, 4.79, overshoot
animation = windowsIn, 1, 5, easeOutQuint, popin 0% animation = windowsIn, 1, 5, easeOutQuint, popin 0%
animation = windowsOut, 1, 10, linear, popin 0% animation = windowsOut, 1, 10, linear, popin 0%
animation = fadeIn, 1, 1.73, almostLinear animation = fadeIn, 1, 1.73, almostLinear
@@ -198,36 +157,19 @@ animations {
animation = layers, 1, 7, default, slide animation = layers, 1, 7, default, slide
} }
# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/ workspace = 10, monitor:eDP-1
# "Smart gaps" / "No gaps when only" workspace = 11, monitor:eDP-1
# uncomment all if you wish to use that. workspace = 12, monitor:eDP-1
# workspace = w[tv1], gapsout:0, gapsin:0 workspace = 1, monitor:HDMI-A-1
# workspace = f[1], gapsout:0, gapsin:0 workspace = 2, monitor:HDMI-A-1
workspace = 1, monitor:eDP-1 workspace = 3, monitor:HDMI-A-1
workspace = 2, monitor:eDP-1 workspace = 4, monitor:HDMI-A-1
workspace = 3, monitor:eDP-1 workspace = 5, monitor:HDMI-A-1
workspace = 4, monitor:eDP-1 workspace = 6, monitor:HDMI-A-1
workspace = 5, monitor:eDP-1 workspace = 7, monitor:HDMI-A-1
workspace = 6, monitor:eDP-1 workspace = 8, monitor:HDMI-A-1
workspace = 7, monitor:eDP-1 workspace = 9, monitor:HDMI-A-1
workspace = 8, monitor:eDP-1
workspace = 9, monitor:eDP-1
workspace = 10, monitor:HDMI-A-1
workspace = 11, monitor:HDMI-A-1
workspace = 12, monitor:HDMI-A-1
workspace = 13, monitor:eDP-1
workspace = 14, monitor:HDMI-A-1
workspace = 13, on-created-empty:hyprctl dispatch workspace 1
workspace = 14, on-created-empty:hyprctl dispatch workspace 10
# workspace = 14, on-created-empty:
# windowrule = bordersize 0, floating:0, onworkspace:w[tv1]
# windowrule = rounding 0, floating:0, onworkspace:w[tv1]
# windowrule = bordersize 0, floating:0, onworkspace:f[1]
# windowrule = rounding 0, floating:0, onworkspace:f[1]
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
dwindle { dwindle {
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = true # You probably want this preserve_split = true # You probably want this
@@ -235,7 +177,6 @@ dwindle {
force_split = 2 force_split = 2
} }
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
master { master {
new_status = master new_status = master
} }
@@ -244,7 +185,6 @@ render {
direct_scanout = 1 direct_scanout = 1
} }
# https://wiki.hyprland.org/Configuring/Variables/#misc
misc { misc {
force_default_wallpaper = 1 force_default_wallpaper = 1
disable_hyprland_logo = true disable_hyprland_logo = true
@@ -256,6 +196,8 @@ misc {
enable_anr_dialog = false enable_anr_dialog = false
render_unfocused_fps = 1 render_unfocused_fps = 1
size_limits_tiled = true size_limits_tiled = true
on_focus_under_fullscreen = 0
exit_window_retains_fullscreen = false
} }
############## ##############
@@ -263,9 +205,6 @@ misc {
############## ##############
cursor { cursor {
# inactive_timeout = 10
# no_warps = 1
# persistent_warps = 1
warp_on_change_workspace = 1 warp_on_change_workspace = 1
} }
@@ -273,23 +212,16 @@ cursor {
### INPUT ### ### INPUT ###
############# #############
# https://wiki.hyprland.org/Configuring/Variables/#input
input { input {
kb_layout= us,ru kb_layout = us,ru
kb_options= grp:caps_toggle,grp_led:caps kb_options = grp:caps_toggle,grp_led:caps
# kb_variant = ,qwerty
# kb_model =
# kb_rules =
repeat_rate = 25 repeat_rate = 25
repeat_delay = 200 repeat_delay = 200
follow_mouse = 2 follow_mouse = 2
float_switch_override_focus = 0 float_switch_override_focus = 0
# touchpad / canyon
# sensitivity = 0.2 # -1.0 - 1.0, 0 means no modification.
# ardor sensitivity = 0.025
sensitivity = 0.025 # -1.0 - 1.0, 0 means no modification.
touchpad { touchpad {
natural_scroll = true natural_scroll = true
@@ -298,7 +230,6 @@ input {
} }
} }
# https://wiki.hyprland.org/Configuring/Variables/#gestures
gestures { gestures {
# Workspaces # Workspaces
gesture = 4, horizontal, scale: 2, workspace gesture = 4, horizontal, scale: 2, workspace
@@ -315,8 +246,6 @@ gestures {
gesture = 4, down, dispatcher, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 10%- gesture = 4, down, dispatcher, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 10%-
} }
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
device { device {
name = gxtp7863:00-27c6:01e0-touchpad name = gxtp7863:00-27c6:01e0-touchpad
sensitivity = 0.5 sensitivity = 0.5
@@ -326,11 +255,16 @@ device {
### KEYBINDINGS ### ### KEYBINDINGS ###
################### ###################
# See https://wiki.hyprland.org/Configuring/Keywords/ $mainMod = SUPER
$mainMod = SUPER # Sets "Windows" key as main modifier
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more binds {
allow_workspace_cycles = true
}
# Exit hyprland
bind = $mainMod ALT, Q, exit, bind = $mainMod ALT, Q, exit,
# Shutdown
bind = $mainMod SHIFT, delete, exec, shutdown now bind = $mainMod SHIFT, delete, exec, shutdown now
# Menu dropdown # Menu dropdown
@@ -347,16 +281,16 @@ bind = $mainMod, G, exec, pkill rofi || $recorder
bind = $mainMod, N, exec, $notificationCenter bind = $mainMod, N, exec, $notificationCenter
# Open floating terminal # Open floating terminal
bind = $mainMod SHIFT, Return, exec, [float; size 800 600; move center] $fastTerminal --class kitty-float bind = $mainMod SHIFT, Return, exec, $fastTerminal --class kitty-float
# Open bluetooth # Open bluetooth
bind = $mainMod, F3, exec, [float; size 600 400; move center] $fastTerminal --class kitty-float bluetui bind = $mainMod, F3, exec, $fastTerminal --class kitty-float bluetui
# Open alsamixer # Open alsamixer
bind = $mainMod, F2, exec, [float; size 600 400; move center] $fastTerminal --class kitty-float alsamixer -V all bind = $mainMod, F2, exec, $fastTerminal --class kitty-float alsamixer -V all
# Open ncmpcpp # Open ncmpcpp
bind = $mainMod, F1, exec, [float; size 600 400; move center] $fastTerminal --class kitty-float ncmpcpp bind = $mainMod, F1, exec, $fastTerminal --class kitty-float ncmpcpp
# Close window # Close window
binde = $mainMod, W, killactive, binde = $mainMod, W, killactive,
@@ -392,7 +326,7 @@ bind = $mainMod, l, movefocus, r
bind = $mainMod, k, movefocus, u bind = $mainMod, k, movefocus, u
bind = $mainMod, j, movefocus, d bind = $mainMod, j, movefocus, d
# Switch workspaces with mainMod + [0-9] # Switch workspaces with mainMod + [0,1,2,3,4,5,6,7,8,9,0,-,=]
bind = $mainMod, 1, workspace, 1 bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2 bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3 bind = $mainMod, 3, workspace, 3
@@ -421,25 +355,30 @@ bind = $mainMod SHIFT, minus, movetoworkspacesilent, 11
bind = $mainMod SHIFT, equal, movetoworkspacesilent, 12 bind = $mainMod SHIFT, equal, movetoworkspacesilent, 12
# Cycle monitors # Cycle monitors
bind = $mainMod CTRL, U, swapactiveworkspaces, eDP-1 HDMI-A-1
bind = $mainMod, O, focusmonitor, +1 bind = $mainMod, O, focusmonitor, +1
# Move current workspace to another monitor
bind = $mainMod SHIFT, y, movecurrentworkspacetomonitor, +1
bind = $mainMod SHIFT, v, moveworkspacetomonitor, +0 +1
# Example special workspace (scratchpad) # Example special workspace (scratchpad)
bind = $mainMod, M, togglespecialworkspace, magic bind = $mainMod, M, togglespecialworkspace, magic
bind = $mainMod SHIFT, M, movetoworkspace, special:magic bind = $mainMod SHIFT, M, movetoworkspace, special:magic
# Scroll through existing workspaces with mainMod + scroll # Go to previous/next workspace
bind = $mainMod, bracketleft, workspace, r-1 bind = $mainMod, bracketleft, workspace, -1
bind = $mainMod, bracketright, workspace, r+1 bind = $mainMod, bracketright, workspace, +1
# Go to previous/next occupied workspace
bind = $mainMod SHIFT, bracketleft, workspace, m-1 bind = $mainMod SHIFT, bracketleft, workspace, m-1
bind = $mainMod SHIFT, bracketright, workspace, m+1 bind = $mainMod SHIFT, bracketright, workspace, m+1
# Gaming special workspace
bind = $mainMod, grave, togglespecialworkspace, dungeon bind = $mainMod, grave, togglespecialworkspace, dungeon
bind = $mainMod SHIFT, grave, movetoworkspace, special:dungeon bind = $mainMod SHIFT, grave, movetoworkspace, special:dungeon
# Move/resize windows with mainMod + LMB/RMB and dragging # Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:272, movewindow
#bindm = SUPER, Shift_L, swapwindow
bindm = $mainMod, mouse:273, resizewindow bindm = $mainMod, mouse:273, resizewindow
bindm = SUPER, ALT_L, resizewindow bindm = SUPER, ALT_L, resizewindow
@@ -462,9 +401,18 @@ bind = $mainMod, R, swapnext
bind = $mainMod SHIFT, R, swapnext, prev bind = $mainMod SHIFT, R, swapnext, prev
# Go to previous window and back # Go to previous window and back
bind = ALT, TAB, focuscurrentorlast # bind = ALT, TAB, focuscurrentorlast
# Go to previous workspace and back
binds {
allow_workspace_cycles = true # does not seem to affect anything
}
allow_workspace_cycles = true # does not seem to affect anything
bind = $mainMod, Tab, workspace, previous
bind = ALT, Tab, workspace, previous_per_monitor
# Toggle swallow for window
bind = $mainMod, I, toggleswallow bind = $mainMod, I, toggleswallow
bindp = $mainMod, Tab, workspace, previous
# Resize windows in different directions via keyboard # Resize windows in different directions via keyboard
binde = $mainMod ALT, h, resizeactive, -60 0 binde = $mainMod ALT, h, resizeactive, -60 0
@@ -476,7 +424,7 @@ binde = $mainMod ALT SHIFT, l, resizeactive, -60 0
binde = $mainMod ALT SHIFT, j, resizeactive, 0 -60 binde = $mainMod ALT SHIFT, j, resizeactive, 0 -60
binde = $mainMod ALT SHIFT, k, resizeactive, 0 60 binde = $mainMod ALT SHIFT, k, resizeactive, 0 60
# Swap windows in different directions via keyboard # Move windows in different directions via keyboard
binde = $mainMod, Left, moveactive, -100 0 binde = $mainMod, Left, moveactive, -100 0
binde = $mainMod, Right, moveactive, 100 0 binde = $mainMod, Right, moveactive, 100 0
binde = $mainMod, Down, moveactive, 0 100 binde = $mainMod, Down, moveactive, 0 100
@@ -506,7 +454,6 @@ bind = $mainMod CTRL ALT, Right, movewindoworgroup, r
# Laptop multimedia keys for volume and LCD brightness # Laptop multimedia keys for volume and LCD brightness
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
# bindl = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindl = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle bindl = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
bindl = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle bindl = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+ bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
@@ -514,7 +461,7 @@ bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-
bindl = $mainMod, XF86MonBrightnessUp, exec, brightnessctl set 60% bindl = $mainMod, XF86MonBrightnessUp, exec, brightnessctl set 60%
bindl = $mainMod, XF86MonBrightnessDown, exec, brightnessctl set 0 bindl = $mainMod, XF86MonBrightnessDown, exec, brightnessctl set 0
# Requires playerctl # Media controls via playerctl
bindl = , XF86AudioNext, exec, playerctl next bindl = , XF86AudioNext, exec, playerctl next
bindl = , XF86AudioPause, exec, playerctl play-pause bindl = , XF86AudioPause, exec, playerctl play-pause
bindl = , XF86AudioPlay, exec, playerctl play-pause bindl = , XF86AudioPlay, exec, playerctl play-pause
@@ -571,7 +518,15 @@ bindr = , F8, sendshortcut, CTRL SHIFT, F8, class:^(vesktop)$
# Telegram PTT # Telegram PTT
binde = $mainMod CTRL, F9, tagwindow, voicechatuz binde = $mainMod CTRL, F9, tagwindow, voicechatuz
bindr = , F9, sendshortcut, , F9, class:com.ayugram.desktop bindr = , F9, sendshortcut, , F9, class:com.ayugram.desktop
windowrule = bordercolor rgba(ffff00ff) rgba(ffff0055),tag:voicechatuz
windowrule {
name = windowrule-1
border_color = rgba(ffff00ff) rgba(ffff0055)
match:tag = voicechatuz
}
# Restart zapret
bind = $mainMod SHIFT, z, exec, sudo systemctl restart zapret_discord_youtube.service && play -v 0.4 /home/greg/.config/hypr/sound/dmenu.wav
# Zen - focus searchbar # Zen - focus searchbar
bindrn = CTRL, Space, sendshortcut, , F6, class:^(zen)$ bindrn = CTRL, Space, sendshortcut, , F6, class:^(zen)$
@@ -590,7 +545,6 @@ submap = clean
bind = $mainMod, Escape, submap, reset bind = $mainMod, Escape, submap, reset
submap = reset submap = reset
# Easymove submap # Easymove submap
bind = $mainMod SHIFT, Space, submap, ezmv bind = $mainMod SHIFT, Space, submap, ezmv
submap = ezmv submap = ezmv
@@ -606,7 +560,6 @@ bind = $mainMod, Tab, submap, reset
bind = $mainMod, Escape, submap, reset bind = $mainMod, Escape, submap, reset
submap = reset submap = reset
# Activate MPD submap with $mainMod + U # Activate MPD submap with $mainMod + U
bind = $mainMod, U, submap, mpd bind = $mainMod, U, submap, mpd
@@ -614,17 +567,17 @@ bind = $mainMod, U, submap, mpd
submap = mpd submap = mpd
# MPD controls (actions that exit submap) # MPD controls (actions that exit submap)
bind = , P, exec, mpc --password $mpdpass toggle bind = , P, exec, mpc toggle
bind = SHIFT, H, exec, mpc --password $mpdpass prev bind = SHIFT, H, exec, mpc prev
bind = SHIFT, L, exec, mpc --password $mpdpass next bind = SHIFT, L, exec, mpc next
# MPD Seek # MPD Seek
binde = , H, exec, mpc --password $mpdpass seek "-00:00:5" binde = , H, exec, mpc seek "-00:00:5"
binde = , L, exec, mpc --password $mpdpass seek "+00:00:5" binde = , L, exec, mpc seek "+00:00:5"
# Volume controls (remain in submap for repeated adjustments) # Volume controls (remain in submap for repeated adjustments)
bind = , J, exec, mpc --password $mpdpass volume -5 bind = , J, exec, mpc volume -5
bind = , K, exec, mpc --password $mpdpass volume +5 bind = , K, exec, mpc volume +5
# Alternative exit methods # Alternative exit methods
bind = , escape, submap, reset bind = , escape, submap, reset
@@ -642,80 +595,177 @@ submap = reset
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules # See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
# Floating kitty # Floating kitty
windowrule = float,class:^(kitty-float)$ windowrule {
windowrule = size 600 400,class:^(kitty-float)$ name = windowrule-21
windowrule = move center,class:^(kitty-float)$ float = on
size = 600 400
center = on
match:class = ^(kitty-float)$
}
windowrule {
name = windowrule-3
workspace = special:dungeon
match:class = org.freedesktop.Xwayland
}
windowrule = workspace special:dungeon,class:org.freedesktop.Xwayland
# Zenity # Zenity
windowrule = float,class:^(zenity)$ windowrule {
name = windowrule-4
float = on
match:class = ^(zenity)$
}
# Super Productivity # Super Productivity
windowrule = workspace 7 silent,class:^(superProductivity)$ windowrule {
name = windowrule-5
workspace = 7 silent
match:class = ^(superProductivity)$
}
# Telegram # Telegram
windowrule = workspace 8 silent,class:^(com.ayugram.desktop)$ windowrule {
windowrule = group set,class:^(com.ayugram.desktop)$ name = windowrule-6
workspace = 8 silent
group = set
suppress_event = fullscreen
match:class = ^(com.ayugram.desktop)$
}
# Telegram media viewer
windowrule {
name = telegram-media-viewer
group = deny
fullscreen = true
match:class = ^(com.ayugram.desktop)$
match:initial_title = ^(Media\ viewer)
}
# Vesktop # Vesktop
windowrule = workspace 8 silent,class:^(vesktop)$ windowrule {
windowrule = group override set always,class:^(vesktop)$ name = windowrule-7
workspace = 8 silent
group = override set always
match:class = ^(vesktop)$
}
# Element # Element
windowrule = workspace 8 silent,class:^(Element)$ windowrule {
windowrule = group override set always,class:^(Element)$ name = windowrule-8
workspace = 8 silent
group = override set always
match:class = ^(Element)$
}
# Steam # Steam
windowrule = workspace 7 silent,class:^(steam)$ windowrule {
windowrule = group set,class:^(steam)$ name = windowrule-9
workspace = 7 silent
group = set
match:class = ^(steam)$
}
# Screensharing protection # Screensharing protection
source = ~/.config/hypr/privacy.conf source = ~/.config/hypr/privacy.conf
windowrule = noscreenshare, tag:privacy windowrule {
windowrule = bordercolor rgba(cc00ffff) rgba(630063ff) 90deg,tag:privacy name = windowrule-10
windowrule = noscreenshare 0, tag:privacyexpose no_screen_share = on
windowrule = bordercolor rgba(ff0000ff) rgba(ff0000ff) 90deg,tag:privacyexpose border_color = rgba(cc00ffff) rgba(630063ff) 90deg
windowrule = dimaround, tag:privacyexpose match:tag = privacy
}
windowrule {
name = windowrule-11
no_screen_share = 0
border_color = rgba(ff0000ff) rgba(ff0000ff) 90deg
border_size = 5
match:tag = privacyexpose
}
# com.saivert.pwvucontrol # com.saivert.pwvucontrol
windowrule = float,class:^(com.saivert.pwvucontrol)$ windowrule {
windowrule = size 600 400,class:^(com.saivert.pwvucontrol)$ name = windowrule-12
windowrule = move center,class:^(com.saivert.pwvucontrol)$ float = on
size = 600 400
move = (center)
match:class = ^(com.saivert.pwvucontrol)$
}
# Frozen windows # Frozen windows
windowrule = bordercolor rgba(E96375ff) rgba(00ffff55) 90deg,tag:zawarudo windowrule {
name = windowrule-13
border_color = rgba(E96375ff) rgba(00ffff55) 90deg
match:tag = zawarudo
}
# Marked windows # Marked windows
windowrule = bordercolor rgba(0000ffff) rgba(aa00ffa5),tag:marked windowrule {
name = windowrule-14
border_color = rgba(0000ffff) rgba(aa00ffa5)
match:tag = marked
}
# Ignore maximize requests from apps. You'll probably like this. # Ignore maximize requests from apps. You'll probably like this.
windowrule = suppressevent maximize, class:.* windowrule {
name = windowrule-15
suppress_event = maximize
match:class = .*
}
# Fix some dragging issues with XWayland # Fix some dragging issues with XWayland
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 windowrule {
name = windowrule-16
no_focus = on
match:class = ^$
match:title = ^$
match:xwayland = 1
match:float = 1
match:fullscreen = 0
match:pin = 0
}
# rofi # rofi
layerrule = ignorezero, rofi layerrule {
layerrule = dimaround, rofi name = layerrule-1
layerrule = blur, rofi ignore_alpha = 0
layerrule = animation slide bottom, rofi dim_around = on
blur = on
animation = slide bottom
match:namespace = rofi
}
# swaync # swaync
layerrule = blur, swaync-control-center layerrule {
layerrule = blur, swaync-notification-window name = layerrule-2
layerrule = abovelock, swaync-notification-window blur = on
layerrule = dimaround, swaync-control-center dim_around = on
layerrule = ignorezero, swaync-control-center ignore_alpha = 0
layerrule = ignorezero, swaync-notification-window animation = slideIn right
layerrule = animation slideIn right, swaync-control-center match:namespace = swaync-control-center
layerrule = animation slideIn right, swaync-notification-window }
layerrule {
name = layerrule-3
blur = on
above_lock = on
ignore_alpha = 0
animation = slideIn right
match:namespace = swaync-notification-window
}
# waybar # waybar
layerrule = ignorezero, waybar layerrule {
layerrule = blur, waybar name = layerrule-4
layerrule = ignorealpha 0.6, waybar ignore_alpha = 0.6
layerrule = animation fadeIn, waybar blur = on
animation = fadeIn
match:namespace = waybar
}
# Adjustments for certain workspaces # Adjustments for certain workspaces
workspace = special:magic, gapsin:20, gapsout:50, shadow:false workspace = special:magic, gapsin:20, gapsout:50, shadow:false
@@ -741,7 +791,7 @@ plugin {
mode = flash mode = flash
} }
hyprbars { hyprbars {
enabled = true enabled = false
bar_height = 18 bar_height = 18
bar_color = rgba(1c1c1cce) bar_color = rgba(1c1c1cce)
bar_title_enabled = false bar_title_enabled = false
@@ -761,15 +811,11 @@ plugin {
on_double_click = on_double_click =
windowrule = plugin:hyprbars:bar_color rgb(261B1E), class:^(com.ayugram.desktop) windowrule = match:class ^(com.ayugram.desktop), hyprbars:bar_color rgb(261B1E)
windowrule = plugin:hyprbars:bar_color rgb(121214), class:^(vesktop) windowrule = match:class ^(zen), hyprbars:bar_color rgb(121214)
windowrule = plugin:hyprbars:bar_color rgb(131313), class:^(zen) windowrule = match:class ^(thunar), hyprbars:bar_color rgb(1C1C1C)
windowrule = plugin:hyprbars:bar_color rgb(F1F3F4), class:^(draw.io) windowrule = match:class ^(draw.io), hyprbars:bar_color rgb(F1F3F4)
windowrule = plugin:hyprbars:bar_color rgb(1C1C1C), class:^(thunar) windowrule = match:float 1, hyprbars:bar_color rgb(1C1C1C)
windowrule = plugin:hyprbars:bar_color rgb(1C1C1C), floating:1
}
hyprexpo {
} }
dynamic-cursors { dynamic-cursors {
@@ -782,62 +828,60 @@ plugin {
} }
} }
# easymotion { easymotion {
# #font size of the text #font size of the text
# textsize=72 textsize=72
#
# #color of the text, takes standard hyprland color format #color of the text, takes standard hyprland color format
# textcolor=rgba(ffffffff) textcolor=rgba(ffffffff)
#
# #background color of the label box. alpha is respected #background color of the label box. alpha is respected
# bgcolor=rgba(ff7777a0) bgcolor=rgba(ff7777a0)
#
# #enable blur. The bgcolor alpha must be at least semi-transparent. #enable blur. The bgcolor alpha must be at least semi-transparent.
# blur=0 blur=0
#
# #Set blur alpha value. Blur must be enabled (float value) #Set blur alpha value. Blur must be enabled (float value)
# blurA=1.0 blurA=1.0
#
# #Set xray. Blur must be enabled #Set xray. Blur must be enabled
# xray=0 xray=0
#
# #font to use for the label. This is passed directly to the pango font description #font to use for the label. This is passed directly to the pango font description
# textfont=Iosevka Nerd Font Mono textfont=Iosevka Nerd Font Mono
#
# #padding around the text (inside the label box) size in pixels, adjusted for #padding around the text (inside the label box) size in pixels, adjusted for
# #monitor scaling. This is the same format as hyprland's gapsin/gapsout workspace layout rule #monitor scaling. This is the same format as hyprland's gapsin/gapsout workspace layout rule
# #example: textpadding=2 5 5 2 (spaces not commas) #example: textpadding=2 5 5 2 (spaces not commas)
# textpadding=5 textpadding=5
#
# #size of the border around the label box. A border size of zero disables border rendering. #size of the border around the label box. A border size of zero disables border rendering.
# bordersize=2 bordersize=2
#
# #color of the border. takes the same format as hyprland's border (so it can be a gradient) #color of the border. takes the same format as hyprland's border (so it can be a gradient)
# bordercolor=rgba(ffffffff) bordercolor=rgba(ffffffff)
#
# #rounded corners? Same as hyprland's 'decoration:rounding' config #rounded corners? Same as hyprland's 'decoration:rounding' config
# rounding=1 rounding=1
#
# #what to do if a window is fullscreen #what to do if a window is fullscreen
# #none: nothing. (easymotion label won't be displayed on that window) #none: nothing. (easymotion label won't be displayed on that window)
# #toggle: take the window out of fullscreen entirely. #toggle: take the window out of fullscreen entirely.
# #maximize: convert the window to maximized. #maximize: convert the window to maximized.
# #windows are restored to fullscreen after easymotion is exited/selected #windows are restored to fullscreen after easymotion is exited/selected
# fullscreen_action=none fullscreen_action=none
#
# #which keys to use for selecting windows #which keys to use for selecting windows
# motionkeys=abcdefghijklmnopqrstuvwxyZ1234567890 motionkeys=abcdefghijklmnopqrstuvwxyZ1234567890
# #which keys to use for labeling windows #which keys to use for labeling windows
# motionlabels=ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 motionlabels=ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890
#
# #if a monitor has a focused special workspace, only put easymotion labels on the windows in the special workspace #if a monitor has a focused special workspace, only put easymotion labels on the windows in the special workspace
# only_special = true only_special = true
# } }
} }
debug { debug {
disable_logs = false disable_logs = false
overlay = false overlay = false
} }
source = ~/.config/hypr/monitors.conf

View File

@@ -1,111 +1,89 @@
# sample hyprlock.conf # BACKGROUND
# for more configuration options, refer https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock
#
# rendered text in all widgets supports pango markup (e.g. <b> or <i> tags)
# ref. https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/#general-remarks
#
# shortcuts to clear password buffer: ESC, Ctrl+U, Ctrl+Backspace
#
# you can get started by copying this config to ~/.config/hypr/hyprlock.conf
#
$font = Iosevka
general {
hide_cursor = true
}
# uncomment to enable fingerprint authentication
# auth {
# fingerprint {
# enabled = true
# ready_message = Scan fingerprint to unlock
# present_message = Scanning...
# retry_delay = 250 # in milliseconds
# }
# }
animations {
enabled = true
bezier = linear, 1, 1, 0, 0
animation = fadeIn, 1, 5, linear
animation = fadeOut, 1, 5, linear
animation = inputFieldDots, 1, 2, linear
}
background { background {
monitor = monitor =
path = screenshot path = /home/greg/Pictures/Wallpapers/waporvape-dark-tvlike-pink.png
# path = /home/greg/Pictures/Wallpapers/japan_tower_sakura.jpg blur_passes = 0
blur_passes = 3 contrast = 0.8916
brightness = 0.8172
vibrancy = 0.1696
vibrancy_darkness = 0.0
} }
image { # GENERAL
# TODO: store there images somewhere in the config dir general {
path = /home/greg/Pictures/Things/niko.jpg no_fade_in = false
position = 0, 40 grace = 0
disable_loading_bar = false
}
# Time-Hour
label {
monitor =
text = cmd[update:1000] echo "<span>$(date +"%I")</span>"
color = rgba(255, 255, 255, 1)
font_size = 125
font_family = StretchPro
position = -80, 190
halign = center halign = center
valign = center valign = center
size = 100, 100
rounding = -1
border_color = rgba(9E223800)
shadow_passes = 1
shadow_size = 3
shadow_color = rgb(aaaaaa)
} }
# Time-Minute
label {
monitor =
text = cmd[update:1000] echo "<span>$(date +"%M")</span>"
color = rgba(232, 60, 130, 1)
font_size = 125
font_family = StretchPro
position = 0, 70
halign = center
valign = center
}
# Day-Month-Date
label {
monitor =
text = cmd[update:1000] echo -e "$(date +"%d %B, %a.")"
color = rgba(255, 255, 255, 100)
font_size = 22
font_family = Suisse Int'l Mono
position = 20, -8
halign = center
valign = center
}
# USER
label {
monitor =
text =  $USER
color = rgba(232, 60, 130, 1)
outline_thickness = 2
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true
font_size = 22
font_family = SF Pro Display Bold
position = 0, -220
halign = center
valign = center
}
# INPUT FIELD
input-field { input-field {
monitor = monitor =
size = 15%, 5% size = 300, 60
outline_thickness = 3 outline_thickness = 2
inner_color = rgba(0, 0, 0, 0.5) # no fill dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0
outer_color = rgba(9E223800) dots_center = true
check_color = rgba(ffff00ff) rgba(E96375ff) 120deg outer_color = rgba(0, 0, 0, 0)
fail_color = rgba(ff6633ee) rgba(ff0066ee) 40deg inner_color = rgba(255, 255, 255, 0.1)
font_color = rgb(200, 200, 200)
font_color = rgb(255,255,255)
fade_on_empty = false fade_on_empty = false
rounding = 15 font_family = SF Pro Display Bold
placeholder_text = <i><span foreground="##FB6F7F99">パスワード</span></i>
font_family = $font hide_input = false
placeholder_text = パスワード position = 0, -290
fail_text = $PAMFAIL
# uncomment to use a letter instead of a dot to indicate the typed password
# dots_text_format = *
# dots_size = 0.4
dots_spacing = 0.3
# uncomment to use an input indicator that does not show the password length (similar to swaylock's input indicator)
# hide_input = true
position = 0, -100
halign = center halign = center
valign = center valign = center
} }
# TIME
label {
monitor =
text = $TIME # ref. https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/#variable-substitution
font_size = 90
font_family = $font
position = 0, -50
halign = center
valign = top
}
# DATE
label {
monitor =
text = cmd[update:60000] date +"%A, %d %B %Y" # update every 60 seconds
font_size = 25
font_family = $font
position = 0, -200
halign = center
valign = top
}

View File

@@ -1,18 +1,110 @@
windowrule = tag +privacy,class:^(org.telegram.desktop)$ windowrule {
windowrule = tag +privacy,class:^(com.ayugram.desktop)$ name = privacy-rule-1
windowrule = tag +privacy,class:^(Element)$ tag = privacy
windowrule = tag +privacy,class:^(vesktop)$ match:class = ^(org.telegram.desktop)$
windowrule = tag +privacy,class:^(chat-simplex-desktop-MainKt)$ }
windowrule = tag +privacy,class:^(com.github.hluk.copyq)$
windowrule = tag +privacy,class:^(org.keepassxc.KeePassXC)$ windowrule {
windowrule = tag +privacy,class:^(otpclient)$ name = privacy-rule-2
windowrule = tag +privacy,class:^(com.nextcloud.desktopclient.nextcloud)$ tag = privacy
windowrule = tag +privacy,title:^(diary)$ match:class = ^(com.ayugram.desktop)$
windowrule = tag +privacy,class:thunar,title:.*(Downloads|Telegram Desktop).* }
windowrule = tag +privacy,class:^(Mullvad VPN)$
windowrule = tag +privacy,class:^(Tor Browser)$ windowrule {
windowrule = tag +privacy,class:^(zen)$,title:.*Private Browsing.* name = privacy-rule-3
windowrule = tag +privacy,class:^(Logseq)$ tag = privacy
windowrule = tag +privacy,class:^(com.obsproject.Studio)$ match:class = ^(Element)$
layerrule = noscreenshare, swaync-control-center }
layerrule = noscreenshare, swaync-notification-window
windowrule {
name = privacy-rule-4
tag = privacy
match:class = ^(vesktop)$
}
windowrule {
name = privacy-rule-5
tag = privacy
match:class = ^(chat-simplex-desktop-MainKt)$
}
windowrule {
name = privacy-rule-6
tag = privacy
match:class = ^(com.github.hluk.copyq)$
}
windowrule {
name = privacy-rule-7
tag = privacy
match:class = ^(org.keepassxc.KeePassXC)$
}
windowrule {
name = privacy-rule-8
tag = privacy
match:class = ^(otpclient)$
}
windowrule {
name = privacy-rule-9
tag = privacy
match:class = ^(com.nextcloud.desktopclient.nextcloud)$
}
windowrule {
name = privacy-rule-10
tag = privacy
match:title = ^(diary)$
}
windowrule {
name = privacy-rule-11
tag = privacy
match:class = thunar
match:title = .*(Downloads|Telegram Desktop).*
}
windowrule {
name = privacy-rule-12
tag = privacy
match:class = ^(Mullvad VPN)$
}
windowrule {
name = privacy-rule-13
tag = privacy
match:class = ^(Tor Browser)$
}
windowrule {
name = privacy-rule-14
tag = privacy
match:class = ^(zen)$
match:title = .*Private Browsing.*
}
windowrule {
name = privacy-rule-15
tag = privacy
match:class = ^(Logseq)$
}
windowrule {
name = privacy-rule-16
tag = privacy
match:class = ^(com.obsproject.Studio)$
}
layerrule {
name = privacy-layer-rule-1
no_screen_share = on
match:namespace = swaync-control-center
}
layerrule {
name = privacy-layer-rule-2
no_screen_share = on
match:namespace = swaync-notification-window
}

View File

@@ -1,6 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
SOUND_DIR="$HOME/.config/hypr/sound" SOUND_DIR="$HOME/.config/hypr/sound"
PLAYER="play" PLAYER="play"
VOLUME="0.1" VOLUME="0.1"
@@ -11,7 +10,7 @@ declare -A SOUND_MAP=(
["activelayout"]="popup.wav" ["activelayout"]="popup.wav"
["fullscreen"]="fullscreen.wav" ["fullscreen"]="fullscreen.wav"
["openwindow"]="open.mp3" ["openwindow"]="open.mp3"
["closewindow"]="popup.wav" ["closewindow"]="close_2.wav"
["movewindow"]="popup.wav" ["movewindow"]="popup.wav"
["changefloatingmode"]="float.wav" ["changefloatingmode"]="float.wav"
) )
@@ -39,6 +38,9 @@ declare -A COOLDOWN_TIMERS=()
mkdir -p "$SOUND_DIR" mkdir -p "$SOUND_DIR"
cp -r $SOUND_DIR "/tmp/hypr-sound"
SOUND_DIR="/tmp/hypr-sound"
log() { log() {
if [ $DEBUG -eq 1 ]; then if [ $DEBUG -eq 1 ]; then
echo "[$(date '+%H:%M:%S')] $1" >&2 echo "[$(date '+%H:%M:%S')] $1" >&2

BIN
hypr/sound/close_2.wav Normal file

Binary file not shown.

BIN
hypr/sound/dmenu.wav Normal file

Binary file not shown.

BIN
hypr/sound/menu_close.wav Normal file

Binary file not shown.

BIN
hypr/sound/menu_open.wav Normal file

Binary file not shown.

View File

@@ -1,6 +1,6 @@
return { return {
"3rd/image.nvim", "3rd/image.nvim",
event = 'BufEnter', -- event = 'BufEnter',
build = false, -- so that it doesn't build the rock https://github.com/3rd/image.nvim/issues/91#issuecomment-2453430239 build = false, -- so that it doesn't build the rock https://github.com/3rd/image.nvim/issues/91#issuecomment-2453430239
config = function() config = function()
require("image").setup({ require("image").setup({

View File

@@ -1,6 +1,7 @@
return { return {
{ {
"iamcco/markdown-preview.nvim", "iamcco/markdown-preview.nvim",
event = 'BufEnter',
cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" }, cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
build = "cd app && npm install", build = "cd app && npm install",
init = function() init = function()

View File

@@ -3,7 +3,6 @@
#![enable(unwrap_variant_newtypes)] #![enable(unwrap_variant_newtypes)]
( (
address: "127.0.0.1:6600", address: "127.0.0.1:6600",
password: "kapuchinamusica",
theme: "kolinux", theme: "kolinux",
cache_dir: None, cache_dir: None,
on_song_change: None, on_song_change: None,

View File

@@ -224,10 +224,12 @@ error-message {
} }
configuration { configuration {
kb-mode-next: "Shift+Right,Control+Tab,L"; kb-row-left: "H";
kb-mode-previous: "Shift+Left,H"; kb-row-right: "L";
kb-row-up: "K"; kb-mode-next: "Shift+Right,Control+Tab,N";
kb-row-down: "J"; kb-mode-previous: "Shift+Left,M";
kb-row-up: "K,Up";
kb-row-down: "J,Down";
me-select-entry: ""; me-select-entry: "";
me-accept-entry: "!MousePrimary"; me-accept-entry: "!MousePrimary";
kb-cancel: "MousePrimary,Escape"; kb-cancel: "MousePrimary,Escape";

View File

@@ -100,10 +100,13 @@ element-text, element-icon {
} }
configuration { configuration {
kb-row-left: "h,H"; kb-move-char-back: "";
kb-row-right: "l,L"; kb-move-char-forward: "";
kb-row-down: "j,J";
kb-row-up: "k,K"; kb-row-left: "h,H,Left";
kb-row-down: "j,J,Down";
kb-row-up: "k,K,Up";
kb-row-right: "l,L,Right";
me-select-entry: ""; me-select-entry: "";
me-accept-entry: "!MousePrimary"; me-accept-entry: "!MousePrimary";
kb-cancel: "MousePrimary,Escape"; kb-cancel: "MousePrimary,Escape";

View File

@@ -101,10 +101,13 @@ element-text, element-icon {
} }
configuration { configuration {
kb-row-left: "h,H"; kb-move-char-back: "";
kb-row-down: "j,J"; kb-move-char-forward: "";
kb-row-up: "k,K";
kb-row-right: "l,L"; kb-row-left: "h,H,Left";
kb-row-down: "j,J,Down";
kb-row-up: "k,K,Up";
kb-row-right: "l,L,Right";
me-select-entry: ""; me-select-entry: "";
me-accept-entry: "!MousePrimary"; me-accept-entry: "!MousePrimary";
kb-cancel: "MousePrimary,Escape"; kb-cancel: "MousePrimary,Escape";

View File

@@ -128,10 +128,13 @@ element-text, element-icon {
} }
configuration { configuration {
kb-row-left: "h,H"; kb-move-char-back: "";
kb-row-down: "j,J"; kb-move-char-forward: "";
kb-row-up: "k,K";
kb-row-right: "l,L"; kb-row-left: "h,H,Left";
kb-row-down: "j,J,Down";
kb-row-up: "k,K,Up";
kb-row-right: "l,L,Right";
me-select-entry: ""; me-select-entry: "";
me-accept-entry: "!MousePrimary"; me-accept-entry: "!MousePrimary";
kb-cancel: "MousePrimary,Escape"; kb-cancel: "MousePrimary,Escape";

View File

@@ -13,8 +13,8 @@
"spacing": 0, "spacing": 0,
"reload_style_on_change": true, "reload_style_on_change": true,
"modules-left": [ "modules-left": [
"tray", "tray"
"custom/pomodoro" // "custom/pomodoro"
], ],
"modules-center": [ "modules-center": [
"wlr/taskbar", "wlr/taskbar",
@@ -59,7 +59,8 @@
"Alacritty" "Alacritty"
], ],
"app_ids-mapping": { "app_ids-mapping": {
"firefoxdeveloperedition": "firefox-developer-edition" "zen": "aaa",
"vesktop": "zzz"
}, },
"rewrite": { "rewrite": {
".*(steam_app_[0-9]+).*": "Game" ".*(steam_app_[0-9]+).*": "Game"

View File

@@ -8,6 +8,7 @@
"margin-left": 5, "margin-left": 5,
"margin-right": 5, "margin-right": 5,
"margin-top": 5, "margin-top": 5,
"layer": "top",
"spacing": 0, "spacing": 0,
"reload_style_on_change": true, "reload_style_on_change": true,
"modules-left": [ "modules-left": [
@@ -34,16 +35,29 @@
"hyprland/workspaces": { "hyprland/workspaces": {
"disable-scroll": true, "disable-scroll": true,
"all-outputs": false, "all-outputs": false,
"active-only": true, "active-only": false,
"warp-on-scroll": false, "warp-on-scroll": false,
"move-to-monitor": true,
"persistent-workspaces": { "persistent-workspaces": {
"eDP-1": [1,2,3,4,5,6,7,8,9], "1": [],
"HDMI-A-1": [10,11,12], "2": [],
"3": [],
"4": [],
"5": [],
"6": [],
"7": [],
"8": [],
"9": [],
"10": [],
"11": [],
"12": [],
// "eDP-1": [1,2,3,4,5,6,7,8,9],
// "HDMI-A-1": [10,11,12],
"IGNORED": [13,14] "IGNORED": [13,14]
}, },
"ignore-workspaces": [ "ignore-workspaces": [
"*13", "13",
"*14" "14"
], ],
"format": "{icon}", "format": "{icon}",
"format-icons": { "format-icons": {
@@ -51,19 +65,19 @@
"2": "", "2": "",
"3": "󰄫", "3": "󰄫",
"4": "󰅡", "4": "󰅡",
"5": "󰲨", "5": "󰐌",
"6": "󰲪", "6": "󰲪",
"7": "󰓓", "7": "󰓓",
"8": "", "8": "",
"9": "󱡝", "9": "󱡝",
"10": "󰥱", "10": "󰥱",
"11": "", "11": "󰍶",
"12": "", "12": "󰐗",
"default": "󰽢" "default": "󰽢"
} }
}, },
"mpd": { "mpd": {
"password": "kapuchinamusica", // "password": "kapuchinamusica",
"artist-len": 30, "artist-len": 30,
"title-len": 50, "title-len": 50,
"unknown-tag": "n/a", "unknown-tag": "n/a",
@@ -79,11 +93,22 @@
"tooltip-format": "MPD (connected) | MMB - toggle, LMB/RMB - next/prev, scroll - volume", "tooltip-format": "MPD (connected) | MMB - toggle, LMB/RMB - next/prev, scroll - volume",
"tooltip-format-disconnected": "MPD (disconnected) | MMB - toggle, LMB/RMB - next/prev, scroll - volume", "tooltip-format-disconnected": "MPD (disconnected) | MMB - toggle, LMB/RMB - next/prev, scroll - volume",
"format-stopped": " Stopping player...", "format-stopped": " Stopping player...",
"on-click-right": "mpc --password kapuchinamusica next", "on-click-right": "mpc next",
"on-click-middle": "mpc --password kapuchinamusica prev", "on-click-middle": "mpc prev",
"on-click": "mpc --password kapuchinamusica toggle", "on-click": "mpc toggle",
"on-scroll-down": "mpc --password kapuchinamusica volume +1", "on-scroll-down": "mpc volume +1",
"on-scroll-up": "mpc --password kapuchinamusica volume -1" "on-scroll-up": "mpc volume -1"
},
"mpris": {
"format": "{player_icon} {dynamic}",
"format-paused": "{status_icon} <i>{dynamic}</i>",
"dynamic-order": ["artist", "title"],
"player-icons": {
"default": "▶"
},
"status-icons": {
"paused": "⏸"
}
}, },
"clock": { "clock": {
"timezone": "Europe/Moscow", "timezone": "Europe/Moscow",

View File

@@ -44,6 +44,7 @@ window#waybar.chromium {
-------------------------------------------------------------------------- */ -------------------------------------------------------------------------- */
/* Common styling applied to all modules */ /* Common styling applied to all modules */
#mpd, #mpd,
#mpris,
#custom-pomodoro, #custom-pomodoro,
#clock, #clock,
#battery, #battery,
@@ -80,6 +81,10 @@ window#waybar.chromium {
color: @text-secondary; color: @text-secondary;
} }
#workspaces button.empty:not(.hosting-monitor) {
color: alpha(@text-secondary, 0.1);
}
#workspaces button.active.hosting-monitor { #workspaces button.active.hosting-monitor {
color: @accent; color: @accent;
text-shadow: 0px 0px 8px @accent; text-shadow: 0px 0px 8px @accent;
@@ -94,15 +99,27 @@ window#waybar.chromium {
} }
#workspaces button:hover { #workspaces button:hover {
color: @foreground; color: @text-primary;
background-color: transparent; background: none;
text-shadow: 0px 0px 2px rgba(233, 99, 117, 1); box-shadow: none;
text-shadow: 0px -2px 3px @text-primary;
}
#workspaces button:not(.hosting-monitor):not(.empty) {
color: alpha(@accent, 0.2);
}
#workspaces button.active.hosting-monitor:hover {
color: @text-primary;
background: none;
box-shadow: none;
text-shadow: 0px 0px 8px @text-primary;
} }
/* -------------------------------------------------------------------------- /* --------------------------------------------------------------------------
SIDE PANEL GROUPS SIDE PANEL GROUPS
-------------------------------------------------------------------------- */ -------------------------------------------------------------------------- */
#mpd, .modules-center, .modules-right { #mpd, #mpris, .modules-center, .modules-right {
/* Layout & Box Model */ /* Layout & Box Model */
border: 1px solid @border-color; border: 1px solid @border-color;
border-radius: 15px; border-radius: 15px;
@@ -180,24 +197,24 @@ window#waybar.chromium {
} }
/* MPD STATES */ /* MPD STATES */
#mpd { #mpd, #mpris {
transition: color 2s, background 2s; transition: color 2s, background 2s;
} }
#mpd.playing { #mpd.playing, #mpris.playing {
color: @accent; color: @accent;
font-weight: 700; font-weight: 700;
/* color: @text-primary; */ /* color: @text-primary; */
} }
#mpd.stopped { #mpd.stopped, #mrpis.stopped {
color: transparent; color: transparent;
background: transparent; background: transparent;
border-color: transparent; border-color: transparent;
transition: color 2s, background 2s; transition: color 2s, background 2s;
} }
#mpd.paused { #mpd.paused, #mpris.paused {
font-weight: normal; font-weight: normal;
color: @text-secondary; color: @text-secondary;
} }
@@ -227,6 +244,8 @@ window#waybar.chromium {
-------------------------------------------------------------------------- */ -------------------------------------------------------------------------- */
#mpd.playing:hover, #mpd.playing:hover,
#mpd.paused:hover, #mpd.paused:hover,
#mpris.playing:hover,
#mpris.paused:hover,
#clock:hover, #clock:hover,
#battery:hover, #battery:hover,
#network:hover, #network:hover,