Some config files added
This commit is contained in:
commit
7e2ddc1054
33 changed files with 1470 additions and 0 deletions
15
.config/hypr/config/animations.conf
Normal file
15
.config/hypr/config/animations.conf
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
# ┃ Animations Configuration ┃
|
||||
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Animations/
|
||||
|
||||
animations {
|
||||
enabled = yes
|
||||
bezier = overshot, 0.13, 0.99, 0.29, 1.1
|
||||
animation = windowsIn, 1, 4, overshot, slide
|
||||
animation = windowsOut, 1, 5, default, popin 80%
|
||||
animation = border, 1, 5, default
|
||||
animation = workspacesIn, 1, 6, overshot, slide
|
||||
animation = workspacesOut, 1, 6, overshot, slidefade 80%
|
||||
}
|
||||
28
.config/hypr/config/autostart.conf
Normal file
28
.config/hypr/config/autostart.conf
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
# ┃ Autostart Configuration ┃
|
||||
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
||||
|
||||
source = ~/.config/hypr/config/defaults.conf
|
||||
|
||||
exec-once = xrandr --output HDMI-A-1 --primary
|
||||
exec-once=hyprctl setcursor Dracula 24
|
||||
# exec-once = hyprctl dispatch workspace 1
|
||||
|
||||
# Autostart wiki https://wiki.hyprland.org/Configuring/Keywords/#executing
|
||||
|
||||
exec-once = waybar &
|
||||
exec-once = mako &
|
||||
exec-once = nm-applet --indicator &
|
||||
exec-once = bash -c "mkfifo /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob && tail -f /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob | wob & disown" &
|
||||
exec-once = /usr/lib/polkit-kde-authentication-agent-1 &
|
||||
# exec-once = hyprlock &
|
||||
exec-once = swww-daemon & sleep 0.1 && swww img /mnt/data/Wallpapers/base.png --transition-type none &
|
||||
|
||||
|
||||
# ## Slow app launch fix
|
||||
exec-once = systemctl --user import-environment &
|
||||
exec-once = hash dbus-update-activation-environment 2>/dev/null &
|
||||
exec-once = dbus-update-activation-environment --systemd &
|
||||
|
||||
# ## Idle configuration
|
||||
exec-once = $idlehandler
|
||||
13
.config/hypr/config/colors.conf
Normal file
13
.config/hypr/config/colors.conf
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
# ┃ Colors Configuration ┃
|
||||
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
||||
|
||||
$cachylgreen = rgba(82dcccff)
|
||||
$cachymgreen = rgba(00aa84ff)
|
||||
$cachydgreen = rgba(007d6fff)
|
||||
$cachylblue = rgba(01ccffff)
|
||||
$cachymblue = rgba(182545ff)
|
||||
$cachydblue = rgba(111826ff)
|
||||
$cachywhite = rgba(ffffffff)
|
||||
$cachygrey = rgba(ddddddff)
|
||||
$cachygray = rgba(798bb2ff)
|
||||
24
.config/hypr/config/decorations.conf
Normal file
24
.config/hypr/config/decorations.conf
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
# ┃ Decorations Configuration ┃
|
||||
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
||||
|
||||
source = ~/.config/hypr/config/colors.conf
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#decoration
|
||||
|
||||
decoration {
|
||||
active_opacity = 1
|
||||
rounding = 4
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#blur
|
||||
blur {
|
||||
size = 15
|
||||
passes = 2 # more passes = more resource intensive.
|
||||
xray = true
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#shadow
|
||||
shadow {
|
||||
enabled = false
|
||||
}
|
||||
}
|
||||
16
.config/hypr/config/defaults.conf
Normal file
16
.config/hypr/config/defaults.conf
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
# ┃ Defaults Configuration ┃
|
||||
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
||||
|
||||
|
||||
# General
|
||||
$webbrowser = firefox
|
||||
$filemanager = nautilus
|
||||
$applauncher = rofi -show drun
|
||||
$terminal = kitty
|
||||
$idlehandler = hypridle
|
||||
|
||||
# Screenshots
|
||||
$shot-region = grimblast copy area
|
||||
$shot-window = grimblast copy active
|
||||
$shot-screen = grimblast copy output
|
||||
10
.config/hypr/config/environment.conf
Normal file
10
.config/hypr/config/environment.conf
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
# ┃ Enviroment Configuration ┃
|
||||
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
||||
|
||||
envd = HYPRCURSOR_THEME, Dracula
|
||||
envd = HYPRCURSOR_SIZE,24
|
||||
envd = XCURSOR_THEME, Dracula
|
||||
envd = XCURSOR_SIZE,24
|
||||
envd = QT_CURSOR_THEME, Dracula
|
||||
envd = QT_CURSOR_SIZE,24
|
||||
10
.config/hypr/config/input.conf
Normal file
10
.config/hypr/config/input.conf
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
# ┃ Input Configuration ┃
|
||||
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
||||
|
||||
# Input wiki https://wiki.hyprland.org/Configuring/Variables/#input
|
||||
|
||||
input {
|
||||
follow_mouse = 2 # 0|1|2|3
|
||||
float_switch_override_focus = 2
|
||||
}
|
||||
167
.config/hypr/config/keybinds.conf
Normal file
167
.config/hypr/config/keybinds.conf
Normal file
|
|
@ -0,0 +1,167 @@
|
|||
|
||||
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
# ┃ Keybinds ┃
|
||||
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
||||
|
||||
source = ~/.config/hypr/config/defaults.conf
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Binds/
|
||||
bindd = $mainMod, F2, Runs gamemode script, exec, ~/.config/hypr/gamemode.sh
|
||||
bindd = $mainMod, W, Runs Rofi Wallpaper Selector Script, exec, ~/.config/rofi/wallpaper_selector.sh
|
||||
bindd = $mainMod, P, Opens power menu (Wlogout), exec, wlogout
|
||||
bindd = $mainMod, A, Opens mumble, exec, mumble
|
||||
bindd = $mainMod, S, Opens steam, exec, steam
|
||||
bindd = $mainMod, B, Opens your preferred web browser($webbrowser), exec, $webbrowser
|
||||
bindd = $mainMod, RETURN, Opens your preferred terminal emulator ($terminal), exec, $terminal
|
||||
bindd = $mainMod, E, Opens your preferred filemanager ($filemanager), exec, $filemanager
|
||||
bindd = $mainMod, Q, Closes (not kill) current window, killactive,
|
||||
bindd = $mainMod SHIFT, M, Exits Hyprland by terminating the user sessions, exec, loginctl terminate-user ""
|
||||
bindd = $mainMod, V, Switches current window between floating and tiling mode, togglefloating,
|
||||
bindd = $mainMod, SPACE, Runs your application launcher, exec, $applauncher
|
||||
bindd = $mainMod, F, Toggles current window fullscreen mode, fullscreen
|
||||
bindd = $mainMod, Y, Pin current window (shows on all workspaces), pin
|
||||
bindd = $mainMod, J, Toggles current window split mode, togglesplit, # dwindle
|
||||
|
||||
bindd = , Print, Creates a screenshot of an area, exec, $shot-region,
|
||||
bindd = CTRL, Print, Creates a screenshot of the active window, exec, $shot-window,
|
||||
bindd = ALT, Print, Creates a screenshot of the active display, exec, $shot-screen,
|
||||
# ======= Grouping Windows =======
|
||||
|
||||
bindd = $mainMod, K, Toggles current window group mode (ungroup all related), togglegroup,
|
||||
bindd = $mainMod, Tab, Switches to the next window in the group, changegroupactive, f
|
||||
|
||||
# ======= Toggle Gaps =======
|
||||
|
||||
bindd = $mainMod SHIFT, G, Set CachyOS default gaps, exec, hyprctl --batch "keyword general:gaps_out 5;keyword general:gaps_in 3"
|
||||
bindd = $mainMod, G, Remove gaps between window, exec, hyprctl --batch "keyword general:gaps_out 0;keyword general:gaps_in 0"
|
||||
|
||||
# ======= Volume Control =======
|
||||
|
||||
bindel = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5% && pactl get-sink-volume @DEFAULT_SINK@ | grep -oP '\d+(?=%)' | awk '{if($1>100) system("pactl set-sink-volume @DEFAULT_SINK@ 100%")}' && pactl get-sink-volume @DEFAULT_SINK@ | grep -oP '\d+(?=%)' | awk '{print $1}' | head -1 > /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob # Raise Volume
|
||||
bindel = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5% && pactl get-sink-volume @DEFAULT_SINK@ | grep -oP '\d+(?=%)' | awk '{print $1}' | head -1 > /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob # Lower Volume
|
||||
bindel = , XF86AudioMute, exec, amixer sset Master toggle | sed -En '/\[on\]/ s/.*\[([0-9]+)%\].*/\1/ p; /\[off\]/ s/.*/0/p' | head -1 > /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob #Mutes player audio
|
||||
|
||||
# ======= Playback Control =======
|
||||
|
||||
bind = SUPER, bracketright, exec, playerctl --player=spotify_player next
|
||||
bind = SUPER, bracketleft, exec, playerctl --player=spotify_player previous
|
||||
bind = SUPER, backslash, exec, playerctl --player=spotify_player play-pause
|
||||
|
||||
bindd = , XF86AudioPlay, Toggles play/pause, exec, playerctl play-pause
|
||||
bindd = , XF86AudioNext, Next track, exec, playerctl next
|
||||
bindd = , XF86AudioPrev, Previous track, exec, playerctl previous
|
||||
|
||||
# ======= Screen Brightness =======
|
||||
|
||||
bindel = , XF86MonBrightnessUp, exec, brightnessctl s +5% #Increases brightness 5%
|
||||
bindel = , XF86MonBrightnessDown, exec, brightnessctl s 5%- #Decreases brightness 5%
|
||||
bindd = $mainMod, L, Lock the screen, exec, swaylock-fancy -e -K -p 10 -f Hack-Regular
|
||||
bindd = $mainMod, O, Reload/restarts Waybar, exec, killall -SIGUSR2 waybar
|
||||
|
||||
# ======= Window Actions =======
|
||||
|
||||
## Move window with mainMod + LMB/RMB and dragging
|
||||
bindd = $mainMod, mouse:272, Move the window towards a direction, movewindow
|
||||
## Move window towards a direction
|
||||
bindd = $mainMod SHIFT, left, Move active window to the left, movewindow, l
|
||||
bindd = $mainMod SHIFT, right, Move active window to the right, movewindow, r
|
||||
bindd = $mainMod SHIFT, up, Move active window upwards, movewindow, u
|
||||
bindd = $mainMod SHIFT, down, Move active window downwards, movewindow, d
|
||||
## Move focus with mainMod + arrow keys
|
||||
bindd = $mainMod, left, Move focus to the left, movefocus, l
|
||||
bindd = $mainMod, right, Move focus to the right, movefocus, r
|
||||
bindd = $mainMod, up, Move focus upwards, movefocus, u
|
||||
bindd = $mainMod, down, Move focus downwards, movefocus, d
|
||||
|
||||
## Resizing windows
|
||||
# Activate keyboard window resize mode
|
||||
# https://wiki.hyprland.org/Configuring/Binds/#submaps
|
||||
bindd = $mainMod, R, Activates window resizing mode, submap, resize
|
||||
submap = resize
|
||||
bindd = , right, Resize to the right (resizing mode), resizeactive, 15 0
|
||||
bindd = , left, Resize to the left (resizing mode), resizeactive, -15 0
|
||||
bindd = , up, Resize upwards (resizing mode), resizeactive, 0 -15
|
||||
bindd = , down, Resize downwards (resizing mode), resizeactive, 0 15
|
||||
bindd = , l, Resize to the right (resizing mode), resizeactive, 15 0
|
||||
bindd = , h, Resize to the left (resizing mode), resizeactive, -15 0
|
||||
bindd = , k, Resize upwards (resizing mode), resizeactive, 0 -15
|
||||
bindd = , j, Resize downwards (resizing mode), resizeactive, 0 15
|
||||
bindd = , escape, Ends window resizing mode, submap, reset
|
||||
submap = reset
|
||||
# Quick resize window with keyboard
|
||||
# !!! added $mainMod here because CTRL + SHIFT is used for word selection in various text editors
|
||||
bindd = $mainMod CTRL SHIFT, right, Resize to the right, resizeactive, 15 0
|
||||
bindd = $mainMod CTRL SHIFT, left, Resize to the left, resizeactive, -15 0
|
||||
bindd = $mainMod CTRL SHIFT, up, Resize upwards, resizeactive, 0 -15
|
||||
bindd = $mainMod CTRL SHIFT, down, Resize downwards, resizeactive, 0 15
|
||||
bindd = $mainMod CTRL SHIFT, l, Resize to the right, resizeactive, 15 0
|
||||
bindd = $mainMod CTRL SHIFT, h, Resize to the left, resizeactive, -15 0
|
||||
bindd = $mainMod CTRL SHIFT, k, Resize upwards, resizeactive, 0 -15
|
||||
bindd = $mainMod CTRL SHIFT, j, Resize downwards, resizeactive, 0 15
|
||||
# Resize window with mainMod + LMB/RMB and dragging
|
||||
bindm = $mainMod, mouse:273, resizewindow #Resize the window towards a direction
|
||||
bindm = $mainMod, mouse:272, movewindow #Drag window
|
||||
## Resizing Windows End #
|
||||
|
||||
## Move active window to a workspace with $mainMod + CTRL + [0-9]
|
||||
bindd = $mainMod CTRL, 1, Move window and switch to workspace 1, movetoworkspace, 1
|
||||
bindd = $mainMod CTRL, 2, Move window and switch to workspace 2, movetoworkspace, 2
|
||||
bindd = $mainMod CTRL, 3, Move window and switch to workspace 3, movetoworkspace, 3
|
||||
bindd = $mainMod CTRL, 4, Move window and switch to workspace 4, movetoworkspace, 4
|
||||
bindd = $mainMod CTRL, 5, Move window and switch to workspace 5, movetoworkspace, 5
|
||||
bindd = $mainMod CTRL, 6, Move window and switch to workspace 6, movetoworkspace, 6
|
||||
bindd = $mainMod CTRL, 7, Move window and switch to workspace 7, movetoworkspace, 7
|
||||
bindd = $mainMod CTRL, 8, Move window and switch to workspace 8, movetoworkspace, 8
|
||||
bindd = $mainMod CTRL, 9, Move window and switch to workspace 9, movetoworkspace, 9
|
||||
bindd = $mainMod CTRL, 0, Move window and switch to workspace 10, movetoworkspace, 10
|
||||
bindd = $mainMod CTRL, left, Move window and switch to the next workspace, movetoworkspace, -1
|
||||
bindd = $mainMod CTRL, right, Move window and switch to the previous workspace, movetoworkspace, +1
|
||||
## Same as above, but doesn't switch to the workspace
|
||||
bindd = $mainMod SHIFT, 1, Move window silently to workspace 1, movetoworkspacesilent, 1
|
||||
bindd = $mainMod SHIFT, 2, Move window silently to workspace 2, movetoworkspacesilent, 2
|
||||
bindd = $mainMod SHIFT, 3, Move window silently to workspace 3, movetoworkspacesilent, 3
|
||||
bindd = $mainMod SHIFT, 4, Move window silently to workspace 4, movetoworkspacesilent, 4
|
||||
bindd = $mainMod SHIFT, 5, Move window silently to workspace 5, movetoworkspacesilent, 5
|
||||
bindd = $mainMod SHIFT, 6, Move window silently to workspace 6, movetoworkspacesilent, 6
|
||||
bindd = $mainMod SHIFT, 7, Move window silently to workspace 7, movetoworkspacesilent, 7
|
||||
bindd = $mainMod SHIFT, 8, Move window silently to workspace 8, movetoworkspacesilent, 8
|
||||
bindd = $mainMod SHIFT, 9, Move window silently to workspace 9, movetoworkspacesilent, 9
|
||||
bindd = $mainMod SHIFT, 0, Move window silently to workspace 10, movetoworkspacesilent, 10
|
||||
# Window actions End #
|
||||
|
||||
# ======= Workspace Actions =======
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
bindd = $mainMod, 1, Switch to workspace 1, workspace, 1
|
||||
bindd = $mainMod, 2, Switch to workspace 2, workspace, 2
|
||||
bindd = $mainMod, 3, Switch to workspace 3, workspace, 3
|
||||
bindd = $mainMod, 4, Switch to workspace 4, workspace, 4
|
||||
bindd = $mainMod, 5, Switch to workspace 5, workspace, 5
|
||||
bindd = $mainMod, 6, Switch to workspace 6, workspace, 6
|
||||
bindd = $mainMod, 7, Switch to workspace 7, workspace, 7
|
||||
bindd = $mainMod, 8, Switch to workspace 8, workspace, 8
|
||||
bindd = $mainMod, 9, Switch to workspace 9, workspace, 9
|
||||
bindd = $mainMod, 0, Switch to workspace 10, workspace, 10
|
||||
# Scroll through existing workspaces with mainMod + , or .
|
||||
bindd = $mainMod, PERIOD, Scroll through workspaces incrementally, workspace, e+1
|
||||
bindd = $mainMod, COMMA, Scroll through workspaces decrementally, workspace, e-1
|
||||
# With $mainMod + scroll
|
||||
bindd = $mainMod, mouse_down, Scroll through workspaces incrementally, workspace, e+1
|
||||
bindd = $mainMod, mouse_up, Scroll through workspaces decrementally, workspace, e-1
|
||||
bindd = $mainMod, slash, Switch to the previous workspace, workspace, previous
|
||||
# Special workspaces (scratchpads)
|
||||
bindd = $mainMod, minus, Move active window to Special workspace, movetoworkspace, special
|
||||
bindd = $mainMod, equal, Toggles the Special workspace, togglespecialworkspace, special
|
||||
bindd = $mainMod, F1, Call special workspace scratchpad, togglespecialworkspace, scratchpad
|
||||
bindd = $mainMod ALT SHIFT, F1, Move active window to special workspace scratchpad, movetoworkspacesilent, special:scratchpad
|
||||
|
||||
# ======= Additional Settings =======
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Binds
|
||||
binds {
|
||||
allow_workspace_cycles = 1
|
||||
workspace_back_and_forth = 1
|
||||
workspace_center_on = 1
|
||||
movefocus_cycles_fullscreen = true
|
||||
window_direction_monitor_fallback = true
|
||||
}
|
||||
5
.config/hypr/config/monitors.conf
Normal file
5
.config/hypr/config/monitors.conf
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
# Generated by nwg-displays on 2025-11-02 at 02:52:57. Do not edit manually.
|
||||
|
||||
monitor = HDMI-A-1,1920x1080@239.76,0x0,1,transform,0
|
||||
monitor = DP-1,2560x1440@59.95,1920x0,1,transform,1
|
||||
monitor = eDP-2,disable
|
||||
87
.config/hypr/config/variables.conf
Normal file
87
.config/hypr/config/variables.conf
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
# ┃ Variables Configuration ┃
|
||||
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
||||
|
||||
source = ~/.config/hypr/config/colors.conf
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#general
|
||||
general {
|
||||
gaps_in = 3
|
||||
gaps_out = 5
|
||||
border_size = 3
|
||||
col.active_border = $cachylgreen
|
||||
col.inactive_border = $cachymblue
|
||||
layout = dwindle # master|dwindle
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#snap
|
||||
snap {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
# removed old gestures {} block — Hyprland 0.39+ uses gesture = … lines
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#group
|
||||
group {
|
||||
col.border_active = $cachydgreen
|
||||
col.border_inactive = $cachylgreen
|
||||
col.border_locked_active = $cachymgreen
|
||||
col.border_locked_inactive = $cachydblue
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#groupbar
|
||||
groupbar {
|
||||
font_family = "Fira Sans"
|
||||
text_color = $cachydblue
|
||||
col.active = $cachydgreen
|
||||
col.inactive = $cachylgreen
|
||||
col.locked_active = $cachymgreen
|
||||
col.locked_inactive = $cachydblue
|
||||
}
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#misc
|
||||
misc {
|
||||
font_family = "Fira Sans"
|
||||
splash_font_family = "Fira Sans"
|
||||
disable_hyprland_logo = true
|
||||
col.splash = $cachylgreen
|
||||
background_color = $cachydblue
|
||||
enable_swallow = true
|
||||
swallow_regex = ^(nautilus|nemo|thunar|btrfs-assistant.)$
|
||||
focus_on_activate = true
|
||||
vrr = 2
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#render
|
||||
render {
|
||||
direct_scanout = true
|
||||
}
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||
dwindle {
|
||||
special_scale_factor = 0.8
|
||||
pseudotile = true
|
||||
preserve_split = true
|
||||
}
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||
master {
|
||||
new_status = master
|
||||
special_scale_factor = 0.8
|
||||
}
|
||||
|
||||
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
# ┃ Gestures ┃
|
||||
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
||||
|
||||
# 4-finger horizontal swipe to switch workspaces
|
||||
gesture = 4, horizontal, workspace
|
||||
|
||||
# 3-finger swipe down closes active window
|
||||
gesture = 3, down, close
|
||||
|
||||
# 3-finger swipe up toggles fullscreen
|
||||
gesture = 3, up, fullscreen
|
||||
|
||||
# 3-finger swipe left toggles float/tile
|
||||
gesture = 3, left, float
|
||||
66
.config/hypr/config/windowrules.conf
Normal file
66
.config/hypr/config/windowrules.conf
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
# ┃ Windowrules Configuration ┃
|
||||
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
||||
|
||||
# Windows Rules https://wiki.hyprland.org/Configuring/Window-Rules/ #
|
||||
|
||||
windowrulev2 = fullscreen, initialTitle:^(ARC Raiders)$, monitor:1
|
||||
windowrule = monitor 1, initialTitle:^(Deadlock)$
|
||||
|
||||
# Float Necessary Windows
|
||||
windowrule = tile, initialTitle:^(Godot)$
|
||||
windowrule = float, class:^(org.pulseaudio.pavucontrol)
|
||||
windowrule = float, class:^()$,title:^(Picture in picture)$
|
||||
windowrule = float, class:^()$,title:^(Save File)$
|
||||
windowrule = float, class:^()$,title:^(Open File)$
|
||||
windowrule = float, class:^(LibreWolf)$,title:^(Picture-in-Picture)$
|
||||
windowrule = float, class:^(blueman-manager)$
|
||||
windowrule = float, class:^(xdg-desktop-portal-gtk|xdg-desktop-portal-kde|xdg-desktop-portal-hyprland)(.*)$
|
||||
windowrule = float, class:^(polkit-gnome-authentication-agent-1|hyprpolkitagent|org.org.kde.polkit-kde-authentication-agent-1)(.*)$
|
||||
windowrule = float, class:^(CachyOSHello)$
|
||||
windowrule = float, class:^(zenity)$
|
||||
windowrule = float, class:^()$,title:^(Steam - Self Updater)$
|
||||
# Increase the opacity
|
||||
windowrule = opacity 0.92, class:^(thunar|nemo)$
|
||||
windowrule = opacity 0.96, class:^(discord|armcord|webcord)$
|
||||
windowrule = opacity 0.95, title:^(QQ|Telegram)$
|
||||
windowrule = opacity 0.95, title:^(NetEase Cloud Music Gtk4)$
|
||||
# General window rules
|
||||
windowrule = float, title:^(Picture-in-Picture)$
|
||||
windowrule = size 960 540, title:^(Picture-in-Picture)$
|
||||
windowrule = move 25%-, title:^(Picture-in-Picture)$
|
||||
windowrule = float, title:^(imv|mpv|danmufloat|termfloat|nemo|ncmpcpp)$
|
||||
windowrule = move 25%-, title:^(imv|mpv|danmufloat|termfloat|nemo|ncmpcpp)$
|
||||
windowrule = size 960 540, title:^(imv|mpv|danmufloat|termfloat|nemo|ncmpcpp)$
|
||||
windowrule = pin, title:^(danmufloat)$
|
||||
windowrule = rounding 5, title:^(danmufloat|termfloat)$
|
||||
windowrule = animation slide right, class:^(kitty|Alacritty)$
|
||||
windowrule = noblur, class:^(org.mozilla.firefox)$
|
||||
# Decorations related to floating windows on workspaces 1 to 10
|
||||
windowrule = bordersize 2, floating:1, onworkspace:w[fv1-10]
|
||||
windowrule = bordercolor $cachylblue, floating:1, onworkspace:w[fv1-10]
|
||||
windowrule = rounding 8, floating:1, onworkspace:w[fv1-10]
|
||||
# Decorations related to tiling windows on workspaces 1 to 10
|
||||
windowrule = bordersize 3, floating:0, onworkspace:f[1-10]
|
||||
windowrule = rounding 4, floating:0, onworkspace:f[1-10]
|
||||
# Windows Rules End #
|
||||
|
||||
# Workspaces Rules https://wiki.hyprland.org/Configuring/Workspace-Rules/ #
|
||||
# workspace = 1, default:true, monitor:$priMon
|
||||
# workspace = 3, default:true, monitor:$secMon
|
||||
# Workspace selectors https://wiki.hyprland.org/Configuring/Workspace-Rules/#workspace-selectors
|
||||
# workspace = r[1-2], monitor:$priMon
|
||||
# workspace = r[3-5], monitor:$secMon
|
||||
# workspace = special:scratchpad, on-created-empty:$applauncher
|
||||
# no_gaps_when_only deprecated instead workspaces rules with selectors can do the same
|
||||
# Smart gaps from 0.45.0 https://wiki.hyprland.org/Configuring/Workspace-Rules/#smart-gaps
|
||||
workspace = w[tv1-10], gapsout:5, gapsin:3
|
||||
workspace = f[1], gapsout:5, gapsin:3
|
||||
# Workspaces Rules End #
|
||||
|
||||
# Layers Rules #
|
||||
layerrule = animation slide top, logout_dialog
|
||||
# layerrule = animation popin 50%, waybar
|
||||
layerrule = animation slide down, waybar
|
||||
layerrule = animation fade 50%, wallpaper
|
||||
# Layers Rules End #
|
||||
7
.config/hypr/config/workspaces.conf
Normal file
7
.config/hypr/config/workspaces.conf
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
# Generated by nwg-displays on 2025-11-02 at 02:49:30. Do not edit manually.
|
||||
|
||||
workspace=1,monitor:HDMI-A-1,default:true
|
||||
workspace=2,monitor:HDMI-A-1
|
||||
workspace=3,monitor:DP-1,default:true
|
||||
workspace=4,monitor:DP-1
|
||||
workspace=5,monitor:DP-1
|
||||
24
.config/hypr/dracula_colors.conf
Normal file
24
.config/hypr/dracula_colors.conf
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
$background = rgb(282A36)
|
||||
$backgroundRaw = 282A36
|
||||
$foreground = rgb(F8F8F2)
|
||||
$foregroundRaw = F8F8F2
|
||||
$selection = rgb(44475A)
|
||||
$selectionRaw = 44475A
|
||||
$comment = rgb(6272A4)
|
||||
$commentRaw = 6272A4
|
||||
$red = rgb(FF5555)
|
||||
$redRaw = FF5555
|
||||
$orange = rgb(FFB86C)
|
||||
$orangeRaw = FFB86C
|
||||
$yellow = rgb(F1FA8C)
|
||||
$yellowRaw = F1FA8C
|
||||
$green = rgb(50FA7B)
|
||||
$greenRaw = 50FA7B
|
||||
$purple = rgb(BD93F9)
|
||||
$purpleRaw = BD93F9
|
||||
$cyan = rgb(8BE9FD)
|
||||
$cyanRaw = 8BE9FD
|
||||
$pink = rgb(FF79C6)
|
||||
$pinkRaw = FF79C6
|
||||
$accent = $purple
|
||||
$accentRaw = $purpleRaw
|
||||
21
.config/hypr/gamemode.sh
Executable file
21
.config/hypr/gamemode.sh
Executable file
|
|
@ -0,0 +1,21 @@
|
|||
#!/usr/bin/env sh
|
||||
HYPRGAMEMODE=$(hyprctl getoption animations:enabled | awk 'NR==1{print $2}')
|
||||
if [ "$HYPRGAMEMODE" = 1 ] ; then
|
||||
hyprctl --batch "\
|
||||
keyword animations:enabled 0;\
|
||||
keyword animation borderangle,0; \
|
||||
keyword decoration:shadow:enabled 0;\
|
||||
keyword decoration:blur:enabled 0;\
|
||||
keyword decoration:fullscreen_opacity 1;\
|
||||
keyword general:gaps_in 0;\
|
||||
keyword general:gaps_out 0;\
|
||||
keyword general:border_size 1;\
|
||||
keyword decoration:rounding 0"
|
||||
hyprctl notify 1 5000 "rgb(40a02b)" "Gamemode [ON]"
|
||||
exit
|
||||
else
|
||||
hyprctl notify 1 5000 "rgb(d20f39)" "Gamemode [OFF]"
|
||||
hyprctl reload
|
||||
exit 0
|
||||
fi
|
||||
exit 1
|
||||
11
.config/hypr/hypridle.conf
Normal file
11
.config/hypr/hypridle.conf
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
general {
|
||||
lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances.
|
||||
before_sleep_cmd = loginctl lock-session # lock before suspend.
|
||||
after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display.
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 1800 # 30min
|
||||
on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed
|
||||
on-resume = hyprctl dispatch dpms on && brightnessctl -r # screen on when activity is detected after timeout has fired.
|
||||
}
|
||||
68
.config/hypr/hyprland.conf
Normal file
68
.config/hypr/hyprland.conf
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
# ┃ CachyOS Hyprland Configuration ┃
|
||||
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
||||
|
||||
$mainMod = SUPER
|
||||
|
||||
env = HYPRCURSOR_THEME,Dracula
|
||||
env = HYPRCURSOR_SIZE,24
|
||||
env = GTK_CSD,0
|
||||
|
||||
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
# ┃ Source Files ┃
|
||||
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
||||
source = ~/.config/hypr/config/animations.conf
|
||||
source = ~/.config/hypr/config/autostart.conf
|
||||
source = ~/.config/hypr/config/decorations.conf
|
||||
source = ~/.config/hypr/config/environment.conf
|
||||
source = ~/.config/hypr/config/input.conf
|
||||
source = ~/.config/hypr/config/keybinds.conf
|
||||
source = ~/.config/hypr/config/monitors.conf
|
||||
source = ~/.config/hypr/config/variables.conf
|
||||
source = ~/.config/hypr/config/windowrules.conf
|
||||
source = ~/.config/hypr/config/workspaces.conf
|
||||
|
||||
# Modifying these configs can be done by creating a user defined config in the home directory, e.g.
|
||||
## ~/.config/hypr/config/user-config.conf
|
||||
# source = ~/.config/hypr/config/user-config.conf
|
||||
# dracula/hyprland
|
||||
general {
|
||||
col.active_border = rgb(44475a) rgb(bd93f9) 90deg
|
||||
col.inactive_border = rgba(44475aaa)
|
||||
col.nogroup_border = rgba(282a36dd)
|
||||
col.nogroup_border_active = rgb(bd93f9) rgb(44475a) 90deg
|
||||
no_border_on_floating = false
|
||||
border_size = 2
|
||||
|
||||
# non-gradient alternative
|
||||
#col.active_border = rgb(bd93f9)
|
||||
#col.inactive_border = rgba(44475aaa)
|
||||
#col.group_border = rgba(282a36dd)
|
||||
#col.group_border_active = rgb(bd93f9)
|
||||
|
||||
# darker alternative
|
||||
#col.active_border = rgb(44475a) # or rgb(6272a4)
|
||||
#col.inactive_border = rgb(282a36)
|
||||
#col.group_border = rgb(282a36)
|
||||
#col.group_border_active = rgb(44475a) # or rgb(6272a4)
|
||||
|
||||
}
|
||||
|
||||
decoration:shadow {
|
||||
color = rgba(1E202966)
|
||||
|
||||
# suggested shadow setting
|
||||
#enabled = true
|
||||
#range = 60
|
||||
#offset = 1 2
|
||||
#render_power = 3
|
||||
#scale = 0.97
|
||||
}
|
||||
|
||||
group {
|
||||
groupbar {
|
||||
col.active = rgb(bd93f9) rgb(44475a) 90deg
|
||||
col.inactive = rgba(282a36dd)
|
||||
}
|
||||
}
|
||||
windowrulev2 = bordercolor rgb(ff5555),xwayland:1 # check if window is xwayland
|
||||
68
.config/hypr/hyprlock.conf
Normal file
68
.config/hypr/hyprlock.conf
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
source = $HOME/.config/hypr/dracula_colors.conf
|
||||
|
||||
$font = JetBrainsMono Nerd Font
|
||||
$base = $background
|
||||
$text = $foreground
|
||||
$textAlpha = $foregroundRaw
|
||||
$accentAlpha = $accentRaw
|
||||
|
||||
# GENERAL
|
||||
general {
|
||||
hide_cursor = true
|
||||
}
|
||||
|
||||
# BACKGROUND
|
||||
background {
|
||||
monitor =
|
||||
# change to the path to your wallpaper
|
||||
path = /mnt/data/Wallpapers/base.png
|
||||
blur_passes = 0
|
||||
color = $base
|
||||
}
|
||||
|
||||
# TIME
|
||||
label {
|
||||
monitor =
|
||||
text = $TIME12
|
||||
color = $text
|
||||
font_size = 90
|
||||
font_family = $font
|
||||
position = 30, 0
|
||||
halign = left
|
||||
valign = top
|
||||
}
|
||||
|
||||
# DATE
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:43200000] echo "$(date +"%A, %d %B %Y")"
|
||||
color = $text
|
||||
font_size = 25
|
||||
font_family = $font
|
||||
position = 30, -150
|
||||
halign = left
|
||||
valign = top
|
||||
}
|
||||
|
||||
# INPUT FIELD
|
||||
input-field {
|
||||
monitor =
|
||||
size = 300, 60
|
||||
outline_thickness = 4
|
||||
dots_size = 0.2
|
||||
dots_spacing = 0.2
|
||||
dots_center = true
|
||||
outer_color = $accent
|
||||
inner_color = $background
|
||||
font_color = $text
|
||||
fade_on_empty = false
|
||||
placeholder_text = <span foreground="##$textAlpha"> Logged in as <span foreground="##$accentAlpha">$USER</span></span>
|
||||
hide_input = false
|
||||
check_color = $accent
|
||||
fail_color = $red
|
||||
fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i>
|
||||
capslock_color = $yellow
|
||||
position = 0, -35
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
12
.config/waybar/colors.css
Normal file
12
.config/waybar/colors.css
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
@define-color background-darker rgba(30, 31, 41, 230);
|
||||
@define-color background #282a36;
|
||||
@define-color selection #44475a;
|
||||
@define-color foreground #f8f8f2;
|
||||
@define-color comment #6272a4;
|
||||
@define-color cyan #8be9fd;
|
||||
@define-color green #50fa7b;
|
||||
@define-color orange #ffb86c;
|
||||
@define-color pink #ff79c6;
|
||||
@define-color purple #bd93f9;
|
||||
@define-color red #ff5555;
|
||||
@define-color yellow #f1fa8c;
|
||||
79
.config/waybar/config
Normal file
79
.config/waybar/config
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
{
|
||||
"layer": "top",
|
||||
"position": "top",
|
||||
"height": 24,
|
||||
"spacing": 4,
|
||||
"modules-left": [
|
||||
"hyprland/workspaces",
|
||||
],
|
||||
"modules-center": [
|
||||
"hyprland/window"
|
||||
],
|
||||
"modules-right": [
|
||||
"custom/media",
|
||||
"custom/updates",
|
||||
"custom/storage",
|
||||
"tray",
|
||||
"clock"
|
||||
],
|
||||
"wlr/taskbar": {
|
||||
"on-click": "activate",
|
||||
"on-click-middle": "close",
|
||||
"ignore-list": [
|
||||
"foot"
|
||||
]
|
||||
},
|
||||
"hyprland/workspaces": {
|
||||
"on-click": "activate",
|
||||
"on-scroll-up": "hyprctl dispatch workspace e-1",
|
||||
"on-scroll-down": "hyprctl dispatch workspace e+1"
|
||||
},
|
||||
"hyprland/window": {
|
||||
"max-length": 128
|
||||
},
|
||||
"clock": {
|
||||
"format": "{:%m/%d/%Y %I:%M %p}",
|
||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>"
|
||||
},
|
||||
"tray": {
|
||||
"spacing": 4
|
||||
},
|
||||
"custom/weather": {
|
||||
"exec": "~/.config/waybar/wittr.sh",
|
||||
"return-type": "json",
|
||||
"format": "{}",
|
||||
"tooltip": true,
|
||||
"interval": 900
|
||||
},
|
||||
"custom/spotify": {
|
||||
"exec": "~/.config/waybar/modules/spotify.sh",
|
||||
"return-type": "json",
|
||||
"format": "{}",
|
||||
"tooltip": false,
|
||||
"interval": 5
|
||||
},
|
||||
"custom/media": {
|
||||
"exec": "~/.config/waybar/mediaplayer.py --player spotify_player",
|
||||
"return-type": "json",
|
||||
"interval": 0,
|
||||
"on-click": "playerctl play-pause",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/storage": {
|
||||
"exec": "~/.config/waybar/modules/storage.sh",
|
||||
"return-type": "json",
|
||||
"interval": 900,
|
||||
"format": "{}",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/updates": {
|
||||
"exec": "~/.config/waybar/modules/update-check.sh",
|
||||
"interval": 900,
|
||||
"return-type": "json",
|
||||
"format": "{text}",
|
||||
"on-click": "kitty -e fish -ic 'update'",
|
||||
"on-output": "class: no-updates",
|
||||
"on-error": "class: updates-available",
|
||||
"tooltip": false
|
||||
},
|
||||
}
|
||||
127
.config/waybar/mediaplayer.py
Executable file
127
.config/waybar/mediaplayer.py
Executable file
|
|
@ -0,0 +1,127 @@
|
|||
#!/usr/bin/env python3
|
||||
import argparse
|
||||
import logging
|
||||
import sys
|
||||
import signal
|
||||
import gi
|
||||
import json
|
||||
gi.require_version('Playerctl', '2.0')
|
||||
from gi.repository import Playerctl, GLib
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def write_output(text, player):
|
||||
logger.info('Writing output')
|
||||
|
||||
output = {'text': text,
|
||||
'class': 'custom-' + player.props.player_name,
|
||||
'alt': player.props.player_name}
|
||||
|
||||
sys.stdout.write(json.dumps(output) + '\n')
|
||||
sys.stdout.flush()
|
||||
|
||||
|
||||
def on_play(player, status, manager):
|
||||
logger.info('Received new playback status')
|
||||
on_metadata(player, player.props.metadata, manager)
|
||||
|
||||
|
||||
def on_metadata(player, metadata, manager):
|
||||
logger.info('Received new metadata')
|
||||
track_info = ''
|
||||
|
||||
if player.props.player_name == 'spotify' and \
|
||||
'mpris:trackid' in metadata.keys() and \
|
||||
':ad:' in player.props.metadata['mpris:trackid']:
|
||||
track_info = 'AD PLAYING'
|
||||
elif player.get_artist() != '' and player.get_title() != '':
|
||||
track_info = '{artist} - {title}'.format(artist=player.get_artist(),
|
||||
title=player.get_title())
|
||||
else:
|
||||
track_info = player.get_title()
|
||||
|
||||
if player.props.status != 'Playing' and track_info:
|
||||
track_info = ' ' + track_info
|
||||
write_output(track_info, player)
|
||||
|
||||
|
||||
def on_player_appeared(manager, player, selected_player=None):
|
||||
if player is not None and (selected_player is None or player.name == selected_player):
|
||||
init_player(manager, player)
|
||||
else:
|
||||
logger.debug("New player appeared, but it's not the selected player, skipping")
|
||||
|
||||
|
||||
def on_player_vanished(manager, player):
|
||||
logger.info('Player has vanished')
|
||||
sys.stdout.write('\n')
|
||||
sys.stdout.flush()
|
||||
|
||||
|
||||
def init_player(manager, name):
|
||||
logger.debug('Initialize player: {player}'.format(player=name.name))
|
||||
player = Playerctl.Player.new_from_name(name)
|
||||
player.connect('playback-status', on_play, manager)
|
||||
player.connect('metadata', on_metadata, manager)
|
||||
manager.manage_player(player)
|
||||
on_metadata(player, player.props.metadata, manager)
|
||||
|
||||
|
||||
def signal_handler(sig, frame):
|
||||
logger.debug('Received signal to stop, exiting')
|
||||
sys.stdout.write('\n')
|
||||
sys.stdout.flush()
|
||||
# loop.quit()
|
||||
sys.exit(0)
|
||||
|
||||
|
||||
def parse_arguments():
|
||||
parser = argparse.ArgumentParser()
|
||||
|
||||
# Increase verbosity with every occurance of -v
|
||||
parser.add_argument('-v', '--verbose', action='count', default=0)
|
||||
|
||||
# Define for which player we're listening
|
||||
parser.add_argument('--player')
|
||||
|
||||
return parser.parse_args()
|
||||
|
||||
|
||||
def main():
|
||||
arguments = parse_arguments()
|
||||
|
||||
# Initialize logging
|
||||
logging.basicConfig(stream=sys.stderr, level=logging.DEBUG,
|
||||
format='%(name)s %(levelname)s %(message)s')
|
||||
|
||||
# Logging is set by default to WARN and higher.
|
||||
# With every occurrence of -v it's lowered by one
|
||||
logger.setLevel(max((3 - arguments.verbose) * 10, 0))
|
||||
|
||||
# Log the sent command line arguments
|
||||
logger.debug('Arguments received {}'.format(vars(arguments)))
|
||||
|
||||
manager = Playerctl.PlayerManager()
|
||||
loop = GLib.MainLoop()
|
||||
|
||||
manager.connect('name-appeared', lambda *args: on_player_appeared(*args, arguments.player))
|
||||
manager.connect('player-vanished', on_player_vanished)
|
||||
|
||||
signal.signal(signal.SIGINT, signal_handler)
|
||||
signal.signal(signal.SIGTERM, signal_handler)
|
||||
|
||||
for player in manager.props.player_names:
|
||||
if arguments.player is not None and arguments.player != player.name:
|
||||
logger.debug('{player} is not the filtered player, skipping it'
|
||||
.format(player=player.name)
|
||||
)
|
||||
continue
|
||||
|
||||
init_player(manager, player)
|
||||
|
||||
loop.run()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
42
.config/waybar/modules/mail.py
Executable file
42
.config/waybar/modules/mail.py
Executable file
|
|
@ -0,0 +1,42 @@
|
|||
#!/usr/bin/python
|
||||
|
||||
import os
|
||||
import imaplib
|
||||
|
||||
import mailsecrets
|
||||
|
||||
def getmails(username, password, server):
|
||||
imap = imaplib.IMAP4_SSL(server, 993)
|
||||
imap.login(username, password)
|
||||
imap.select('INBOX')
|
||||
ustatus, uresponse = imap.uid('search', None, 'UNSEEN')
|
||||
if ustatus == 'OK':
|
||||
unread_msg_nums = uresponse[0].split()
|
||||
else:
|
||||
unread_msg_nums = []
|
||||
|
||||
fstatus, fresponse = imap.uid('search', None, 'FLAGGED')
|
||||
if fstatus == 'OK':
|
||||
flagged_msg_nums = fresponse[0].split()
|
||||
else:
|
||||
flagged_msg_nums = []
|
||||
|
||||
return [len(unread_msg_nums), len(flagged_msg_nums)]
|
||||
|
||||
ping = os.system("ping " + mailsecrets.server + " -c1 > /dev/null 2>&1")
|
||||
if ping == 0:
|
||||
mails = getmails(mailsecrets.username, mailsecrets.password, mailsecrets.server)
|
||||
text = ''
|
||||
alt = ''
|
||||
|
||||
if mails[0] > 0:
|
||||
text = alt = str(mails[0])
|
||||
if mails[1] > 0:
|
||||
alt = str(mails[1]) + " " + alt
|
||||
else:
|
||||
exit(1)
|
||||
|
||||
print('{"text":"' + text + '", "alt": "' + alt + '"}')
|
||||
|
||||
else:
|
||||
exit(1)
|
||||
18
.config/waybar/modules/spotify.sh
Executable file
18
.config/waybar/modules/spotify.sh
Executable file
|
|
@ -0,0 +1,18 @@
|
|||
#!/bin/sh
|
||||
|
||||
class=$(playerctl metadata --player=spotify_player --format '{{lc(status)}}')
|
||||
icon=""
|
||||
|
||||
if [[ $class == "playing" ]]; then
|
||||
info=$(playerctl metadata --player=spotify_player --format '{{artist}} - {{title}}')
|
||||
if [[ ${#info} > 40 ]]; then
|
||||
info=$(echo $info | cut -c1-40)"..."
|
||||
fi
|
||||
text=$info" "$icon
|
||||
elif [[ $class == "paused" ]]; then
|
||||
text=$icon
|
||||
elif [[ $class == "stopped" ]]; then
|
||||
text=""
|
||||
fi
|
||||
|
||||
echo -e "{\"text\":\""$text"\", \"class\":\""$class"\"}"
|
||||
24
.config/waybar/modules/storage.sh
Executable file
24
.config/waybar/modules/storage.sh
Executable file
|
|
@ -0,0 +1,24 @@
|
|||
#!/bin/sh
|
||||
|
||||
mount="/"
|
||||
warning=20
|
||||
critical=10
|
||||
|
||||
df -h -P -l "$mount" | awk -v warning=$warning -v critical=$critical '
|
||||
/\/.*/ {
|
||||
text=$5
|
||||
tooltip="Filesystem: "$1"\rSize: "$2"\rUsed: "$3"\rAvail: "$4"\rUse%: "$5"\rMounted on: "$6
|
||||
use=$5
|
||||
exit 0
|
||||
}
|
||||
END {
|
||||
class=""
|
||||
gsub(/%$/,"",use)
|
||||
if ((100 - use) < critical) {
|
||||
class="critical"
|
||||
} else if ((100 - use) < warning) {
|
||||
class="warning"
|
||||
}
|
||||
print "{\"text\":\""text"\", \"percentage\":"use",\"tooltip\":\""tooltip"\", \"class\":\""class"\"}"
|
||||
}
|
||||
'
|
||||
8
.config/waybar/modules/update-check.sh
Executable file
8
.config/waybar/modules/update-check.sh
Executable file
|
|
@ -0,0 +1,8 @@
|
|||
#!/bin/bash
|
||||
updates=$(($(checkupdates 2>/dev/null | wc -l) + $(paru -Qum 2>/dev/null | wc -l)))
|
||||
|
||||
if [ "$updates" -gt 0 ]; then
|
||||
echo '{"text":"⟳","class":"updates-available"}'
|
||||
else
|
||||
echo '{"text":"⟳","class":"no-updates"}'
|
||||
fi
|
||||
79
.config/waybar/modules/weather.sh
Executable file
79
.config/waybar/modules/weather.sh
Executable file
|
|
@ -0,0 +1,79 @@
|
|||
#!/bin/bash
|
||||
|
||||
cachedir=~/.cache/rbn
|
||||
cachefile=${0##*/}-$1
|
||||
|
||||
if [ ! -d $cachedir ]; then
|
||||
mkdir -p $cachedir
|
||||
fi
|
||||
|
||||
if [ ! -f $cachedir/$cachefile ]; then
|
||||
touch $cachedir/$cachefile
|
||||
fi
|
||||
|
||||
# Save current IFS
|
||||
SAVEIFS=$IFS
|
||||
# Change IFS to new line.
|
||||
IFS=$'\n'
|
||||
|
||||
cacheage=$(($(date +%s) - $(stat -c '%Y' "$cachedir/$cachefile")))
|
||||
if [ $cacheage -gt 1740 ] || [ ! -s $cachedir/$cachefile ]; then
|
||||
data=($(curl -s https://en.wttr.in/$1\?0qnT 2>&1))
|
||||
echo ${data[0]} | cut -f1 -d, > $cachedir/$cachefile
|
||||
echo ${data[1]} | sed -E 's/^.{15}//' >> $cachedir/$cachefile
|
||||
echo ${data[2]} | sed -E 's/^.{15}//' >> $cachedir/$cachefile
|
||||
fi
|
||||
|
||||
weather=($(cat $cachedir/$cachefile))
|
||||
|
||||
# Restore IFSClear
|
||||
IFS=$SAVEIFS
|
||||
|
||||
temperature=$(echo ${weather[2]} | sed -E 's/([[:digit:]])+\.\./\1 to /g')
|
||||
|
||||
#echo ${weather[1]##*,}
|
||||
|
||||
# https://fontawesome.com/icons?s=solid&c=weather
|
||||
case $(echo ${weather[1]##*,} | tr '[:upper:]' '[:lower:]') in
|
||||
"clear" | "sunny")
|
||||
condition=""
|
||||
;;
|
||||
"partly cloudy")
|
||||
condition="杖"
|
||||
;;
|
||||
"cloudy")
|
||||
condition=""
|
||||
;;
|
||||
"overcast")
|
||||
condition=""
|
||||
;;
|
||||
"mist" | "fog" | "freezing fog")
|
||||
condition=""
|
||||
;;
|
||||
"patchy rain possible" | "patchy light drizzle" | "light drizzle" | "patchy light rain" | "light rain" | "light rain shower" | "rain")
|
||||
condition=""
|
||||
;;
|
||||
"moderate rain at times" | "moderate rain" | "heavy rain at times" | "heavy rain" | "moderate or heavy rain shower" | "torrential rain shower" | "rain shower")
|
||||
condition=""
|
||||
;;
|
||||
"patchy snow possible" | "patchy sleet possible" | "patchy freezing drizzle possible" | "freezing drizzle" | "heavy freezing drizzle" | "light freezing rain" | "moderate or heavy freezing rain" | "light sleet" | "ice pellets" | "light sleet showers" | "moderate or heavy sleet showers")
|
||||
condition="ﭽ"
|
||||
;;
|
||||
"blowing snow" | "moderate or heavy sleet" | "patchy light snow" | "light snow" | "light snow showers")
|
||||
condition="流"
|
||||
;;
|
||||
"blizzard" | "patchy moderate snow" | "moderate snow" | "patchy heavy snow" | "heavy snow" | "moderate or heavy snow with thunder" | "moderate or heavy snow showers")
|
||||
condition="ﰕ"
|
||||
;;
|
||||
"thundery outbreaks possible" | "patchy light rain with thunder" | "moderate or heavy rain with thunder" | "patchy light snow with thunder")
|
||||
condition=""
|
||||
;;
|
||||
*)
|
||||
condition=""
|
||||
echo -e "{\"text\":\""$condition"\", \"alt\":\""${weather[0]}"\", \"tooltip\":\""${weather[0]}: $temperature ${weather[1]}"\"}"
|
||||
;;
|
||||
esac
|
||||
|
||||
#echo $temp $condition
|
||||
|
||||
echo -e "{\"text\":\""$temperature $condition"\", \"alt\":\""${weather[0]}"\", \"tooltip\":\""${weather[0]}: $temperature ${weather[1]}"\"}"
|
||||
44
.config/waybar/style.css
Normal file
44
.config/waybar/style.css
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
@import url("./colors.css");
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
font-family: Iosevka;
|
||||
font-size: 11pt;
|
||||
min-height: 0;
|
||||
}
|
||||
window#waybar {
|
||||
opacity: 1;
|
||||
background: @background-darker;
|
||||
color: @foreground;
|
||||
border-bottom: 2px solid @background;
|
||||
}
|
||||
#workspaces button {
|
||||
padding: 0 10px;
|
||||
background: @background;
|
||||
color: @foreground;
|
||||
}
|
||||
#workspaces button:hover {
|
||||
box-shadow: inherit;
|
||||
text-shadow: inherit;
|
||||
background-image: linear-gradient(0deg, @selection, @background-darker);
|
||||
}
|
||||
#workspaces button.focused,
|
||||
#workspaces button.active {
|
||||
background-image: linear-gradient(0deg, @purple, @selection);
|
||||
}
|
||||
#workspaces button.urgent {
|
||||
background-image: linear-gradient(0deg, @red, @background-darker);
|
||||
}
|
||||
#taskbar button.active {
|
||||
background-image: linear-gradient(0deg, @selection, @background-darker);
|
||||
}
|
||||
#clock {
|
||||
padding: 0 4px;
|
||||
background: @background;
|
||||
}
|
||||
#custom-updates.no-updates {
|
||||
color: #f8f8f2;
|
||||
}
|
||||
#custom-updates.updates-available {
|
||||
color: #bd93f9;
|
||||
}
|
||||
10
.config/waybar/waybar.sh
Executable file
10
.config/waybar/waybar.sh
Executable file
|
|
@ -0,0 +1,10 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
# Terminate already running bar instances
|
||||
killall -q waybar
|
||||
|
||||
# Wait until the processes have been shut down
|
||||
while pgrep -x waybar >/dev/null; do sleep 1; done
|
||||
|
||||
# Launch main
|
||||
waybar &
|
||||
5
.config/waybar/wittr.sh
Executable file
5
.config/waybar/wittr.sh
Executable file
|
|
@ -0,0 +1,5 @@
|
|||
#!/usr/bin/sh
|
||||
req=$(curl -s wttr.in/CITY?format="%t|%l+(%c%f)+%h,+%C")
|
||||
bar=$(echo $req | awk -F "|" '{print $1}')
|
||||
tooltip=$(echo $req | awk -F "|" '{print $2}')
|
||||
echo "{\"text\":\"$bar\", \"tooltip\":\"$tooltip\"}"
|
||||
36
.config/wlogout/layout
Normal file
36
.config/wlogout/layout
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"label" : "lock",
|
||||
"action" : "hyprlock",
|
||||
"text" : "Lock",
|
||||
"keybind" : "l"
|
||||
}
|
||||
{
|
||||
"label" : "hibernate",
|
||||
"action" : "systemctl hibernate",
|
||||
"text" : "Hibernate",
|
||||
"keybind" : "h"
|
||||
}
|
||||
{
|
||||
"label" : "logout",
|
||||
"action" : "hyprctl dispatch exit",
|
||||
"text" : "Logout",
|
||||
"keybind" : "e"
|
||||
}
|
||||
{
|
||||
"label" : "shutdown",
|
||||
"action" : "systemctl poweroff",
|
||||
"text" : "Shutdown",
|
||||
"keybind" : "s"
|
||||
}
|
||||
{
|
||||
"label" : "suspend",
|
||||
"action" : "systemctl suspend",
|
||||
"text" : "Suspend",
|
||||
"keybind" : "u"
|
||||
}
|
||||
{
|
||||
"label" : "reboot",
|
||||
"action" : "systemctl reboot",
|
||||
"text" : "Reboot",
|
||||
"keybind" : "r"
|
||||
}
|
||||
51
.config/wlogout/style.css
Normal file
51
.config/wlogout/style.css
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
* {
|
||||
background-image: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
window {
|
||||
background-color: rgba(40, 42, 54, 0.8); /* DraculaBackground and slightly transparent */
|
||||
}
|
||||
|
||||
button {
|
||||
border-radius: 4;
|
||||
margin: 5;
|
||||
border-color: #44475a; /* DraculaPurple */
|
||||
text-decoration-color: #BD93F9; /* DraculaPurple */
|
||||
color: #BD93F9; /* DraculaPurple */
|
||||
background-color: #282A36; /* DraculaBackground */
|
||||
border-style: solid;
|
||||
border-width: 2px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
background-size: 25%;
|
||||
}
|
||||
|
||||
button:focus, button:active, button:hover {
|
||||
border-color: #BD93F9; /* DraculaPurple */
|
||||
outline-style: none;
|
||||
}
|
||||
|
||||
#lock {
|
||||
background-image: image(url("/usr/share/wlogout/icons/lock.png"), url("/usr/local/share/wlogout/icons/lock.png"));
|
||||
}
|
||||
|
||||
#logout {
|
||||
background-image: image(url("/usr/share/wlogout/icons/logout.png"), url("/usr/local/share/wlogout/icons/logout.png"));
|
||||
}
|
||||
|
||||
#suspend {
|
||||
background-image: image(url("/usr/share/wlogout/icons/suspend.png"), url("/usr/local/share/wlogout/icons/suspend.png"));
|
||||
}
|
||||
|
||||
#hibernate {
|
||||
background-image: image(url("/usr/share/wlogout/icons/hibernate.png"), url("/usr/local/share/wlogout/icons/hibernate.png"));
|
||||
}
|
||||
|
||||
#shutdown {
|
||||
background-image: image(url("/usr/share/wlogout/icons/shutdown.png"), url("/usr/local/share/wlogout/icons/shutdown.png"));
|
||||
}
|
||||
|
||||
#reboot {
|
||||
background-image: image(url("/usr/share/wlogout/icons/reboot.png"), url("/usr/local/share/wlogout/icons/reboot.png"));
|
||||
}
|
||||
1
.config/wob/wob.ini
Symbolic link
1
.config/wob/wob.ini
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
/home/henry/.config/wob/wob_horizontal.ini
|
||||
59
.config/wob/wob_horizontal.ini
Normal file
59
.config/wob/wob_horizontal.ini
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
; WOB CONFIG
|
||||
; ============================
|
||||
; This is a Dracula theme for wob.
|
||||
; There include examples and descriptions of all the options available.
|
||||
; Only modified options are uncommented.
|
||||
; ============================
|
||||
|
||||
; `max` This value will be represented as fully filled bar.
|
||||
;max = 100
|
||||
; `timeout` Timeout after which wob hides itself, in milliseconds.
|
||||
;timeout = 1000
|
||||
|
||||
; `width` Width of wob, in pixels.
|
||||
;width = 400
|
||||
; `height` Height of wob, in pixels.
|
||||
;height = 50
|
||||
; `border_offset` Border offset, in pixels.
|
||||
;border_offset = 4
|
||||
; `border_size` Border size, in pixels.
|
||||
;border_size = 4
|
||||
; `bar_padding` Bar padding, in pixels.
|
||||
;bar_padding = 4
|
||||
; `orientation` Orientation of the bar, one of horizontal and vertical. (only available after release 0.14.2 or in master branch)
|
||||
; You probably want to set inverse *width* and *height* values for vertical orientation.
|
||||
; This feature is implemented after the release 0.14.2 and will be available in the next release or you can build it from master branch.
|
||||
;orientation = horizontal
|
||||
|
||||
; `margin` Anchor margin, in pixels. Either as a single value or 4 values (top right bottom left).
|
||||
; (using 4 values are only available after release 0.14.2 or in master branch)
|
||||
margin = 50
|
||||
; `anchor` Anchor point, combination of top, left, right, bottom, center.
|
||||
anchor = bottom center
|
||||
; `overflow_mode` Overflow mode, one of wrap, and nowrap.
|
||||
; *wrap*: wrap value so *max* + 20 will be displayed as 20
|
||||
; *nowrap* values > *max* will be displayed as just *max*
|
||||
;overflow_mode = wrap
|
||||
; `output_mode` Output mode, one of whitelist, all, focused.
|
||||
; *whitelist*: show wob only on outputs defined in *output.\** sections of config file
|
||||
; *all*: show wob on all available outputs
|
||||
; *focused*: show wob on compositor default (focused) output
|
||||
;output_mode = focused
|
||||
|
||||
; `background_color` Background color, in RRGGBB[AA] format.
|
||||
background_color = 282a36ff
|
||||
; `bar_color` Bar color, in RRGGBB[AA] format.
|
||||
bar_color = bd93f9ff
|
||||
; `border_color` Border color, in RRGGBB[AA] format.
|
||||
border_color = bd93f9ff
|
||||
|
||||
; `overflow_background_color` Overflow background color, in RRGGBB[AA] format.
|
||||
overflow_background_color = 282a36ff
|
||||
; `overflow_bar_color` Overflow bar color, in RRGGBB[AA] format.
|
||||
overflow_bar_color = ff79c6ff
|
||||
; `overflow_border_color` Overflow border color, in RRGGBB[AA] format.
|
||||
overflow_border_color = bd93f9ff
|
||||
|
||||
[style.muted]
|
||||
bar_color = 6272a4ff
|
||||
overflow_bar_color = 6272a4ff
|
||||
235
.pacman.list
Normal file
235
.pacman.list
Normal file
|
|
@ -0,0 +1,235 @@
|
|||
1password
|
||||
accountsservice
|
||||
adobe-source-han-sans-cn-fonts
|
||||
adobe-source-han-sans-jp-fonts
|
||||
adobe-source-han-sans-kr-fonts
|
||||
alsa-firmware
|
||||
alsa-plugins
|
||||
alsa-utils
|
||||
awesome-terminal-fonts
|
||||
base
|
||||
base-devel
|
||||
bash-completion
|
||||
bemenu
|
||||
bemenu-wayland
|
||||
bind
|
||||
bluez
|
||||
bluez-hid2hci
|
||||
bluez-libs
|
||||
bluez-utils
|
||||
btop
|
||||
btrfs-assistant
|
||||
btrfs-progs
|
||||
cachyos-fish-config
|
||||
cachyos-gaming-applications
|
||||
cachyos-gaming-meta
|
||||
cachyos-grub-theme
|
||||
cachyos-hello
|
||||
cachyos-hooks
|
||||
cachyos-hyprland-settings
|
||||
cachyos-kernel-manager
|
||||
cachyos-keyring
|
||||
cachyos-mirrorlist
|
||||
cachyos-nord-gtk-theme-git
|
||||
cachyos-packageinstaller
|
||||
cachyos-rate-mirrors
|
||||
cachyos-settings
|
||||
cachyos-snapper-support
|
||||
cachyos-v3-mirrorlist
|
||||
cachyos-v4-mirrorlist
|
||||
cachyos-wallpapers
|
||||
capitaine-cursors
|
||||
chwd
|
||||
cpupower
|
||||
cryptsetup
|
||||
device-mapper
|
||||
dhclient
|
||||
diffutils
|
||||
discord
|
||||
dmidecode
|
||||
dmraid
|
||||
dnsmasq
|
||||
dosfstools
|
||||
duf
|
||||
e2fsprogs
|
||||
efibootmgr
|
||||
efitools
|
||||
egl-wayland
|
||||
ethtool
|
||||
exfatprogs
|
||||
f2fs-tools
|
||||
fastfetch
|
||||
ffmpegthumbnailer
|
||||
firefox
|
||||
fsarchiver
|
||||
git
|
||||
glances
|
||||
godot
|
||||
gparted
|
||||
grimblast-git
|
||||
gslapper
|
||||
gst-libav
|
||||
gst-plugin-pipewire
|
||||
gst-plugin-va
|
||||
gst-plugins-bad
|
||||
gst-plugins-ugly
|
||||
haveged
|
||||
hdparm
|
||||
htop
|
||||
hwdetect
|
||||
hwinfo
|
||||
hypridle
|
||||
hyprland
|
||||
hyprlock
|
||||
hyprpaper
|
||||
inetutils
|
||||
intel-media-driver
|
||||
intel-ucode
|
||||
iptables-nft
|
||||
iwd
|
||||
jfsutils
|
||||
kitty
|
||||
kvantum
|
||||
kvantum-theme-nordic-git
|
||||
lazygit
|
||||
less
|
||||
lib32-mesa
|
||||
lib32-nvidia-utils
|
||||
lib32-opencl-nvidia
|
||||
lib32-vulkan-intel
|
||||
libdvdcss
|
||||
libgsf
|
||||
libopenraw
|
||||
libva-nvidia-driver
|
||||
libwnck3
|
||||
limine
|
||||
limine-mkinitcpio-hook
|
||||
limine-snapper-sync
|
||||
linux-cachyos
|
||||
linux-cachyos-headers
|
||||
linux-cachyos-lts
|
||||
linux-cachyos-lts-headers
|
||||
linux-cachyos-lts-nvidia-open
|
||||
linux-cachyos-nvidia-open
|
||||
linux-firmware
|
||||
logrotate
|
||||
lsb-release
|
||||
lsscsi
|
||||
lvm2
|
||||
mako
|
||||
man-db
|
||||
man-pages
|
||||
mdadm
|
||||
meld
|
||||
mesa-utils
|
||||
mkinitcpio
|
||||
modemmanager
|
||||
mtools
|
||||
mumble
|
||||
nano
|
||||
nano-syntax-highlighting
|
||||
nautilus
|
||||
netctl
|
||||
networkmanager
|
||||
networkmanager-openvpn
|
||||
nfs-utils
|
||||
nilfs-utils
|
||||
noto-color-emoji-fontconfig
|
||||
noto-fonts
|
||||
noto-fonts-cjk
|
||||
noto-fonts-emoji
|
||||
nss-mdns
|
||||
ntp
|
||||
nvidia-prime
|
||||
nvidia-settings
|
||||
nvidia-utils
|
||||
nwg-displays
|
||||
nwg-look
|
||||
obsidian
|
||||
octopi
|
||||
opencl-nvidia
|
||||
opendesktop-fonts
|
||||
openssh
|
||||
os-prober
|
||||
pacman-contrib
|
||||
pamixer
|
||||
paru
|
||||
pavucontrol
|
||||
perl
|
||||
pipewire-alsa
|
||||
pipewire-pulse
|
||||
pkgfile
|
||||
plocate
|
||||
polkit-kde-agent
|
||||
poppler-glib
|
||||
power-profiles-daemon
|
||||
pv
|
||||
python
|
||||
python-defusedxml
|
||||
python-packaging
|
||||
qt5ct
|
||||
rebuild-detector
|
||||
reflector
|
||||
ripgrep
|
||||
rofi
|
||||
rofi-emoji
|
||||
rsync
|
||||
rtkit
|
||||
s-nail
|
||||
sddm
|
||||
sg3_utils
|
||||
slurp
|
||||
smartmontools
|
||||
snapper
|
||||
sof-firmware
|
||||
spotify-player
|
||||
spotifyd
|
||||
stow
|
||||
sudo
|
||||
swappy
|
||||
swaybg
|
||||
swaylock-effects-git
|
||||
swaylock-fancy-git
|
||||
switcheroo-control
|
||||
swww
|
||||
sysc-greet-hyprland
|
||||
sysfsutils
|
||||
texinfo
|
||||
ttf-bitstream-vera
|
||||
ttf-dejavu
|
||||
ttf-liberation
|
||||
ttf-meslo-nerd
|
||||
ttf-opensans
|
||||
ufw
|
||||
unrar
|
||||
unzip
|
||||
upower
|
||||
usb_modeswitch
|
||||
usbutils
|
||||
uwsm
|
||||
vi
|
||||
vlc-plugins-all
|
||||
vulkan-intel
|
||||
waybar
|
||||
wget
|
||||
which
|
||||
wireless-regdb
|
||||
wireplumber
|
||||
wl-clipboard
|
||||
wlogout
|
||||
wob
|
||||
wofi
|
||||
wpa_supplicant
|
||||
xdg-desktop-portal-hyprland
|
||||
xdg-user-dirs
|
||||
xf86-input-libinput
|
||||
xfsprogs
|
||||
xl2tpd
|
||||
xorg-server
|
||||
xorg-xdpyinfo
|
||||
xorg-xinit
|
||||
xorg-xinput
|
||||
xorg-xkill
|
||||
xorg-xrandr
|
||||
xorg-xwayland
|
||||
zed
|
||||
Loading…
Add table
Add a link
Reference in a new issue