Compare commits

...

48 Commits

Author SHA1 Message Date
e414e76946 refactor: stuff 2025-09-26 10:45:31 +03:00
dd45ed48b5 feat: buds scripts 2025-09-26 10:42:15 +03:00
ef8153c893 feat: i really like rmpc now 2025-09-26 10:21:36 +03:00
4390838bba fix: grammar stuff with the checkupdates script 2025-09-26 09:02:40 +03:00
6a4f0e8975 refactor: new autostarts in hyprland.conf;
chore: cleaned up some unused apps and comments in hyprland.conf;
feat: buffed window animations
2025-09-26 09:02:03 +03:00
78bda1e5b0 feat: rmpc muza alias 2025-09-26 09:00:08 +03:00
8d147f44d8 feat: neat rmpc theme 2025-09-26 08:59:36 +03:00
57fa60f9ba feat: rmpc support for muza script 2025-09-26 08:58:43 +03:00
a250ee2a48 refactor: waybar gradient 2025-09-26 08:58:11 +03:00
552d92290a feat: swaync cpu frequency slider 2025-09-26 08:57:30 +03:00
a03078a31d feat: shiny button tops everywhere 2025-09-22 19:51:22 +03:00
9d059aeeae feat: hyprfocus and exta dispatchers plugins;
feat: hyprfocus opacity is disabled in game mode
2025-09-22 19:08:24 +03:00
42ed3208a4 feat: easymotion plugin installed 2025-09-22 18:30:34 +03:00
f4854db913 chore: removed unused swaync idle inhibitor scripts 2025-09-22 17:52:54 +03:00
b40afea717 feat: reserved screen space keybind and pinning windows for watching shows in the background;
refactor: waybar adjustments;
refactor: swaync idle inhibitor now handles idle state correctly;
feat: rmpc config
2025-09-22 17:48:56 +03:00
c1766c3aac feat: split panels for waybar;
refactor: waybar, swaync and rofi now share colors;
refactor: removed windows from rofi, niced colors;
fix: transparency blur arifacts;
2025-09-18 09:55:08 +03:00
60b3a2cc88 feat: nice stuff 2025-09-17 18:05:36 +03:00
261ba1f16f feat: volume & brightness sliders;
experiment: trying to implement idle inhibitor
2025-09-17 01:01:36 +03:00
db4de4114b chore: removed unused aliases;
feat: added alias for deleting cached file thumbnails
2025-09-17 00:17:21 +03:00
32e08609f4 refactor: tmux online status plugin now pings archlinux instead of evil evil google 2025-09-17 00:16:14 +03:00
c085a471f3 refactor: colors in calendar;
feat: no longer displaying mpd widget when playlist is empty
2025-09-17 00:15:15 +03:00
5519a34ffe feat: random wallpaper script for both screens 2025-09-17 00:14:11 +03:00
2c5bc1bda8 feat: very nice swaync config 2025-09-17 00:13:25 +03:00
503d5bd4cb fix: ofc Hypr developers, just rip the feature out without a deprecation period 2025-09-11 22:19:49 +03:00
94772955cd refactor: aliases 2025-08-19 12:14:10 +03:00
8fb0abd24d refactor: waybar 2025-08-18 21:25:55 +03:00
0c6c31d89a feat: whatever 2025-08-17 10:58:39 +03:00
746d35fb54 feat: toggle wrap bind 2025-07-28 12:59:01 +03:00
83d0e90552 feat: master keybind to disable binds temporarily 2025-07-28 12:46:16 +03:00
7e8027f97d refactor: new gitingore allowed items 2025-07-28 11:53:22 +03:00
df4c9e0d88 feat: error log snippet for go; changed events for the relative-toggle plugin 2025-07-28 11:52:29 +03:00
7a09de8673 fix: new hyprland update caused segfaults on sleep so I had to disable some stuff 2025-07-28 11:51:36 +03:00
22bfc85628 feat: binds and layer rules for swaync & blur for waybar 2025-07-28 11:50:22 +03:00
39be82f4aa feat: added and riced swaync for notifications 2025-07-28 11:49:23 +03:00
a0670a2de4 feat: something 2025-07-24 23:56:53 +03:00
9764605d7b fix: freezing two windows with the same pid 2025-07-12 03:58:44 +03:00
40a6749622 refactor: removed debug prints from autofreezer 2025-07-12 02:57:23 +03:00
1f891f2b85 feat: autofreezer at startup 2025-07-12 02:55:56 +03:00
1d57796350 feat: automatic zawarudo window freeze/unfreeze on unfocus/focus 2025-07-12 02:40:07 +03:00
f00849e66a feat: cpu frequency control bind 2025-07-11 14:05:41 +03:00
498aab443a feat: automatic relative numbers 2025-07-10 02:57:49 +03:00
7fc2e5c543 refactor: frontmatter for markdown;
feat: plugin for rendering images in markdown;
feat: pastify;
feat: markdown preview in browser
2025-07-04 23:22:13 +03:00
81d7b870f1 feat: updated neovim snippets;
feat: added gpg sign shortcut to neovim;
feat: yuck plugin;
refactor: my theme;
feat: tty color theme (for tty colors compatibility);
refactor: minor hyprland changes
2025-07-04 21:17:03 +03:00
1db95f5ef7 feat: random images in rofi wooo 2025-07-04 13:34:59 +03:00
8204eeb47b feat: marking windows, then closing/moving them to current workspace 2025-07-04 13:08:01 +03:00
aaab0749e8 refactor: whatever 2025-07-04 04:00:29 +03:00
4d9874eab8 feat: own nvchad theme lol 2025-07-04 04:00:00 +03:00
259c94797b refactor: misc changes 2025-07-04 00:33:49 +03:00
55 changed files with 2135 additions and 1274 deletions

4
.gitignore vendored
View File

@@ -27,8 +27,10 @@
!picom/
!polybar/
!ranger/
!rmpc/
!rofi/
!rofi-wayland/
!swaync/
!sxhkd/
!Thunar/
!tmux/
@@ -54,8 +56,10 @@
!picom/**
!polybar/**
!ranger/**
!rmpc/**
!rofi/**
!rofi-wayland/**
!swaync/**
!sxhkd/**
!Thunar/**
!tmux/**

View File

@@ -1,6 +1,6 @@
[Configuration]
LastActiveMode=THUNAR_RENAMER_MODE_NAME
LastActiveRenamer=ThunarSbrNumberRenamer
LastActiveRenamer=ThunarSbrInsertRenamer
[ThunarSbrRemoveRenamer]
StartOffset=18
@@ -8,15 +8,15 @@ EndOffset=4
EndOffsetMode=THUNAR_SBR_OFFSET_MODE_RIGHT
StartOffsetMode=THUNAR_SBR_OFFSET_MODE_RIGHT
[ThunarSbrInsertRenamer]
Offset=0
Text=[phonk2]\
Mode=THUNAR_SBR_INSERT_MODE_INSERT
OffsetMode=THUNAR_SBR_OFFSET_MODE_LEFT
[ThunarSbrNumberRenamer]
TextMode=THUNAR_SBR_TEXT_MODE_NT
Text=
Mode=THUNAR_SBR_NUMBER_MODE_123
Start=1
[ThunarSbrInsertRenamer]
Offset=0
Text=female_
Mode=THUNAR_SBR_INSERT_MODE_INSERT
OffsetMode=THUNAR_SBR_OFFSET_MODE_LEFT

View File

@@ -5,7 +5,7 @@
<name>Open Terminal Here</name>
<submenu></submenu>
<unique-id>1724255257300256-1</unique-id>
<command>exo-open --working-directory %f --launch TerminalEmulator</command>
<command>kitty %f</command>
<description>Example for a custom action</description>
<range></range>
<patterns>*</patterns>
@@ -70,4 +70,15 @@
<patterns>*.png;*.webp;*.jpg;*.jpeg</patterns>
<image-files/>
</action>
<action>
<icon>emblem-symbolic-link</icon>
<name>Paste symbolic link</name>
<submenu></submenu>
<unique-id>1751568263954481-1</unique-id>
<command>~/Dev/Scripts/symlink_from_clip %f</command>
<description>Creates symlink(s) in current directory for file(s) in clipboard</description>
<range>*</range>
<patterns>*</patterns>
<directories/>
</action>
</actions>

20
bspwm/checkupdates.sh Executable file
View File

@@ -0,0 +1,20 @@
#!/bin/bash
upd() {
checkupdates | wc -l > /tmp/checkupdates
}
if [[ ! -f /tmp/checkupdates ]]; then
upd
fi
count=$(cat /tmp/checkupdates)
status="$count updates"
if [[ $count -eq 0 ]]; then
status="Up to date"
elif [[ $count == "1" ]]; then
status="$count update"
fi
echo "$status"
upd & disown

View File

@@ -18,7 +18,7 @@ force_tty = False
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
#* Use whitespace " " as separator between different presets.
#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty"
presets = "cpu:0:braille mem:0:tty"
presets = "cpu:1:braille mem:0:tty"
#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
@@ -44,7 +44,7 @@ graph_symbol_gpu = "default"
graph_symbol_mem = "default"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_net = "default"
graph_symbol_net = "braille"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_proc = "default"
@@ -57,7 +57,7 @@ update_ms = 1200
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
proc_sorting = "cpu lazy"
proc_sorting = "cpu direct"
#* Reverse sorting order, True or False.
proc_reversed = False
@@ -84,7 +84,7 @@ proc_cpu_graphs = True
proc_info_smaps = False
#* Show proc box on left side of screen instead of right.
proc_left = False
proc_left = True
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
proc_filter_kernel = False
@@ -147,7 +147,7 @@ clock_format = "%X"
background_update = True
#* Custom cpu model name, empty string to disable.
custom_cpu_name = "T-800 Processor"
custom_cpu_name = "T-800 CPU"
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user".

View File

@@ -227,21 +227,10 @@ framerate = 45
# Gradient mode, only hex defined colors are supported,
# background must also be defined in hex or remain commented out. 1 = on, 0 = off.
# You can define as many as 8 different colors. They range from bottom to top of screen
gradient = 0
;; gradient_count = 3
;; gradient_color_1 = '#9E2238'
;; gradient_color_2 = '#BB6F80'
;; gradient_color_3 = '#EB9FB0'
;gradient_color_4 = '#68d4f1'
;gradient_color_3 = '#50a3b5'
;gradient_color_2 = '#027c9b'
;gradient_color_1 = '#1e4950'
; gradient_color_5 = '#ff5148'
; gradient_color_6 = '#ff5d56'
; gradient_color_7 = '#ff6863'
; gradient_color_8 = '#ff736f'
gradient = 1
gradient_count = 2
gradient_color_1 = '#9E2238'
gradient_color_2 = '#9E2238'
[smoothing]

View File

@@ -21,10 +21,6 @@
"type": "os",
"keyIcon": ""
},
{
"type": "kernel",
"keyIcon": ""
},
{
"type": "host",
"keyIcon": ""
@@ -34,6 +30,12 @@
"type": "memory",
"keyIcon": "󱤓"
},
{
"type": "command",
"text": "~/.config/bspwm/checkupdates.sh",
"keyIcon": "󰮯",
"key": "󰮯"
},
{
"type": "colors",
"key": "",

47
fastfetch/satanic.jsonc Normal file
View File

@@ -0,0 +1,47 @@
{
// "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"logo": {
"height": 8,
"type": "kitty",
"source": "~/Pictures/Fetch/Japan/ghost_pixel.png"
// "source": "$(ls ~/Pictures/Fetch/Japan/* | shuf -n 1)"
},
"display": {
"separator": " ",
"color": {
"keys": "red"
},
"key": {
"type": "icon"
}
},
"modules": [
"title",
"separator",
{
"type": "os",
"keyIcon": ""
},
{
"type": "host",
"keyIcon": ""
},
"wm",
{
"type": "memory",
"keyIcon": "󱤓"
},
{
"type": "uptime",
"keyIcon": "󰥔"
},
{
"type": "colors",
"key": "",
"keyIcon": "",
"block": {
},
"symbol": "circle"
}
]
}

View File

@@ -1,11 +1,11 @@
general {
lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances.
lock_cmd = hyprlock > /tmp/pidor.txt # 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 = 180 # 2.5min.
timeout = 140 # 2.5min.
#on-timeout = brightnessctl -s set 10 # set monitor backlight to minimum, avoid 0 on OLED monitor.
on-timeout = touch /tmp/asleepin && /home/greg/.config/hypr/scripts/dimscreen.sh
on-resume = rm /tmp/asleepin && brightnessctl -r
@@ -13,22 +13,22 @@ listener {
}
# turn off keyboard backlight, comment out this section if you dont have a keyboard backlight.
listener {
timeout = 190 # 2.5min.
on-timeout = brightnessctl -sd rgb:kbd_backlight set 0 # turn off keyboard backlight.
on-resume = brightnessctl -rd rgb:kbd_backlight # turn on keyboard backlight.
}
# listener {
# timeout = 150 # 2.5min.
# on-timeout = brightnessctl -sd rgb:kbd_backlight set 0 # turn off keyboard backlight.
# on-resume = brightnessctl -rd rgb:kbd_backlight # turn on keyboard backlight.
# }
listener {
timeout = 190 # 1min
timeout = 150 # 1min
on-timeout = loginctl lock-session # lock screen when timeout has passed
}
listener {
timeout = 190 # 5.5min
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.
}
# listener {
# timeout = 150 # 5.5min
# 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.
# }
listener {
timeout = 900 # 30min

View File

@@ -4,7 +4,7 @@
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=eDP-1, 1920x1080, 0x0, 1
monitor=HDMI-A-1, 1920x1080, 0x-1080, 1
monitor=HDMI-A-1, 1920x1080, -1920x-100, 1
###################
### MY PROGRAMS ###
@@ -17,8 +17,8 @@ $terminal = kitty
$fastTerminal = kitty --single-instance
$fileManager = thunar
$menu = $HOME/.config/rofi-wayland/launchers/type-6/launcher.sh
$browser = zen-browser
$privateBrowser = zen-browser --private-window
$browser = env GTK_THEME=Adwaita:light zen-browser
$privateBrowser = env GTK_THEME=Adwaita:light zen-browser --private-window
#################
### AUTOSTART ###
@@ -28,17 +28,21 @@ $privateBrowser = zen-browser --private-window
# Or execute your favorite apps at launch like this:
# Le essential hyprland crap
exec-once = hyprpaper & waybar & hypridle & hyprsunset &
exec-once = sleep 1 && ~/.config/hypr/scripts/random_wallpaper.sh
# exec-once = systemctl --user startexec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP hyprpaper.service
exec-once = hyprpaper
exec-once = waybar & hypridle & hyprsunset &
exec-once = mullvad-vpn &
exec-once = galaxybudsclient /StartMinimized &
exec-once = swaync
exec-once = ~/.config/hypr/scripts/random_wallpaper.sh
exec-once = ~/.config/hypr/scripts/autofreezer.sh
exec-once = ~/.config/bspwm/checkupdates.sh
exec-once = libinput-gestures
exec-once = copyq --start-server
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
exec-once = thunar --daemon &
exec-once = touch /tmp/toggle_ssocks
exec-once = ~/.config/bspwm/proxy.sh &
exec-once = ~/.config/bspwm/checkupdates.sh
exec-once = nextcloud --background &
exec-once = [workspace 8 silent] Telegram
# exec-once = [workspace 7 silent] superproductivity
@@ -56,7 +60,6 @@ exec-once = [workspace 8 silent] Telegram
env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24
###################
### PERMISSIONS ###
###################
@@ -126,8 +129,8 @@ decoration {
# https://wiki.hyprland.org/Configuring/Variables/#blur
blur {
enabled = true
size = 5
passes = 1
size = 3
passes = 2
vibrancy = 0.1696
}
@@ -170,8 +173,8 @@ animations {
animation = global, 1, 10, default
animation = border, 1, 5.39, easeOutQuint
animation = windows, 1, 4.79, easeOutQuint
animation = windowsIn, 1, 4.1, easeOutQuint, popin 87%
animation = windowsOut, 1, 1.49, linear, popin 87%
animation = windowsIn, 1, 5, easeOutQuint, slide
animation = windowsOut, 1, 5, linear, popin 0%
animation = fadeIn, 1, 1.73, almostLinear
animation = fadeOut, 1, 1.46, almostLinear
animation = fade, 1, 3.03, quick
@@ -181,8 +184,10 @@ animations {
animation = fadeLayersIn, 1, 1.79, almostLinear
animation = fadeLayersOut, 1, 1.39, almostLinear
animation = workspaces, 1, 1.94, almostLinear, fade
animation = workspacesIn, 1, 1.21, almostLinear, fade
animation = workspacesOut, 1, 1.94, almostLinear, fade
animation = workspacesIn, 1, 4, easeOutQuint, slide
animation = workspacesOut, 1, 4, easeOutQuint, slide
animation = specialWorkspaceIn, 1, 5, easeOutQuint, slide bottom
animation = specialWorkspaceOut, 1, 8, easeOutQuint, slide top
animation = layers, 1, 7, default, slide
}
@@ -237,7 +242,6 @@ misc {
enable_swallow = true
middle_click_paste = false
enable_anr_dialog = false
}
@@ -266,7 +270,7 @@ input {
# https://wiki.hyprland.org/Configuring/Variables/#gestures
gestures {
workspace_swipe = true
gesture = 3, horizontal, scale: 2, workspace
}
# Example per-device config
@@ -295,6 +299,7 @@ bind = $mainMod, Q, exec, $browser
bind = $mainMod SHIFT, Q, exec, $privateBrowser
bind = $mainMod, Backslash, exec, $fastTerminal
bind = $mainMod, Space, exec, $menu
bind = $mainMod, N, exec, swaync-client -t -sw
# Open floating terminal
bind = $mainMod SHIFT, Return, exec, [float; size 800 600; move center] $fastTerminal --class kitty-float
@@ -318,7 +323,7 @@ binde = $mainMod SHIFT, W, forcekillactive,
bind = $mainMod, S, togglefloating,
bind = $mainMod, T, settiled,
bind = $mainMod, F, fullscreen,
bind = $mainMod CTRL, P, pin,
bind = $mainMod CTRL, P, pin
# Bring to top
bind = $mainMod, Z, bringactivetotop
@@ -330,8 +335,6 @@ bind = $mainMod SHIFT, S, centerwindow,
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, D, togglesplit, # dwindle
# bind = $mainMod SHIFT, Print, exec, IMG=~/Pictures/Screenshots/$(date +%Y-%m-%d_%H-%m-%s).png grim -g "$(slurp -d)" - | swappy -f -
# bind = $mainMod, Print, exec, IMG=~/Pictures/Screenshots/$(date +%Y-%m-%d_%H-%m-%s).png && grim -g "$(slurp)" $IMG && wl-copy < $IMG
bind = $mainMod SHIFT, Print, exec, grimblast --freeze copysave area ~/Pictures/Screenshots/$(date +%Y-%m-%d_%H-%m-%s).jpg && play ~/Templates/Sounds/photo.mp3
bind = $mainMod, Print, exec, play ~/Templates/Sounds/photo.mp3 & grimblast --freeze copysave output ~/Pictures/Screenshots/$(date +%Y-%m-%d_%H-%m-%s).jpg
@@ -464,14 +467,35 @@ bindl = , XF86AudioPause, exec, playerctl play-pause
bindl = , XF86AudioPlay, exec, playerctl play-pause
bindl = , XF86AudioPrev, exec, playerctl previous
# Toggle waybar
bind = $mainMod SHIFT, B, exec, ~/.config/hypr/scripts/toggle_waybar.sh
# Toggle grayscale mode
bind = $mainMod CTRL, G, exec, ~/.config/hypr/scripts/grayscale-toggle.sh
# Game mode
bind = $mainMod SHIFT, G, exec, ~/.config/hypr/scripts/gamemode.sh
# Enable reserved space
bind = $mainMod, B, exec, ~/.config/hypr/scripts/reserved_space.sh
# Cycle cpu frequency mode
bind = $mainMod CTRL, C, exec, ~/.config/hypr/scripts/cpufreq.sh
# Pin window
bind = $mainMod CTRL, Y, pin, active
# Mark window
bind = $mainMod CTRL, M, tagwindow, marked
# Close marked windows
bind = $mainMod CTRL, W, exec, ~/.config/hypr/scripts/close_marked.sh
# Move marked to current workspace
bind = $mainMod, Y, exec, ~/.config/hypr/scripts/move_marked.sh
# Freeze window
bind = $mainMod SHIFT, F, exec, hyprfreeze -a -s
bind = $mainMod SHIFT, T, exec, hyprfreeze -a -s
bind = $mainMod SHIFT, F, tagwindow, zawarudo
# Lock screen
@@ -487,8 +511,14 @@ binde = $mainMod CTRL, F9, tagwindow, voicechatuz
bindr = , F9, sendshortcut, , F9, class:TelegramDesktop
windowrule = bordercolor rgba(ffff00ff) rgba(ffff0055),tag:voicechatuz
# bindr = , F8, sendshortcut, , Space, title:^(ready\ or\ тундра\.\.\.)$
# bindr = , F8, sendshortcut, , Space, title:^(КОМАНДА\ Эспада)$
# Zen - focus searchbar
bindrn = CTRL, Space, sendshortcut, , F6, class:^(zen)$
# Disable binds temporarily
bind = $mainMod, Escape, submap, clean
submap = clean
bind = $mainMod, Escape, submap, reset
submap = reset
##############################
### WINDOWS AND WORKSPACES ###
@@ -527,7 +557,10 @@ windowrule = size 600 400,class:^(com.saivert.pwvucontrol)$
windowrule = move center,class:^(com.saivert.pwvucontrol)$
# Frozen windows
windowrule = bordercolor rgba(ffff00ff) rgba(ffff0055),tag:zawarudo
windowrule = bordercolor rgba(E96375ff) rgba(00ffff55) 90deg,tag:zawarudo
# Marked windows
windowrule = bordercolor rgba(0000ffff) rgba(aa00ffa5),tag:marked
# Ignore maximize requests from apps. You'll probably like this.
windowrule = suppressevent maximize, class:.*
@@ -535,7 +568,99 @@ windowrule = suppressevent maximize, class:.*
# Fix some dragging issues with XWayland
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
# Animation for rofi
layerrule = ignorezero, rofi
layerrule = blur, rofi
layerrule = animation slideIn left, rofi
layerrule = animation slide left, rofi
# Animation fpr swaync
layerrule = blur, swaync-control-center
layerrule = ignorezero, swaync-control-center
layerrule = animation slideIn right, swaync-control-center
# Waybar blur
layerrule = ignorezero, waybar
layerrule = blur, waybar
# Adjustments for certain workspaces
workspace = special:magic, gapsin:20, gapsout:50, shadow:false
workspace = 9, gapsin:15, gapsout:40
###############
### PLUGINS ###
###############
exec-once = hyprpm reload -n
# Easymotion
bind = SUPER, x, easymotion, action:hyprctl dispatch focuswindow address:{}
# Close unfocused
bind = $mainMod SHIFT, x, plugin:xtd:closeunfocused
plugin {
hyprfocus {
animation = hyprfocusIn, 1, 3, quick
animation = hyprfocusOut, 1, 3, quick
fade_opacity = 0.95
mode = flash
}
easymotion {
#font size of the text
textsize=72
#color of the text, takes standard hyprland color format
textcolor=rgba(ffffffff)
#background color of the label box. alpha is respected
bgcolor=rgba(ff7777a0)
#enable blur. The bgcolor alpha must be at least semi-transparent.
blur=0
#Set blur alpha value. Blur must be enabled (float value)
blurA=1.0
#Set xray. Blur must be enabled
xray=0
#font to use for the label. This is passed directly to the pango font description
textfont=Iosevka Nerd Font Mono
#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
#example: textpadding=2 5 5 2 (spaces not commas)
textpadding=5
#size of the border around the label box. A border size of zero disables border rendering.
bordersize=2
#color of the border. takes the same format as hyprland's border (so it can be a gradient)
bordercolor=rgba(ffffffff)
#rounded corners? Same as hyprland's 'decoration:rounding' config
rounding=1
#what to do if a window is fullscreen
#none: nothing. (easymotion label won't be displayed on that window)
#toggle: take the window out of fullscreen entirely.
#maximize: convert the window to maximized.
#windows are restored to fullscreen after easymotion is exited/selected
fullscreen_action=none
#which keys to use for selecting windows
motionkeys=abcdefghijklmnopqrstuvwxyZ1234567890
#which keys to use for labeling windows
motionlabels=ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890
#if a monitor has a focused special workspace, only put easymotion labels on the windows in the special workspace
only_special = true
}
}
debug {
disable_logs = false
}
# source = ~/.config/hypr/monitors.conf

View File

@@ -1,4 +1,4 @@
wallpaper = eDP-1,/home/greg/Pictures/Wallpapers/japanese-seashore-house-fullmoon-pink.jpeg
wallpaper = HDMI-A-1,/home/greg/Pictures/Wallpapers/japanese-seashore-house-fullmoon-pink.jpeg
wallpaper = eDP-1,/home/greg/Pictures/Wallpapers/ryabina.jpg
wallpaper = HDMI-A-1,/home/greg/Pictures/Wallpapers/ryabina.jpg
ipc = on

4
hypr/monitors.conf Normal file
View File

@@ -0,0 +1,4 @@
# Generated by nwg-displays on 2025-09-20 at 10:12:32. Do not edit manually.
monitor=eDP-1,1920x1080@60.01,2560x0,1.0
monitor=HDMI-A-1,3840x2160@30.0,0x0,1.5

68
hypr/scripts/autofreezer.sh Executable file
View File

@@ -0,0 +1,68 @@
#!/usr/bin/env bash
# Variable to store the last focused window address
last_focused_window=""
current_window=""
function handle {
if [[ ${1:0:14} == "activewindowv2" ]]; then
new_window="${1:16}"
# Update window tracking
last_focused_window="${current_window}"
current_window="${new_window}"
# Get all window information once
window_info=$(hyprctl clients)
# Process current focused window
current_pid=""
if [[ -n "$current_window" ]]; then
# Extract tags
current_tags=$(echo "$window_info" | awk -v addr="$current_window" '
$0 ~ "Window " addr {found=1}
found && /tags:/ {print $0; found=0; exit}
' | sed 's/.*tags: //;s/)//')
# Extract PID
current_pid=$(echo "$window_info" | awk -v addr="$current_window" '
$0 ~ "Window " addr {found=1}
found && /pid:/ {print $2; found=0; exit}
')
# Process if window has zawarudo tag
if [[ -n "$current_tags" && -n "$current_pid" ]]; then
if [[ "$current_tags" == *"zawarudo"* ]]; then
echo unfreeze $current_pid
kill -CONT $current_pid 2>/dev/null
fi
fi
fi
# Process last focused window (unfocused)
if [[ -n "$last_focused_window" ]]; then
# Extract tags
tags=$(echo "$window_info" | awk -v addr="$last_focused_window" '
$0 ~ "Window " addr {found=1}
found && /tags:/ {print $0; found=0; exit}
' | sed 's/.*tags: //;s/)//')
# Extract PID
pid=$(echo "$window_info" | awk -v addr="$last_focused_window" '
$0 ~ "Window " addr {found=1}
found && /pid:/ {print $2; found=0; exit}
')
# Process if window has zawarudo tag
if [[ -n "$tags" && -n "$pid" && "$pid" != "$current_pid" ]]; then
if [[ "$tags" == *"zawarudo"* ]]; then
echo freeze $current_pid
kill -STOP $pid 2>/dev/null
fi
fi
fi
fi
}
# Listen for events
socat - "UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock" | while read -r line; do handle "$line"; done

10
hypr/scripts/buds/locate.sh Executable file
View File

@@ -0,0 +1,10 @@
#!/bin/bash
SINK="alsa_output.pci-0000_00_1f.3.analog-stereo"
SOUND="/home/greg/Templates/Sounds/telegram.mp3"
current_volume=$(pactl get-sink-volume $SINK | awk '{print $5}' | sed 's/%//')
pactl set-sink-volume $SINK 100%
pw-cat --target $SINK -p $SOUND --volume 1
pactl set-sink-volume $SINK ${current_volume}%

3
hypr/scripts/buds/lock.sh Executable file
View File

@@ -0,0 +1,3 @@
#!/bin/bash
hyprlock

15
hypr/scripts/close_marked.sh Executable file
View File

@@ -0,0 +1,15 @@
#!/bin/bash
count_closed = 0
while true; do
result=$(hyprctl dispatch closewindow tag:marked)
if [ "$result" != "closeWindow: no window found" ]; then
echo "closed window because '$result'"
((count_closed++))
else
echo "exiting due to '$result'"
break
fi
done

58
hypr/scripts/cpufreq.sh Executable file
View File

@@ -0,0 +1,58 @@
#!/bin/sh
CURRENT=$(sudo cpupower frequency-info | grep 'current policy: frequency should be within 400 MHz and' | awk '{printf "%.2f%s", $10, substr($11, 1, length($11)-1)}')
set_cmd() {
sudo cpupower frequency-set --max $1MHz
notify-send -t 800 "$1MHz CPU Power"
}
if [ -z "$1" ]; then
if [ $CURRENT = "400.00MHz" ]; then
set_cmd 600
exit 0
fi
if [ $CURRENT = "600.00MHz" ]; then
set_cmd 1000
exit 0
fi
if [ $CURRENT = "1000.00MHz" ]; then
set_cmd 2000
exit 0
fi
if [ $CURRENT = "2.00GHz" ]; then
set_cmd 4200
exit 0
fi
if [ $CURRENT = "4.20GHz" ]; then
set_cmd 400
exit 0
fi
else
if [ "$1" = "g" ]; then
case $CURRENT in
"400.00MHz") echo 1 ;;
"600.00MHz") echo 2 ;;
"1000.00MHz") echo 3 ;;
"2.00GHz") echo 4 ;;
"4.20GHz") echo 5 ;;
*) echo "Unknown frequency" ;;
esac
exit 0
fi
case $1 in
1) set_cmd 400 ;;
2) set_cmd 600 ;;
3) set_cmd 1000 ;;
4) set_cmd 2000 ;;
5) set_cmd 4200 ;;
esac
exit 0
fi
notify-send CPU-Power Error: value is $CURRENT
exit 1

View File

@@ -5,10 +5,9 @@ if [ "$HYPRGAMEMODE" = 1 ] ; then
keyword animations:enabled 0;\
keyword decoration:shadow:enabled 0;\
keyword decoration:blur:enabled 0;\
keyword general:gaps_in 0;\
keyword general:gaps_out 0;\
keyword general:border_size 1;\
keyword decoration:rounding 0"
keyword decoration:rounding 0;\
keyword plugin:hyprfocus:fade_opacity 1"
exit
fi
hyprctl reload

17
hypr/scripts/move_marked.sh Executable file
View File

@@ -0,0 +1,17 @@
#!/bin/bash
count_moved = 0
while true; do
result=$(hyprctl dispatch movetoworkspace e+0,tag:marked)
if [ "$result" != "Window not found" ]; then
echo "moved window because '$result'"
result=$(hyprctl dispatch tagwindow -- -marked tag:marked)
echo "tried umarking and was told $result"
((count_closed++))
else
echo "exiting due to '$result'"
break
fi
done

View File

@@ -1,15 +1,22 @@
arg=$1
if [ -z $arg ]; then
arg="ncmpcpp"
fi
if [ $arg != "ncmpcpp" ] && [ $arg != "rmpc" ]; then
echo "Unsupported music player '$arg'"
exit 1
fi
kitty --single-instance btop &
sleep 0.1
kitty --single-instance cava &
sleep 0.1
#bspwm_resize contract north 250
hyprctl dispatch resizeactive 0 250
sleep 0.1
#bspwm_resize expand west 100
hyprctl dispatch resizeactive -100 0
hyprctl dispatch resizeactive -90 0
hyprctl dispatch movefocus l
ncmpcpp
exec $arg

View File

@@ -1,8 +1,31 @@
#!/usr/bin/env bash
WALLPAPER_DIR="$HOME/Pictures/Wallpapers/current/"
INTRO_DIR="$HOME/Pictures/Wallpapers/intro/"
DELAY=5m
intro() {
if [ -z "$(ls -A "$WALLPAPER_DIR")" ]; then
echo "Current wallpaper folder is empty, nothing to do"
sleep 1
exit 0
fi
WALLPAPER=$(find "$INTRO_DIR" -type l | shuf -n 1)
while true; do
if hyprctl hyprpaper reload ,"$WALLPAPER"; then
sleep 1.5
break
fi
sleep 0.1
done
}
random_wallpaper() {
# Check if folder is not empty
if [ -z "$(ls -A "$WALLPAPER_DIR")" ]; then
@@ -16,15 +39,33 @@ random_wallpaper() {
WALLPAPER=$(find "$WALLPAPER_DIR" -type l ! -name "$(basename "$CURRENT_WALL")" | shuf -n 1)
# Apply the selected wallpaper
hyprctl hyprpaper unload all
hyprctl hyprpaper reload $1,"$WALLPAPER"
if [ $? -ne 0 ]; then
echo "The previous command failed."
# Handle the error here
hyprpaper &
sleep 1
hyprctl hyprpaper reload ,"$WALLPAPER"
fi
echo "Set random wallpaper to $WALLPAPER"
sleep 5
}
loop() {
while true; do
random_wallpaper
hyprctl hyprpaper listactive
if [ $? == 0 ]; then
break
fi
sleep 1
done
while true; do
hyprctl hyprpaper unload all
# TODO: get monitors dynamically
random_wallpaper "eDP-1"
random_wallpaper "HDMI-A-1"
sleep "$DELAY"
done
}

14
hypr/scripts/reserved_space.sh Executable file
View File

@@ -0,0 +1,14 @@
#!/usr/bin/env sh
FILE="/tmp/reserved_space_enabled"
if [ ! -e "$FILE" ]; then
touch "$FILE"
hyprctl --batch "\
keyword monitor eDP-1,addreserved,0,0,0,625;"
exit
fi
rm "$FILE"
hyprctl --batch "\
keyword monitor eDP-1,addreserved,0,0,0,0;"

9
hypr/scripts/toggle_waybar.sh Executable file
View File

@@ -0,0 +1,9 @@
#!/bin/sh
PROGRAM="waybar"
if pgrep -x "$PROGRAM" > /dev/null; then
pkill -x $PROGRAM
else
$PROGRAM &
fi

0
hypr/workspaces.conf Normal file
View File

View File

@@ -1,7 +1,4 @@
# Color theme Base2Tone Suburb
# Auto-generated by Gogh (https//Gogh-Co.github.io/Gogh/)
# Kolyan color theme made by Nikolai (WeirdCat)
color0 #444551
color1 #9E2238

View File

@@ -5,7 +5,7 @@
local M = {}
M.base46 = {
theme = "nord",
theme = "kolyan",
--
-- -- hl_override = {
-- -- Comment = { italic = true },

View File

@@ -13,6 +13,11 @@ map("i", "jk", "<ESC>")
local base46 = require "base46"
vim.keymap.set("n", "<leader>tt", base46.toggle_transparency)
-- Toggle wrap
vim.keymap.set("n", "<leader>ww", function ()
vim.wo.wrap = not vim.wo.wrap
end)
-- Debbuger binds
-- local dap = require "dap"
-- vim.keymap.set("n", "<space>pb", dap.toggle_breakpoint, { desc = "Dap Toggle breakpoint" })
@@ -42,6 +47,22 @@ vim.keymap.set("n", "<space>gb", dap.run_to_cursor, { desc = "Dap Run to cursor"
local function toggle_terminal()
require("nvchad.term").toggle { pos = "sp", id = "htoggleTerm" }
end
local function toggle_git_add()
local filepath = vim.fn.expand("%:p") -- Get the full path of the current file
local handle = io.popen("git ls-files --cached --error-unmatch " .. filepath .. " 2>/dev/null") -- Check if the file is staged
local result = handle:read("*a")
handle:close()
if result ~= "" then
os.execute("git reset " .. filepath) -- Unstage the file if it's already staged
print("Unstaged: " .. filepath)
else
os.execute("git add " .. filepath) -- Stage the file if it's not staged
print("Staged: " .. filepath)
end
end
map({ "n", "t" }, "<A-b>", toggle_terminal, { desc = "terminal toggleable horizontal term" })
map({ "n", "t" }, "<C-`>", toggle_terminal, { desc = "terminal toggleable horizontal term" })
@@ -81,6 +102,9 @@ vim.keymap.set("n", "<leader>ft", '<cmd>TodoTelescope<cr>', { desc = "Telescope
-- nvimtree refresh
vim.keymap.set("n", "<leader>tr", '<cmd>NvimTreeRefresh<cr>', { desc = "Nvimtree Refresh" })
-- toggle git add current file
vim.keymap.set("n", "<leader>ga", toggle_git_add, { desc = "Toggle git add for current file" })
-- nvimtree open file without focusing
vim.keymap.set("n", "T",
function(node)
@@ -96,6 +120,20 @@ vim.keymap.set("n", "<leader>tn", '<cmd>tabNext<cr>', { desc = "Tab Next" })
vim.keymap.set("n", "<leader>tm", '<cmd>tabnew<cr>', { desc = "Tab More!" })
vim.keymap.set("n", "<leader>tc", '<cmd>tabclose<cr>', { desc = "Tab Close" })
-- sign file with GPG
vim.keymap.set("n", "<leader>gpg", function()
local opened_file_path = vim.fn.expand('%:p')
os.execute("gpg --detach-sign " .. opened_file_path) -- Execute the GPG sign command
end, { desc = "Sign currently open file with GPG" })
vim.api.nvim_create_autocmd({ "CursorMoved", "WinEnter", "BufEnter" }, {
callback = function()
vim.defer_fn(function()
vim.cmd("redraw!")
end, 50)
end,
})
function Leave_snippet()
if
((vim.v.event.old_mode == 's' and vim.v.event.new_mode == 'n') or vim.v.event.old_mode == 'i')

View File

@@ -5,6 +5,15 @@ require "nvchad.options"
-- local o = vim.o
-- o.cursorlineopt ='both' -- to enable cursorline!
local enable_providers = {
"python3_provider",
}
for _, plugin in pairs(enable_providers) do
vim.g["loaded_" .. plugin] = nil
vim.cmd("runtime " .. plugin)
end
-- disable wrap
vim.o.wrap = false

4
nvim/lua/plugins/eww.lua Normal file
View File

@@ -0,0 +1,4 @@
return {
"elkowar/yuck.vim",
event = 'BufEnter',
}

View File

@@ -0,0 +1,48 @@
return {
"3rd/image.nvim",
event = 'BufEnter',
build = false, -- so that it doesn't build the rock https://github.com/3rd/image.nvim/issues/91#issuecomment-2453430239
config = function()
require("image").setup({
backend = "kitty",
processor = "magick_cli", -- or "magick_rock"
integrations = {
markdown = {
enabled = true,
clear_in_insert_mode = true,
download_remote_images = true,
only_render_image_at_cursor = false,
only_render_image_at_cursor_mode = "popup",
floating_windows = false, -- if true, images will be rendered in floating markdown windows
filetypes = { "markdown", "vimwiki" }, -- markdown extensions (ie. quarto) can go here
},
neorg = {
enabled = true,
filetypes = { "norg" },
},
typst = {
enabled = true,
filetypes = { "typst" },
},
html = {
enabled = false,
},
css = {
enabled = false,
},
},
max_width = 800,
max_height = 400,
max_width_window_percentage = nil,
max_height_window_percentage = nil,
window_overlap_clear_enabled = false, -- toggles images when windows are overlapped
window_overlap_clear_ft_ignore = { "cmp_menu", "cmp_docs", "snacks_notif", "scrollview", "scrollview_sign" },
editor_only_render_when_focused = false, -- auto show/hide images when the editor gains/looses focus
tmux_show_only_in_active_window = false, -- auto show/hide images in the correct Tmux window (needs visual-activity off)
hijack_file_patterns = { "*.png", "*.jpg", "*.jpeg", "*.gif", "*.webp", "*.avif" }, -- render image files as images when opened
})
end,
opts = {
processor = "magick_cli",
}
}

View File

@@ -0,0 +1,11 @@
return {
{
"iamcco/markdown-preview.nvim",
cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
build = "cd app && npm install",
init = function()
vim.g.mkdp_filetypes = { "markdown" }
end,
ft = { "markdown" },
},
}

View File

@@ -0,0 +1,41 @@
return {
'TobinPalmer/pastify.nvim',
cmd = { 'Pastify', 'PastifyAfter' },
config = function()
require('pastify').setup {
opts = {
absolute_path = false, -- use absolute or relative path to the working directory
apikey = '', -- Api key, required for online saving
local_path = '/assets/imgs/', -- The path to put local files in, ex <cwd>/assets/images/<filename>.png
save = 'local', -- Either 'local' or 'online' or 'local_file'
filename = function() return vim.fn.expand("%:t:r") .. '_' .. os.date("%H-%M-%S_%d.%m.Y") end, -- The file name to save the image as, if empty pastify will ask for a name
-- Example function for the file name that I like to use:
-- filename = function() return vim.fn.expand("%:t:r") .. '_' .. os.date("%Y-%m-%d_%H-%M-%S") end,
-- Example result: 'file_2021-08-01_12-00-00'
default_ft = 'markdown', -- Default filetype to use
},
ft = { -- Custom snippets for different filetypes, will replace $IMG$ with the image url
html = '<img src="$IMG$" alt="">',
markdown = '![]($IMG$)',
tex = [[\includegraphics[width=\linewidth]{$IMG$}]],
css = 'background-image: url("$IMG$");',
js = 'const img = new Image(); img.src = "$IMG$";',
xml = '<image src="$IMG$" />',
php = '<?php echo "<img src=\"$IMG$\" alt=\"\">"; ?>',
python = '# $IMG$',
java = '// $IMG$',
c = '// $IMG$',
cpp = '// $IMG$',
swift = '// $IMG$',
kotlin = '// $IMG$',
go = '// $IMG$',
typescript = '// $IMG$',
ruby = '# $IMG$',
vhdl = '-- $IMG$',
verilog = '// $IMG$',
systemverilog = '// $IMG$',
lua = '-- $IMG$',
},
}
end
}

View File

@@ -0,0 +1,13 @@
return {
"cpea2506/relative-toggle.nvim",
event = "BufEnter",
config = function ()
require("relative-toggle").setup({
pattern = "*",
events = {
on = { "InsertLeave" },
off = { "InsertEnter" },
},
})
end
}

14
nvim/lua/snippets/go.lua Normal file
View File

@@ -0,0 +1,14 @@
local ls = require("luasnip")
local s = ls.snippet
local t = ls.text_node
local i = ls.insert_node
return {
-- zap log contents the way i like it
s("zaplog", {
t({ "", "" }),
t({ "\t\"" }), i(1), t({ "\"," }), i(3),
t({ "\t", "\tzap.Error(" }), i(2), t({ ")" })
}),
}

View File

@@ -5,7 +5,6 @@ local i = ls.insert_node
local f = ls.function_node
local extras = require("luasnip.extras")
local rep = extras.rep
local timestamp = function()
return tostring(os.time())
end
@@ -19,16 +18,27 @@ local get_name = function()
end
return {
-- Creates a frontmatter with markdown note metadata
s("frontmatter", {
t("---"),
t({ "", "title: \"" }), i(1), t("\""),
t({ "", "date: " }), f(get_date, {}),
t({ "", "Markdown note", "" }),
t({ "", "title: \"" }), i(8), t("\""),
t({ "", "date: \"" }), f(get_date, {}), t("\""),
t({ "", "author: \"" }), f(get_name, {}), t("\""),
t({ "", "keywords: ["}), i(6), t("]"),
t({ "", "tags: [["}), i(7), t("]]"),
t({ "", "id: " }), f(timestamp, {}),
t({ "", "" }),
t({ "", "sleep: " }), i(1), t("/5"),
t({ "", "emotions: [" }), i(2), t("]"),
t({ "", "comfort: " }), i(3), t("/5"),
t({ "", "complaints: ["}), i(4), t("]"),
t({ "", "mood: " }), i(5), t("/10"),
t({ "", "---", "", "# " }),
rep(1), -- Reuses the first insert node
rep(8), -- Reuses the first insert node
t({ "", ""}),
t({ "", ""}),
i(3) -- Final cursor position
})
i(9) -- Final cursor position
}),
}

View File

@@ -0,0 +1,73 @@
local M = {}
M.base_30 = {
white = "#D6D8DA", -- color7
darker_black = "#181818",
black = "#1c1c1d", -- background
black2 = "#1c1c1c",
one_bg = "#444551", -- color0
one_bg2 = "#292c30",
one_bg3 = "#33363a",
grey = "#5e6165",
grey_fg = "#65686c",
grey_fg2 = "#4a4d51",
light_grey = "#626569",
red = "#bE2238", -- color1
baby_pink = "#D58399", -- color5
pink = "#DA97B0", -- color3
line = "#30303a", -- for lines like vertsplit
green = "#FB6F80", -- color2
vibrant_green = "#eB9FB0", -- color10
blue = "#b12741", --b127414
nord_blue = "#F3A1B7",
yellow = "#FFcc55", -- color11
sun = "#F4F6F8", -- color14
purple = "#D14781", -- cursor
dark_purple = "#F3A1B7", -- color13
teal = "#63b3ad",
orange = "#f0a988",
cyan = "#D6D8DA", -- color6
statusline_bg = "#1c1c1c",
lightbg = "#24282d",
pmenu_bg = "#3bdda2",
folder_bg = "#FB6F80",
}
M.base_16 = {
base00 = "#1c1c1d", -- background
base01 = "#1a1d21",
base02 = "#23262a",
base03 = "#5b5e62",
base04 = "#323539",
base05 = "#878b96", -- foreground
base06 = "#cbcbcc",
base07 = "#D6D8DA", -- color7
base08 = "#c74070", -- color1
base09 = "#f0a988", -- orange
base0A = "#F8A550", -- color11
base0B = "#DB6F80", -- color2
base0C = "#D6D8DA", -- color6
base0D = "#b12761", -- color4
base0E = "#D14781", -- cursor
base0F = "#e87979",
}
M.polish_hl = {
treesitter = {
["@punctuation.bracket"] = { fg = M.base_16.base07 },
["@parenthesis"] = { link = "@punctuation.bracket" },
["@tag.delimiter"] = { fg = M.base_30.cyan },
["@function"] = { fg = M.base_30.orange },
["@variable.parameter"] = { fg = M.base_16.base0F },
["@tag.attribute"] = { fg = M.base_30.orange },
["@variable"] = { fg = M.base_30.lavender },
-- ["@property"] = { fg = M.base_30.teal },
["@variable.builtin"] = { fg = M.base_30.red },
},
}
M.type = "dark"
M = require("base46").override_theme(M, "nord")
return M

68
nvim/lua/themes/tty.lua Normal file
View File

@@ -0,0 +1,68 @@
local M = {}
M.base_30 = {
white = "#FFFFFF", -- White
darker_black = "#000000", -- Black
black = "#000000", -- Black
black2 = "#000000", -- Black
one_bg = "#000000", -- Black
one_bg2 = "#808080", -- Dark Gray
one_bg3 = "#808080", -- Dark Gray
grey = "#808080", -- Dark Gray
grey_fg = "#808080", -- Dark Gray
grey_fg2 = "#808080", -- Dark Gray
light_grey = "#C0C0C0", -- Light Gray
red = "#CC0403", -- Red
baby_pink = "#FF8080", -- Light Red
pink = "#FF00FF", -- Magenta
line = "#000000", -- Black
green = "#19CB00", -- Green
vibrant_green = "#00FF00", -- Green
nord_blue = "#0D73CC", -- Blue
blue = "#0000FF", -- Blue
yellow = "#CECB00", -- Yellow
sun = "#FFFF00", -- Yellow
purple = "#FF00FF", -- Magenta
dark_purple = "#CB1ED1", -- Magenta
teal = "#00FFFF", -- Cyan
orange = "#FF0000", -- Red
cyan = "#00FFFF", -- Cyan
statusline_bg = "#000000", -- Black
lightbg = "#C0C0C0", -- Light Gray
pmenu_bg = "#00FF00", -- Green
folder_bg = "#0000FF", -- Blue
lavender = "#C0C0C0", -- Light Gray
}
M.base_16 = {
base00 = "#000000", -- Black
base01 = "#808080", -- Dark Gray
base02 = "#C0C0C0", -- Light Gray
base03 = "#808080", -- Dark Gray
base04 = "#808080", -- Dark Gray
base05 = "#FFFFFF", -- White
base06 = "#C0C0C0", -- Light Gray
base07 = "#FFFFFF", -- White
base08 = "#FF0000", -- Red
base09 = "#FF0000", -- Red
base0A = "#FFFF00", -- Yellow
base0B = "#00FF00", -- Green
base0C = "#00FFFF", -- Cyan
base0D = "#0000FF", -- Blue
base0E = "#FF00FF", -- Magenta
base0F = "#FF0000", -- Red
}
M.polish_hl = {
treesitter = {
["@variable"] = { fg = M.base_30.lavender },
["@property"] = { fg = M.base_30.teal },
["@variable.builtin"] = { fg = M.base_30.red },
},
}
M.type = "dark"
M = require("base46").override_theme(M, "catppuccin")
return M

138
rmpc/config.ron Normal file
View File

@@ -0,0 +1,138 @@
#![enable(implicit_some)]
#![enable(unwrap_newtypes)]
#![enable(unwrap_variant_newtypes)]
(
address: "127.0.0.1:6600",
password: "kapuchinamusica",
theme: "kolinux",
cache_dir: None,
on_song_change: None,
volume_step: 5,
max_fps: 30,
scrolloff: 0,
wrap_navigation: false,
enable_mouse: true,
status_update_interval_ms: 1000,
select_current_song_on_change: false,
album_art: (
method: Auto,
max_size_px: (width: 1200, height: 1200),
disabled_protocols: ["http://", "https://"],
vertical_align: Center,
horizontal_align: Center,
),
keybinds: (
global: {
":": CommandMode,
",": VolumeDown,
"s": Stop,
".": VolumeUp,
"<Tab>": NextTab,
"<S-Tab>": PreviousTab,
"1": SwitchToTab("Queue"),
"2": SwitchToTab("Dirs"),
"3": SwitchToTab("Artists"),
"4": SwitchToTab("Albums"),
"5": SwitchToTab("Playlists"),
"q": Quit,
">": NextTrack,
"p": TogglePause,
"<": PreviousTrack,
"f": SeekForward,
"z": ToggleRepeat,
"x": ToggleRandom,
"c": ToggleConsume,
"v": ToggleSingle,
"b": SeekBack,
"~": ShowHelp,
"I": ShowCurrentSongInfo,
"O": ShowOutputs,
"P": ShowDecoders,
},
navigation: {
"k": Up,
"j": Down,
"h": Left,
"l": Right,
"<Up>": Up,
"<Down>": Down,
"<Left>": Left,
"<Right>": Right,
"<C-k>": PaneUp,
"<C-j>": PaneDown,
"<C-h>": PaneLeft,
"<C-l>": PaneRight,
"<C-u>": UpHalf,
"N": PreviousResult,
"a": Add,
"A": AddAll,
"r": Rename,
"n": NextResult,
"g": Top,
"<Space>": Select,
"<C-Space>": InvertSelection,
"G": Bottom,
"<CR>": Confirm,
"i": FocusInput,
"J": MoveDown,
"<C-d>": DownHalf,
"/": EnterSearch,
"<C-c>": Close,
"<Esc>": Close,
"K": MoveUp,
"D": Delete,
},
queue: {
"D": DeleteAll,
"<CR>": Play,
"<C-s>": Save,
"a": AddToPlaylist,
"d": Delete,
"i": ShowInfo,
"o": JumpToCurrent,
},
),
search: (
case_sensitive: false,
mode: Contains,
tags: [
(value: "any", label: "Any Tag"),
(value: "artist", label: "Artist"),
(value: "album", label: "Album"),
(value: "albumartist", label: "Album Artist"),
(value: "title", label: "Title"),
(value: "filename", label: "Filename"),
(value: "genre", label: "Genre"),
],
),
artists: (
album_display_mode: SplitByDate,
album_sort_by: Date,
),
tabs: [
(
name: "Queue",
pane: Split(
direction: Horizontal,
panes: [(size: "100%", pane: Pane(Queue))],
),
),
(
name: "Dirs",
pane: Pane(Directories),
),
(
name: "Artists",
pane: Pane(Artists),
),
(
name: "Albums",
pane: Pane(Albums),
),
(
name: "Playlists",
pane: Pane(Playlists),
),
],
)

205
rmpc/themes/kolinux.ron Normal file
View File

@@ -0,0 +1,205 @@
#![enable(implicit_some)]
#![enable(unwrap_newtypes)]
#![enable(unwrap_variant_newtypes)]
(
default_album_art_path: "/home/greg/Pictures/Fetch/atheism_paint.png",
show_song_table_header: false,
draw_borders: true,
format_tag_separator: " | ",
browser_column_widths: [20, 38, 42],
background_color: None,
text_color: None,
header_background_color: None,
modal_background_color: None,
modal_backdrop: false,
preview_label_style: (fg: "yellow"),
preview_metadata_group_style: (fg: "yellow", modifiers: "Bold"),
tab_bar: (
enabled: true,
active_style: (fg: "black", bg: "blue", modifiers: "Bold"),
inactive_style: (),
),
highlighted_item_style: (fg: "blue", modifiers: "Bold"),
current_item_style: (fg: "white", bg: "blue", modifiers: "Bold"),
borders_style: (fg: "yellow"),
highlight_border_style: (fg: "blue"),
symbols: (
song: "󰎇",
dir: "",
playlist: "󰲸",
marker: "󰄳",
ellipsis: "...",
song_style: (fg: "cyan", modifiers: None),
dir_style: (fg: "yellow"),
playlist_style: (fg: "magenta"),
),
level_styles: (
info: (fg: "blue", bg: "black"),
warn: (fg: "yellow", bg: "black"),
error: (fg: "red", bg: "black"),
debug: (fg: "light_green", bg: "black"),
trace: (fg: "magenta", bg: "black"),
),
progress_bar: (
symbols: ["🬋", "󰃚 ", "⠔"],
track_style: (),
elapsed_style: (fg: "blue"),
thumb_style: (fg: "blue"),
),
scrollbar: (
symbols: ["│", "█", "▲", "▼"],
track_style: (fg: "black"),
ends_style: (fg: "black"),
thumb_style: (fg: "magenta"),
),
song_table_format: [
(
prop: (kind: Property(Artist),
default: (kind: Text("<empty>"), style: (fg: "yellow")),
style: (fg: "yellow"),
),
width: "25%",
),
(
prop: (kind: Property(Title),
default: (kind: Property(Filename), style: (fg: "white")),
style: (fg: "white"),
),
width: "70%",
),
(
label: "Time",
prop: (kind: Property(Duration),
default: (kind: Text("-")),
style: (fg: "magenta"),
),
width: "5%",
alignment: Right,
),
],
components: {},
layout: Split(
direction: Vertical,
panes: [
(
size: "4",
pane: Split(
direction: Horizontal,
panes: [
(
size: "10",
pane: Pane(AlbumArt),
),
(
size: "99%",
pane: Split(
direction: Vertical,
panes: [
(
size: "5",
pane: Pane(Header),
),
(
size: "1",
pane: Pane(Property(content: [
(
kind: Property(Song(Artist)), style: (fg: "green", modifiers: "Bold"),
default: (kind: Text("󰎇"), style: (modifiers: "Bold")),
),
(
kind: Text(" - "), style: (modifiers: "Bold"),
),
(
kind: Property(Song(Title)), style: (fg: "green", modifiers: "Bold"),
default: (
kind: Property(Song(Filename)), style: (modifiers: "Bold"),
default: (
kind: Text("<silence>"), style: (modifiers: "Bold"),
)
),
),
])),
),
(
size: "1",
pane: Pane(ProgressBar),
),
],
),
),
]
),
),
(
size: "100%",
pane: Pane(TabContent),
),
],
),
header: (
rows: [
(
left: [
(kind: Property(Status(StateV2(playing_label: "  Playing", paused_label: "  Paused", stopped_label: "  Stopped"))), style: (fg: "yellow", modifiers: "Bold")),
],
center: [
(
kind: Property(Song(Album)), style: (fg: "yellow", modifiers: "Bold"),
default: (kind: Text(""), style: (modifiers: "Bold")),
),
],
right: [
(kind: Property(Widget(ScanStatus)), style: (fg: "blue")),
(kind: Property(Widget(Volume)), style: (fg: "blue"))
]
),
(
left: [
(kind: Property(Status(Elapsed))),
(kind: Text(" / ")),
(kind: Property(Status(Duration))),
],
center: [
],
right: [
(kind: Text("[ ")),
(kind: Property(Status(RepeatV2(
on_label: "", off_label: "",
on_style: (fg: "blue", modifiers: "Bold"), off_style: (fg: "yellow", modifiers: "Bold"))))),
(kind: Text(" | ")),
(kind: Property(Status(RandomV2(
on_label: "", off_label: "",
on_style: (fg: "blue", modifiers: "Bold"), off_style: (fg: "yellow", modifiers: "Bold"))))),
(kind: Text(" | ")),
(kind: Property(Status(ConsumeV2(
on_label: "󰮯", off_label: "󰮯", oneshot_label: "󰮯󰇊",
on_style: (fg: "blue", modifiers: "Bold"), off_style: (fg: "yellow", modifiers: "Bold"))))),
(kind: Text(" | ")),
(kind: Property(Status(SingleV2(
on_label: "󰎤", off_label: "󰎤",
on_style: (fg: "blue", modifiers: "Bold"), off_style: (fg: "yellow", modifiers: "Bold"))))),
(kind: Text(" ]")),
]
),
],
),
browser_song_format: [
(
kind: Group([
(kind: Property(Track)),
(kind: Text(" ")),
])
),
(
kind: Group([
(kind: Property(Artist)),
(kind: Text(" - ")),
(kind: Property(Title)),
]),
default: (kind: Property(Filename))
),
],
lyrics: (
timestamp: false
)
)

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 366 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

View File

@@ -2,25 +2,24 @@
## Author : Aditya Shakya (adi1090x)
## Github : @adi1090x
#
## Rofi : Launcher (Modi Drun, Run, File Browser, Window)
#
## Available Styles
#
## style-1 style-2 style-3 style-4 style-5
## style-6 style-7 style-8 style-9 style-10
## Forked by : Nikolai Papin (WeirdCat)
## Git: cloud.weirdcat.su
dir="$HOME/.config/rofi-wayland/launchers/type-6"
images_dir="$dir/images/"
theme='style-7'
image=$(find "$images_dir" -type f | shuf -n 1)
if [[ ! -e /tmp/rofi-theme.rasi ]]; then
cp ${dir}/${theme}.rasi /tmp/rofi-theme.rasi
cp ~/.config/rofi-wayland/images/japanvolcano.jpg /tmp/rofi-img.jpg
fi
## Run
rm /tmp/rofi-img.png
ln -s $image /tmp/rofi-img.png
rofi \
-modes drun,run,window,calc \
-modes drun,run,calc \
-show drun \
-theme /tmp/rofi-theme.rasi
# -theme ${dir}/${theme}.rasi

View File

@@ -12,10 +12,10 @@ configuration {
modi: "drun,run,filebrowser,window";
show-icons: true;
display-drun: "アプリ";
display-window: "ウィンドウ";
display-window: "実行中";
display-filebrowser: "ファイル";
display-run: "実行";
display-calc: "計算機";
display-calc: "電卓";
drun-display-format: "{name}";
window-format: "{w} · {c} · {t}";
}
@@ -23,12 +23,18 @@ configuration {
/*****----- Global Properties -----*****/
* {
font: "JetBrains Mono Nerd Font 10";
background: #1e1f29ba;
background-alt: #1e1f29ca;
background: #1c1c1cd0;
background-alt: #303030ff;
button-shape-top: #505050ff;
button-shape-bottom: #303030ff;
background-button: #2e2d31ff;
background-input: #1c1c1cff;
border: #48535Ccf;
foreground: #FFe8EE;
selected: #E26273dd;
active: #E26273;
urgent: #9E2238;
selected: #9E2238dd;
selected-shine: #CE5268dd;
active: #9E2238;
urgent: #D14781;
}
/*****----- Main Window -----*****/
@@ -38,13 +44,14 @@ window {
location: center;
anchor: center;
fullscreen: false;
height: 500px;
width: 1000px;
height: 450px;
width: 900px;
x-offset: 0px;
y-offset: 0px;
border-radius: 15px;
border-color: @selected;
border: 3px;
border-color: @border;
/* properties for all widgets */
enabled: true;
@@ -67,7 +74,7 @@ mainbox {
imagebox {
padding: 20px;
background-color: transparent;
background-image: url("/tmp/rofi-img.jpg", width);
background-image: url("/tmp/rofi-img.png", width);
orientation: vertical;
children: [ "inputbar", "dummy", "mode-switcher" ];
}
@@ -90,9 +97,11 @@ inputbar {
spacing: 10px;
padding: 15px;
border-radius: 10px;
background-color: @background-alt;
background-color: @background-input;
text-color: @foreground;
children: [ "textbox-prompt-colon", "entry" ];
border-color: @background-alt;
border: 1px;
}
textbox-prompt-colon {
enabled: true;
@@ -120,13 +129,19 @@ mode-switcher{
button {
padding: 15px;
border-radius: 10px;
background-color: @background-alt;
background-color: @background-button;
text-color: inherit;
cursor: pointer;
border-color: @button-shape-top;
border: 1px 0 0 0;
}
button selected {
background-color: @selected;
text-color: @foreground;
border: 0;
border-color: @selected-shine;
border: 1px 0 0 0;
}
/*****----- Listview -----*****/
@@ -173,6 +188,8 @@ element normal.active {
element selected.normal {
background-color: @selected;
text-color: @foreground;
border-color: @selected-shine;
border: 1px 0 0 0;
}
element selected.urgent {
background-color: @urgent;
@@ -207,6 +224,8 @@ textbox {
text-color: @foreground;
vertical-align: 0.5;
horizontal-align: 0.0;
border-color: @button-shape-top;
border: 1px 0 0 0;
}
error-message {
padding: 15px;

197
swaync/config.json Normal file
View File

@@ -0,0 +1,197 @@
{
"$schema": "/etc/xdg/swaync/configSchema.json",
"ignore-gtk-theme": true,
"positionX": "right",
"positionY": "top",
"layer": "overlay",
"control-center-layer": "top",
"layer-shell": true,
"layer-shell-cover-screen": false,
"cssPriority": "highest",
"control-center-margin-top": 10,
"control-center-margin-bottom": 5,
"control-center-margin-right": -10,
"control-center-margin-left": 0,
"notification-2fa-action": false,
"notification-inline-replies": false,
"notification-body-image-height": 100,
"notification-body-image-width": 200,
"timeout": 10,
"timeout-low": 5,
"timeout-critical": 0,
"fit-to-screen": true,
"relative-timestamps": true,
"control-center-width": 470,
"control-center-height": 800,
"notification-window-width": 500,
"keyboard-shortcuts": true,
"notification-grouping": false,
"image-visibility": "when-available",
"transition-time": 100,
"hide-on-clear": false,
"hide-on-action": true,
"text-empty": "No nothing",
"script-fail-notify": true,
"scripts": {
"example-script": {
"exec": "echo 'Do something...'",
"urgency": "Normal"
},
"example-action-script": {
"exec": "echo 'Do something actionable!'",
"urgency": "Normal",
"run-on": "action"
}
},
"notification-visibility": {
"example-name": {
"state": "muted",
"urgency": "Low",
"app-name": "Spotify"
}
},
"widgets": [
"menubar",
"buttons-grid",
"volume",
"slider#brightness",
"slider#cpu",
"inhibitors",
"title",
"notifications",
"dnd"
],
"widget-config": {
"inhibitors": {
"text": "Inhibitors",
"button-text": "Purge",
"clear-all-button": true
},
"title": {
"text": "Notifications",
"clear-all-button": true,
"button-text": "Purge"
},
"volume": {
"label": "󰕾 ",
"show-per-app": true,
"show-per-app-icon": true,
"show-per-app-label": true
},
"slider#brightness": {
"label": " ",
"cmd_setter": "brightnessctl s $value",
"cmd_getter": "brightnessctl g",
"min": 5000,
"min_limit": 5000,
"max": 120000,
"max_limit": 120000
},
"slider#cpu": {
"label": " ",
"cmd_setter": "exec ~/.config/hypr/scripts/cpufreq.sh $value",
"cmd_getter": "exec ~/.config/hypr/scripts/cpufreq.sh g",
"min": 1,
"min_limit": 1,
"max": 5,
"max_limit": 5
},
"dnd": {
"text": "Don't bother"
},
"label": {
"max-lines": 1,
"text": "Kolinux 1.0"
},
"mpris": {
"blacklist": [],
"autohide": false,
"show-album-art": "always",
"loop-carousel": false
},
"buttons-grid": {
"buttons-per-row": 4,
"actions": [
{
"label": "󰑫",
"type": "toggle",
"active": true,
"command": "sh -c '[[ $SWAYNC_TOGGLE_STATE == true ]] && nmcli radio wifi on || nmcli radio wifi off'",
"update-command": "sh -c '[[ $(nmcli radio wifi) == \"enabled\" ]] && echo true || echo false'"
},
{
"label": "",
"type": "toggle",
"command": "sh -c '[[ $SWAYNC_TOGGLE_STATE == true ]] && bluetoothctl power on || bluetoothctl power off'",
"update-command": "sh -c \'bluetoothctl show | awk \\\"/Powered/ {print \\$2}\\\" | grep -q yes && echo true || echo false\'"
},
{
"label": "󰦝",
"type": "toggle",
"command": "sh -c '[[ $SWAYNC_TOGGLE_STATE == true ]] && mullvad connect || mullvad disconnect'",
"update-command": "sh -c '[[ $(mullvad status | grep -e Connected ) == \"Connected\" ]] && echo true || echo false'"
},
{
"label": "",
"type": "toggle",
"command": "sh -c 'nohup ~/.config/bspwm/proxy.sh > /dev/null 2>&1 & disown'",
"update-command": "sh -c 'pgrep sslocal > /dev/null && echo true || echo false'"
},
{
"label": "󰍰",
"type": "toggle",
"command": "sh -c 'pactl set-source-mute alsa_input.pci-0000_00_1f.3.analog-stereo toggle'",
"update-command": "sh -c '[[ $(pactl get-source-mute alsa_input.pci-0000_00_1f.3.analog-stereo) == \\\"Mute: no\\\" ]] && echo true || echo false'"
},
{
"label": "󰐨",
"type": "toggle",
"command": "[[ $SWAYNC_TOGGLE_STATE == true ]] && ( systemd-inhibit --why='User request via swaync' --what=sleep:handle-lid-switch:idle sh -c 'echo \"$$\" > \"$XDG_RUNTIME_DIR/swaync-idle.pid\"; while true; do sleep 3600; done' ) || kill $(<\"$XDG_RUNTIME_DIR/swaync-idle.pid\")",
"update-command": "kill -0 $(<\"$XDG_RUNTIME_DIR/swaync-idle.pid\") && echo true || echo false"
}
]
},
"menubar": {
"menu#power-buttons": {
"label": "",
"position": "left",
"actions": [
{
"label": " Reboot",
"command": "systemctl reboot"
},
{
"label": " Lock",
"command": "swaylock.sh"
},
{
"label": " Logout",
"command": "loginctl terminate-session ${XDG_SESSION_ID-}"
},
{
"label": " Shut down",
"command": "systemctl poweroff"
}
]
},
"menu#powermode-buttons": {
"label": "󰓅",
"position": "right",
"actions": [
{
"label": "Razgonnnn",
"command": "notify-send -t 2000 ' Power-Profile Performance' && powerprofilesctl set performance"
},
{
"label": "Balanced",
"command": "notify-send -t 2000 'Power-Profile Balanced' && powerprofilesctl set balanced"
},
{
"label": "Survival",
"command": "notify-send -t 2000 'Power-Profile Power-saver' && powerprofilesctl set power-saver"
}
]
}
}
}
}

617
swaync/style.css Normal file
View File

@@ -0,0 +1,617 @@
:root {
--cc-bg: #1c1c1cca;
--noti-border-color: rgba(90, 104, 115, 0.8);
--noti-bg: #1c1c1cca;
--noti-bg-alt:#1c1c1cca;
--noti-bg-alpha: 0.85;
--noti-bg-darker: rgb(38, 38, 38);
--noti-bg-hover: rgb(56, 56, 56);
--noti-bg-focus: transparent;
--noti-bg-selection: #9e2238dd;
--noti-close-bg: rgb(78, 78, 78);
--noti-close-bg-hover: rgb(94, 94, 94);
--text-color: #FFe8EE;
--text-color-disabled: rgb(150, 150, 150);
--bg-selected: #b12761;
--notification-icon-size: 64px;
--notification-app-icon-size: calc(var(--notification-icon-size) / 3);
--notification-group-icon-size: 32px;
--button-off: #2e2d31;
}
* {
font-family: "JetBrains Mono Nerd Font";
font-size: 16px;
}
button {
background-color: var(--button-off);
border: 1px solid #303030;
}
button:hover {
background: var(--noti-bg-selection)
}
.close-button {
/* The notification Close Button */
background: var(--noti-close-bg);
color: var(--text-color);
text-shadow: none;
padding: 0;
border-radius: 100%;
margin-top: 8px;
margin-right: 8px;
box-shadow: none;
border: none;
min-width: 24px;
min-height: 24px;
}
.close-button:hover {
box-shadow: none;
background: var(--noti-close-bg-hover);
transition: background 0.15s ease-in-out;
border: none;
}
.notification-row {
background: none;
outline: none;
}
.notification-row .notification-background {
padding: 6px 12px;
}
.notification-row .notification-background .notification {
/* The actual notification */
border-radius: 12px;
border: 1px solid var(--noti-border-color);
padding: 0;
transition: background 0.15s ease-in-out;
background-color: var(--cc-bg);
}
.notification-row .notification-background .notification.low {
/* Low Priority Notification */
}
.notification-row .notification-background .notification.normal {
/* Normal Priority Notification */
}
.notification-row .notification-background .notification.critical {
/* Critical Priority Notification */
}
.notification-row .notification-background .notification .notification-default-action {
/* The large action that also displays the notification summary and body */
padding: 4px;
margin: 0;
box-shadow: none;
background: transparent;
border: none;
color: var(--text-color);
transition: background 0.15s ease-in-out;
border-radius: 12px;
}
.notification-row:focus .notification-background .notification .notification-default-action {
background-color: red;
}
.notification-row .notification-background .notification .notification-default-action:hover {
-gtk-icon-filter: none;
background: var(--noti-bg-hover);
}
.notification-row .notification-background .notification .notification-default-action:not(:only-child) {
/* When alternative actions are visible */
border-bottom-left-radius: 0px;
border-bottom-right-radius: 0px;
}
.notification-row .notification-background .notification .notification-default-action .notification-content {
background: transparent;
border-radius: 12px;
padding: 0;
}
.notification-row .notification-background .notification .notification-default-action .notification-content .image {
/* Notification Primary Image */
-gtk-icon-filter: none;
-gtk-icon-size: var(--notification-icon-size);
border-radius: 100px;
/* Size in px */
margin: 4px;
}
.notification-row .notification-background .notification .notification-default-action .notification-content .app-icon {
/* Notification app icon (only visible when the primary image is set) */
-gtk-icon-filter: none;
-gtk-icon-size: var(--notification-app-icon-size);
-gtk-icon-shadow: 0 1px 4px black;
margin: 6px;
}
.notification-row .notification-background .notification .notification-default-action .notification-content .text-box label {
/* Fixes base GTK 4 CSS setting a filter of opacity 50% for some odd reason */
filter: none;
}
.notification-row .notification-background .notification .notification-default-action .notification-content .text-box .summary {
/* Notification summary/title */
font-size: 16px;
font-weight: bold;
background: transparent;
color: var(--text-color);
text-shadow: none;
}
.notification-row .notification-background .notification .notification-default-action .notification-content .text-box .time {
/* Notification time-ago */
font-size: 16px;
font-weight: bold;
background: transparent;
color: var(--text-color);
text-shadow: none;
margin-right: 30px;
}
.notification-row .notification-background .notification .notification-default-action .notification-content .text-box .body {
/* Notification body */
font-size: 15px;
font-weight: normal;
background: transparent;
color: var(--text-color);
text-shadow: none;
}
.notification-row .notification-background .notification .notification-default-action .notification-content progressbar {
/* The optional notification progress bar */
margin-top: 4px;
}
.notification-row .notification-background .notification .notification-default-action .notification-content .body-image {
/* The "extra" optional bottom notification image */
margin-top: 4px;
background-color: white;
-gtk-icon-filter: none;
}
.notification-row .notification-background .notification .notification-default-action .notification-content .inline-reply {
/* The inline reply section */
margin-top: 4px;
}
.notification-row .notification-background .notification .notification-default-action .notification-content .inline-reply .inline-reply-entry {
background: var(--noti-bg-darker);
color: var(--text-color);
caret-color: var(--text-color);
border: 1px solid var(--noti-border-color);
border-radius: 12px;
}
.notification-row .notification-background .notification .notification-default-action .notification-content .inline-reply .inline-reply-button {
margin-left: 4px;
background: rgba(var(--noti-bg), var(--noti-bg-alpha));
border: 1px solid var(--noti-border-color);
border-radius: 12px;
color: var(--text-color);
}
.notification-row .notification-background .notification .notification-default-action .notification-content .inline-reply .inline-reply-button:disabled {
background: initial;
color: var(--text-color-disabled);
border: 1px solid var(--noti-border-color);
border-color: transparent;
}
.notification-row .notification-background .notification .notification-default-action .notification-content .inline-reply .inline-reply-button:hover {
background: var(--noti-bg-hover);
}
.notification-row .notification-background .notification .notification-alt-actions {
background: none;
border-bottom-left-radius: 12px;
border-bottom-right-radius: 12px;
padding: 4px;
}
.notification-row .notification-background .notification .notification-action {
/* The alternative actions below the default action */
margin: 4px;
padding: 0;
}
.notification-row .notification-background .notification .notification-action > button {
border-radius: 12px;
}
.notification-group {
/* Styling only for Grouped Notifications */
transition: opacity 200ms ease-in-out;
/* The groups close button */
}
.notification-group:focus .notification-row .notification-background .notification {
background-color: var(--noti-bg-selection);
}
.notification-group.low {
/* Low Priority Group */
}
.notification-group.normal {
/* Low Priority Group */
}
.notification-group.critical {
/* Low Priority Group */
}
.notification-group .notification-group-close-button .close-button {
margin: 12px 20px;
}
.notification-group .notification-group-buttons, .notification-group .notification-group-headers {
margin: 0 16px;
color: var(--text-color);
}
.notification-group .notification-group-headers {
/* Notification Group Headers */
}
.notification-group .notification-group-headers .notification-group-icon {
color: var(--text-color);
-gtk-icon-size: var(--notification-group-icon-size);
}
.notification-group .notification-group-headers .notification-group-header {
color: var(--text-color);
}
.notification-group .notification-group-buttons {
/* Notification Group Buttons */
}
.notification-group.collapsed {
/* When another group is expanded, lower the opacity of the collapsed ones */
}
.notification-group.collapsed.not-expanded {
opacity: 0.4;
}
.notification-group.collapsed .notification-row .notification {
background-color: rgba(var(--noti-bg), 1);
}
.notification-group.collapsed .notification-row:not(:last-child) {
/* Top notification in stack */
/* Set lower stacked notifications opacity to 0 */
}
.notification-group.collapsed .notification-row:not(:last-child) .notification-action,
.notification-group.collapsed .notification-row:not(:last-child) .notification-default-action {
opacity: 0;
}
.notification-group.collapsed:hover .notification-row:not(:only-child) .notification {
background-color: var(--noti-bg-hover);
}
.control-center {
/* The Control Center which contains the old notifications + widgets */
background: var(--cc-bg);
color: var(--text-color);
border-radius: 10px 0 0 10px;
border: 3px solid var(--noti-border-color);
border-right: none;
}
.control-center .control-center-list-placeholder {
/* The placeholder when there are no notifications */
opacity: 0.5;
}
.control-center .control-center-list {
/* List of notifications */
background: transparent;
}
.control-center .control-center-list .notification {
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 3px 1px rgba(0, 0, 0, 0.7), 0 2px 6px 2px rgba(0, 0, 0, 0.3);
}
.control-center .control-center-list .notification .notification-default-action,
.control-center .control-center-list .notification .notification-action {
transition: opacity 400ms ease-in-out, background 0.15s ease-in-out;
}
.control-center .control-center-list .notification .notification-default-action:hover,
.control-center .control-center-list .notification .notification-action:hover {
background-color: var(--noti-bg-hover);
}
.blank-window {
/* Window behind control center and on all other monitors */
background: none;
}
.floating-notifications {
background-color: transparent;
}
.floating-notifications .notification {
box-shadow: none;
}
/*** Widgets ***/
/* Title widget */
.widget-title > label {
margin: 0 0px;
font-size: 16px;
}
.widget-title > button {
margin: 0px;
border-radius: 12px;
}
/* DND widget */
.widget-dnd label {
color: var(--text-color);
margin: 8px;
font-size: 1.1rem;
}
.widget-dnd switch {
border-radius: 12px;
margin: 8px;
}
.widget-dnd switch:checked {
background: var(--noti-bg-selection);
}
.widget-dnd switch slider {
border-radius: 12px;
}
/* Label widget */
.widget-label {
margin: 8px;
}
.widget-label > label {
font-size: 1.1rem;
}
/* Mpris widget */
:root {
--mpris-album-art-overlay: rgba(0, 0, 0, 0.55);
--mpris-button-hover: rgba(0, 0, 0, 0.5);
--mpris-album-art-icon-size: 96px;
}
.widget-mpris {
margin: 8px;
/* The parent to all players */
}
.widget-mpris .widget-mpris-player {
margin: 16px 20px;
border-radius: 12px;
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.75);
}
.widget-mpris .widget-mpris-player .mpris-background {
filter: blur(10px);
}
.widget-mpris .widget-mpris-player .mpris-overlay {
padding: 16px;
background-color: var(--mpris-album-art-overlay);
}
.widget-mpris .widget-mpris-player .mpris-overlay button:hover {
/* The media player buttons (play, pause, next, etc...) */
background: var(--noti-bg-hover);
}
.widget-mpris .widget-mpris-player .mpris-overlay .widget-mpris-album-art {
border-radius: 12px;
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.75);
-gtk-icon-size: var(--mpris-album-art-icon-size);
}
.widget-mpris .widget-mpris-player .mpris-overlay .widget-mpris-title {
font-weight: bold;
font-size: 1.25rem;
}
.widget-mpris .widget-mpris-player .mpris-overlay .widget-mpris-subtitle {
font-size: 1.1rem;
}
.widget-mpris .widget-mpris-player .mpris-overlay > box > button {
/* Change player control buttons */
}
.widget-mpris .widget-mpris-player .mpris-overlay > box > button:hover {
background-color: var(--mpris-button-hover);
}
.widget-mpris > box > button {
/* Change player side buttons */
}
.widget-mpris > box > button:disabled {
/* Change player side buttons insensitive */
}
/* Buttons widget */
.widget-buttons-grid {
min-height: 50px;
padding: 8px;
margin: 8px;
border-radius: 12px;
}
.widget-buttons-grid flowboxchild > button {
border-radius: 12px;
height: auto;
}
.widget-buttons-grid flowboxchild > button.toggle > * {
font-size: 45px;
font-family: "Iosevka Nerd Font Mono";
}
.widget-buttons-grid flowboxchild > button.toggle:checked {
/* style given to the active toggle button */
background-color: var(--noti-bg-selection);
}
.widget-buttons-grid flowboxchild > button.toggle:hover {
/* style given to the active toggle button */
background-color: var(--bg-selected);
}
/* Menubar widget */
.widget-menubar {
/* The revealer buttons */
/* .AnyName { Name defined in config after #
background-color: rgba(var(--noti-bg), 1.0);
padding: 8px;
margin: 8px;
border-radius: 12px;
}
.AnyName>button {
background: transparent;
border: none;
}
.AnyName>button:hover {
background-color: var(--noti-bg-hover);
} */
}
.widget-menubar > .menu-button-bar {
/* The left button container */
/* The right button container */
/* The left and right button container */
}
.widget-menubar > .menu-button-bar > .start {
margin-left: 0px;
}
.widget-menubar > .menu-button-bar > .end {
margin-right: 0px;
}
.widget-menubar > .menu-button-bar > .widget-menubar-container button {
border-radius: 12px;
margin: 0 4px;
background-color: var(--noti-bg-selection);
}
.widget-menubar > .menu-button-bar > .widget-menubar-container button:hover {
background-color: var(--bg-selected);
}
.widget-menubar > .menu-button-bar > .widget-menubar-container button > * {
font-size: 24px;
font-family: "Iosevka Nerd Font Mono";
}
.widget-menubar > revealer {
margin-top: 0px;
display: flex;
flex-direction: right;
}
.widget-menubar > revealer button {
border-radius: 12px;
margin: 8px;
margin-top: 0;
}
.widget-menubar > revealer button:hover {
background: var(--bg-selected);
}
/* Volume widget */
:root {
--widget-volume-row-icon-size: 24px;
}
.widget-volume {
padding: 8px;
margin: 8px;
border-radius: 12px;
}
.widget-volume label:first-child {
font-size: 28px;
}
.widget-volume trough highlight {
background: var(--noti-bg-selection);
}
/* Each row app icon */
.widget-volume row image {
-gtk-icon-size: var(--widget-volume-row-icon-size);
}
.per-app-volume {
background-color: var(--noti-bg-alt);
padding: 4px 8px 8px 8px;
margin: 0px 8px 8px 8px;
border-radius: 12px;
}
/* Slider widget */
.widget-slider {
padding: 8px;
margin: 8px;
border-radius: 12px;
}
.widget-slider trough highlight {
background: var(--noti-bg-selection);
}
.widget-slider label {
font-size: 28px;
}
/* Backlight widget */
.widget-backlight {
padding: 8px;
margin: 8px;
border-radius: 12px;
}
/* Inhibitors widget */
.widget-inhibitors > label {
margin: 8px;
font-size: 1.5rem;
}
.widget-inhibitors > button {
margin: 8px;
border-radius: 12px;
}
.notification-row:parent {
background: none
}

View File

@@ -13,7 +13,7 @@ offline_icon_osx="⛔️ "
offline_icon_cygwin="X"
offline_icon="❌ "
ping_timeout_default="3"
route_to_ping_default="www.google.com"
route_to_ping_default="archlinux.org"
source $CURRENT_DIR/shared.sh

View File

@@ -8,26 +8,18 @@
"spacing": 4, // Gaps between modules (4px)
// Choose the order of the modules
"modules-left": [
"hyprland/workspaces",
"idle_inhibitor"
"hyprland/workspaces"
],
"modules-center": [
"mpd"
],
"modules-right": [
"power-profiles-daemon",
"pulseaudio",
"network",
"cpu",
"memory",
"temperature",
//"backlight",
//"hyprland/language",
"battery",
//"battery#bat2",
"tray",
"clock"
// "custom/power"
],
// Modules configuration
"hyprland/workspaces": {
@@ -58,7 +50,7 @@
],
"format": "{icon}",
"format-icons": {
"1": "",
"1": " ",
"2": "二",
"3": "三",
"4": "四",
@@ -70,7 +62,6 @@
"10": "零",
"11": "一",
"12": "十",
// "3": "",
"default": "",
"empty": ""
}
@@ -100,10 +91,10 @@
},
"mpd": {
"password": "kapuchinamusica",
"artist-len": 15,
"title-len": 30,
"artist-len": 30,
"title-len": 45,
"unknown-tag": "n/a",
"format": "{stateIcon} {artist} - {title} {elapsedTime:%M:%S}/{totalTime:%M:%S}",
"format": "{stateIcon} {titleSmart}",
"interval": 1,
"single-icons": {
"on": "1 "
@@ -114,6 +105,7 @@
},
"tooltip-format": "MPD (connected)",
"tooltip-format-disconnected": "MPD (disconnected)",
"format-stopped": "",
"on-click": "mpc toggle --password kapuchinamusica"
},
"idle_inhibitor": {
@@ -140,10 +132,10 @@
"calendar": {
"format": {
// "months": "<span color='#ffead3'><b>{}</b></span>",
"days": "<span color='#ecc6d9'><b>{}</b></span>",
"days": "<span color='#ac8699'><b>{}</b></span>",
"weeks": "<span color='#BC4056'><b>W{}</b></span>",
"weekdays": "<span color='#F8B5CE'><b>{}</b></span>",
"today": "<span color='#d14781'><b><u>{}</u></b></span>"
"today": "<span color='#FFFFFF'><b><u>{}</u></b></span>"
}
}
},
@@ -209,12 +201,12 @@
},
"pulseaudio": {
// "scroll-step": 1, // %, can be a float
"format": "{volume}% {icon} {format_source}",
"format-bluetooth": "{volume}% {icon} {format_source}",
"format-bluetooth-muted": " {icon} {format_source}",
"format-muted": "{format_source}",
"format-source": "{volume}% ",
"format-source-muted": "",
"format": "{format_source} {volume}% {icon}",
"format-bluetooth": "{format_source} {volume}% {icon}",
"format-bluetooth-muted": "{format_source}  {icon}",
"format-muted": "{format_source} 󰖁",
"format-source": "",
"format-source-muted": "",
"format-icons": {
"headphone": "",
//"hands-free": "",

View File

@@ -1,236 +0,0 @@
// -*- mode: jsonc -*-
{
// "output": "",
// "layer": "top", // Waybar at top layer
// "position": "bottom", // Waybar position (top|bottom|left|right)
"height": 30, // Waybar height (to be removed for auto height)
// "width": 1280, // Waybar width
"spacing": 4, // Gaps between modules (4px)
// Choose the order of the modules
"modules-left": [
"hyprland/workspaces",
"idle_inhibitor"
],
"modules-center": [
"mpd"
],
"modules-right": [
"power-profiles-daemon",
"pulseaudio",
"network",
"cpu",
"memory",
"temperature",
//"backlight",
//"hyprland/language",
"battery",
//"battery#bat2",
"tray",
"clock"
// "custom/power"
],
// Modules configuration
"hyprland/workspaces": {
"disable-scroll": true,
"all-outputs": false,
"warp-on-scroll": false,
"persistent-workspaces": {
"1": [],
"2": [],
"3": [],
"4": [],
"5": [],
"6": [],
"7": [],
"8": [],
"9": [],
"10": [],
"11": [],
"12": []
},
"format": "{icon}",
"format-icons": {
"1": "",
"2": "二",
"3": "三",
"4": "四",
"5": "五",
"6": "六",
"7": "七",
"8": "八",
"9": "九",
"10": "0",
"11": "-",
"12": "+",
// "3": "",
"default": "",
"empty": ""
}
},
"keyboard-state": {
"numlock": true,
"capslock": true,
"format": "{name} {icon}",
"format-icons": {
"locked": "",
"unlocked": ""
}
},
"hyprland/language": {
"format-ru": "RU",
"format-en": "EN"
},
"hyprland/mode": {
"format": "<span style=\"italic\">{}</span>"
},
"hyprland/scratchpad": {
"format": "{icon} {count}",
"show-empty": false,
"format-icons": ["", ""],
"tooltip": true,
"tooltip-format": "{app}: {title}"
},
"mpd": {
"password": "kapuchinamusica",
"artist-len": 15,
"title-len": 30,
"unknown-tag": "n/a",
"format": "{stateIcon} {artist} - {title} {elapsedTime:%M:%S}/{totalTime:%M:%S}",
"interval": 1,
"single-icons": {
"on": "1 "
},
"state-icons": {
"paused": "",
"playing": ""
},
"tooltip-format": "MPD (connected)",
"tooltip-format-disconnected": "MPD (disconnected)",
"on-click": "mpc toggle --password kapuchinamusica"
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
}
},
"tray": {
// "icon-size": 21,
"spacing": 10,
"icons": {
"blueman": "bluetooth",
"*": "folder-symbolic"
}
},
"clock": {
// "timezone": "America/New_York",
"interval": 1,
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format": "{:%H:%M:%S}",
"format-alt": "{:%Y-%m-%d}"
},
"cpu": {
"format": "{usage}% ",
"tooltip": false,
"interval": 3
},
"memory": {
"format": "{}% 󱤓",
"interval": 3
},
"temperature": {
// "thermal-zone": 2,
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
"critical-threshold": 80,
// "format-critical": "{temperatureC}°C {icon}",
"format": "{temperatureC}°C {icon}",
"format-icons": ["", "", ""]
},
"backlight": {
// "device": "acpi_video1",
"format": "{percent}% {icon}",
"format-icons": ["", "", "", "", "", "", "", "", ""]
},
"battery": {
"states": {
"good": 85,
"warning": 30,
"critical": 18
},
"format": "{capacity}% {icon}",
"format-full": "{capacity}% {icon}",
"format-charging": "{capacity}% ",
"format-plugged": "{capacity}% ",
"format-alt": "{time} {icon}",
// "format-good": "", // An empty format will hide the module
// "format-full": "",
"format-icons": ["", "", "", "", ""]
},
"battery#bat2": {
"bat": "BAT2"
},
"power-profiles-daemon": {
"format": "{icon}",
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
"tooltip": true,
"format-icons": {
"default": "󰓅",
"performance": "󰓅",
"balanced": "󰾅",
"power-saver": "󰾆"
}
},
"network": {
// "interface": "wlp2*", // (Optional) To force the use of this interface
"format-wifi": "{signalStrength}% ",
"format-ethernet": "{ipaddr}/{cidr} ",
"tooltip-format": "{essid} {ifname} via {gwaddr} ",
"format-linked": "{ifname} (No IP) ",
"format-disconnected": "Disconnected ⚠",
"on-click": "hyprctl dispatch exec, [float; move center] kitty -e nmtui"
},
"pulseaudio": {
// "scroll-step": 1, // %, can be a float
"format": "{volume}% {icon} {format_source}",
"format-bluetooth": "{volume}% {icon} {format_source}",
"format-bluetooth-muted": " {icon} {format_source}",
"format-muted": " {format_source}",
"format-source": "{volume}% ",
"format-source-muted": "",
"format-icons": {
"headphone": "",
//"hands-free": "",
//"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", "", ""]
},
"on-click": "pwvucontrol"
},
"custom/media": {
"format": "{icon} {text}",
"return-type": "json",
"max-length": 40,
"format-icons": {
"spotify": "",
"default": "🎜"
},
"escape": true,
"exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
// "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
},
"custom/power": {
"format" : "⏻ ",
"tooltip": false,
"menu": "on-click",
"menu-file": "$HOME/.config/waybar/power_menu.xml", // Menu file in resources folder
"menu-actions": {
"shutdown": "shutdown",
"reboot": "reboot",
"suspend": "systemctl suspend",
"hibernate": "systemctl hibernate"
}
}
}

View File

@@ -1,201 +0,0 @@
// -*- mode: jsonc -*-
{
// "layer": "top", // Waybar at top layer
// "position": "bottom", // Waybar position (top|bottom|left|right)
"height": 30, // Waybar height (to be removed for auto height)
// "width": 1280, // Waybar width
"spacing": 4, // Gaps between modules (4px)
// Choose the order of the modules
"modules-left": [
"hyprland/workspaces",
"sway/mode",
"sway/scratchpad",
"custom/media"
],
"modules-center": [
"sway/window"
],
"modules-right": [
"mpd",
"idle_inhibitor",
"pulseaudio",
"network",
"power-profiles-daemon",
"cpu",
"memory",
"temperature",
"backlight",
"keyboard-state",
"sway/language",
"battery",
"battery#bat2",
"clock",
"tray",
"custom/power"
],
// Modules configuration
"hyprland/workspaces": {
"disable-scroll": true,
"all-outputs": true,
"warp-on-scroll": false,
"format": "{name}: {icon}",
"format-icons": {
"9": "",
"1": "",
// "3": "",
// "4": "",
"8": "",
"urgent": "",
"focused": "",
"default": ""
}
},
"keyboard-state": {
"numlock": true,
"capslock": true,
"format": "{name} {icon}",
"format-icons": {
"locked": "",
"unlocked": ""
}
},
"sway/mode": {
"format": "<span style=\"italic\">{}</span>"
},
"sway/scratchpad": {
"format": "{icon} {count}",
"show-empty": false,
"format-icons": ["", ""],
"tooltip": true,
"tooltip-format": "{app}: {title}"
},
"mpd": {
"password": "kapuchinamusica",
"single-icons": {
"on": "1 "
},
"state-icons": {
"paused": "",
"playing": ""
},
"tooltip-format": "MPD (connected)",
"tooltip-format-disconnected": "MPD (disconnected)"
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
}
},
"tray": {
// "icon-size": 21,
"spacing": 10
},
"clock": {
// "timezone": "America/New_York",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format-alt": "{:%Y-%m-%d}"
},
"cpu": {
"format": "{usage}% ",
"tooltip": false
},
"memory": {
"format": "{}% "
},
"temperature": {
// "thermal-zone": 2,
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
"critical-threshold": 80,
// "format-critical": "{temperatureC}°C {icon}",
"format": "{temperatureC}°C {icon}",
"format-icons": ["", "", ""]
},
"backlight": {
// "device": "acpi_video1",
"format": "{percent}% {icon}",
"format-icons": ["", "", "", "", "", "", "", "", ""]
},
"battery": {
"states": {
// "good": 95,
"warning": 30,
"critical": 15
},
"format": "{capacity}% {icon}",
"format-full": "{capacity}% {icon}",
"format-charging": "{capacity}% ",
"format-plugged": "{capacity}% ",
"format-alt": "{time} {icon}",
// "format-good": "", // An empty format will hide the module
// "format-full": "",
"format-icons": ["", "", "", "", ""]
},
"battery#bat2": {
"bat": "BAT2"
},
"power-profiles-daemon": {
"format": "{icon}",
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
"tooltip": true,
"format-icons": {
"default": "",
"performance": "",
"balanced": "",
"power-saver": ""
}
},
"network": {
// "interface": "wlp2*", // (Optional) To force the use of this interface
"format-wifi": "{essid} ({signalStrength}%) ",
"format-ethernet": "{ipaddr}/{cidr} ",
"tooltip-format": "{ifname} via {gwaddr} ",
"format-linked": "{ifname} (No IP) ",
"format-disconnected": "Disconnected ⚠",
"format-alt": "{ifname}: {ipaddr}/{cidr}"
},
"pulseaudio": {
// "scroll-step": 1, // %, can be a float
"format": "{volume}% {icon} {format_source}",
"format-bluetooth": "{volume}% {icon} {format_source}",
"format-bluetooth-muted": " {icon} {format_source}",
"format-muted": " {format_source}",
"format-source": "{volume}% ",
"format-source-muted": "",
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", "", ""]
},
"on-click": "pavucontrol"
},
"custom/media": {
"format": "{icon} {text}",
"return-type": "json",
"max-length": 40,
"format-icons": {
"spotify": "",
"default": "🎜"
},
"escape": true,
"exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
// "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
},
"custom/power": {
"format" : "⏻ ",
"tooltip": false,
"menu": "on-click",
"menu-file": "$HOME/.config/waybar/power_menu.xml", // Menu file in resources folder
"menu-actions": {
"shutdown": "shutdown",
"reboot": "reboot",
"suspend": "systemctl suspend",
"hibernate": "systemctl hibernate"
}
}
}

View File

@@ -1,327 +0,0 @@
* {
/* `otf-font-awesome` is required to be installed for icons */
font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif;
font-size: 13px;
}
window#waybar {
background-color: rgba(43, 48, 59, 0.5);
border-bottom: 3px solid rgba(100, 114, 125, 0.5);
color: #ffffff;
transition-property: background-color;
transition-duration: .5s;
}
window#waybar.hidden {
opacity: 0.2;
}
/*
window#waybar.empty {
background-color: transparent;
}
window#waybar.solo {
background-color: #FFFFFF;
}
*/
window#waybar.termite {
background-color: #3F3F3F;
}
window#waybar.chromium {
background-color: #000000;
border: none;
}
button {
/* Use box-shadow instead of border so the text isn't offset */
box-shadow: inset 0 -3px transparent;
/* Avoid rounded borders under each button name */
border: none;
border-radius: 0;
}
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
button:hover {
background: inherit;
box-shadow: inset 0 -3px #ffffff;
}
/* you can set a style on hover for any module like this */
#pulseaudio:hover {
background-color: #a37800;
}
#workspaces button {
padding: 0 5px;
background-color: transparent;
color: #ffffff;
}
#workspaces button:hover {
background: rgba(0, 0, 0, 0.2);
}
#workspaces button.focused {
background-color: #64727D;
box-shadow: inset 0 -3px #ffffff;
}
#workspaces button.urgent {
background-color: #eb4d4b;
}
#mode {
background-color: #64727D;
box-shadow: inset 0 -3px #ffffff;
}
#clock,
#battery,
#cpu,
#memory,
#disk,
#temperature,
#backlight,
#network,
#pulseaudio,
#wireplumber,
#custom-media,
#tray,
#mode,
#idle_inhibitor,
#scratchpad,
#power-profiles-daemon,
#mpd {
padding: 0 10px;
color: #ffffff;
}
#window,
#workspaces {
margin: 0 4px;
}
/* If workspaces is the leftmost module, omit left margin */
.modules-left > widget:first-child > #workspaces {
margin-left: 0;
}
/* If workspaces is the rightmost module, omit right margin */
.modules-right > widget:last-child > #workspaces {
margin-right: 0;
}
#clock {
background-color: #64727D;
}
#battery {
background-color: #ffffff;
color: #000000;
}
#battery.charging, #battery.plugged {
color: #ffffff;
background-color: #26A65B;
}
@keyframes blink {
to {
background-color: #ffffff;
color: #000000;
}
}
/* Using steps() instead of linear as a timing function to limit cpu usage */
#battery.critical:not(.charging) {
background-color: #f53c3c;
color: #ffffff;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: steps(12);
animation-iteration-count: infinite;
animation-direction: alternate;
}
#power-profiles-daemon {
padding-right: 15px;
}
#power-profiles-daemon.performance {
background-color: #f53c3c;
color: #ffffff;
}
#power-profiles-daemon.balanced {
background-color: #2980b9;
color: #ffffff;
}
#power-profiles-daemon.power-saver {
background-color: #2ecc71;
color: #000000;
}
label:focus {
background-color: #000000;
}
#cpu {
background-color: #2ecc71;
color: #000000;
}
#memory {
background-color: #9b59b6;
}
#disk {
background-color: #964B00;
}
#backlight {
background-color: #90b1b1;
}
#network {
background-color: #2980b9;
}
#network.disconnected {
background-color: #f53c3c;
}
#pulseaudio {
background-color: #f1c40f;
color: #000000;
}
#pulseaudio.muted {
background-color: #90b1b1;
color: #2a5c45;
}
#wireplumber {
background-color: #fff0f5;
color: #000000;
}
#wireplumber.muted {
background-color: #f53c3c;
}
#custom-media {
background-color: #66cc99;
color: #2a5c45;
min-width: 100px;
}
#custom-media.custom-spotify {
background-color: #66cc99;
}
#custom-media.custom-vlc {
background-color: #ffa000;
}
#temperature {
background-color: #f0932b;
}
#temperature.critical {
background-color: #eb4d4b;
}
#tray {
background-color: #2980b9;
}
#tray > .passive {
-gtk-icon-effect: dim;
}
#tray > .needs-attention {
-gtk-icon-effect: highlight;
background-color: #eb4d4b;
}
#idle_inhibitor {
background-color: #2d3436;
}
#idle_inhibitor.activated {
background-color: #ecf0f1;
color: #2d3436;
}
#mpd {
background-color: #66cc99;
color: #2a5c45;
}
#mpd.disconnected {
background-color: #f53c3c;
}
#mpd.stopped {
background-color: #90b1b1;
}
#mpd.paused {
background-color: #51a37a;
}
#language {
background: #00b093;
color: #740864;
padding: 0 5px;
margin: 0 5px;
min-width: 16px;
}
#keyboard-state {
background: #97e1ad;
color: #000000;
padding: 0 0px;
margin: 0 5px;
min-width: 16px;
}
#keyboard-state > label {
padding: 0 5px;
}
#keyboard-state > label.locked {
background: rgba(0, 0, 0, 0.2);
}
#scratchpad {
background: rgba(0, 0, 0, 0.2);
}
#scratchpad.empty {
background-color: transparent;
}
#privacy {
padding: 0;
}
#privacy-item {
padding: 0 5px;
color: white;
}
#privacy-item.screenshare {
background-color: #cf5700;
}
#privacy-item.audio-in {
background-color: #1ca000;
}
#privacy-item.audio-out {
background-color: #0069d4;
}

View File

@@ -1,351 +0,0 @@
* {
/* `otf-font-awesome` is required to be installed for icons */
font-family: Iosevka, Roboto, Helvetica, Arial, sans-serif;
font-size: 13px;
}
window#waybar {
background-color: rgba(43, 48, 59, 0.5);
border-bottom: 3px solid rgba(100, 114, 125, 0.5);
color: #ffffff;
transition-property: background-color;
transition-duration: .5s;
}
window#waybar.hidden {
opacity: 0.2;
}
/*
window#waybar.empty {
background-color: transparent;
}
window#waybar.solo {
background-color: #FFFFFF;
}
*/
window#waybar.termite {
background-color: #3F3F3F;
}
window#waybar.chromium {
background-color: #000000;
border: none;
}
button {
/* Use box-shadow instead of border so the text isn't offset */
box-shadow: inset 0 -3px transparent;
/* Avoid rounded borders under each button name */
border: none;
border-radius: 0;
}
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
button:hover {
background: inherit;
box-shadow: inset 0 -3px #ffffff;
}
/* you can set a style on hover for any module like this */
#pulseaudio:hover {
background-color: #a37800;
}
#workspaces button {
padding: 0 5px;
background-color: transparent;
color: #ffffff;
}
#workspaces button.empty {
color: #999999;
}
#workspaces button:hover {
background: rgba(0, 0, 0, 0.2);
}
#workspaces button.active {
background-color: #64727D;
box-shadow: inset 0 -3px #ffffff;
}
#workspaces button.urgent {
background-color: #eb4d4b;
}
#mode {
background-color: #64727D;
box-shadow: inset 0 -3px #ffffff;
}
#clock,
#battery,
#cpu,
#memory,
#disk,
#temperature,
#backlight,
#network,
#pulseaudio,
#wireplumber,
#custom-media,
#tray,
#mode,
#idle_inhibitor,
#scratchpad,
#power-profiles-daemon,
#mpd {
padding: 0 10px;
background-color: #B12761;
color: #ffffff;
}
#window,
#workspaces {
margin: 0 4px;
}
/* If workspaces is the leftmost module, omit left margin */
.modules-left > widget:first-child > #workspaces {
margin-left: 0;
}
/* If workspaces is the rightmost module, omit right margin */
.modules-right > widget:last-child > #workspaces {
margin-right: 0;
}
#clock {
background-color: #64727D;
}
#battery {
background-color: #ffffff;
color: #000000;
}
#battery.charging, #battery.plugged {
color: #ffffff;
background-color: #26A65B;
}
@keyframes blink {
to {
background-color: #ffffff;
color: #000000;
}
}
/* Using steps() instead of linear as a timing function to limit cpu usage */
#battery.critical:not(.charging) {
background-color: #f53c3c;
color: #ffffff;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: steps(12);
animation-iteration-count: infinite;
animation-direction: alternate;
}
#power-profiles-daemon {
padding-right: 15px;
}
#power-profiles-daemon.performance {
background-color: #f53c3c;
color: #ffffff;
}
#power-profiles-daemon.balanced {
background-color: #2980b9;
color: #ffffff;
}
#power-profiles-daemon.power-saver {
background-color: #2ecc71;
color: #000000;
}
label:focus {
background-color: #000000;
}
#cpu {
background-color: #2ecc71;
color: #000000;
}
#memory {
background-color: #9b59b6;
}
#disk {
background-color: #964B00;
}
#backlight {
background-color: #90b1b1;
}
#network {
background-color: #2980b9;
}
#network.disconnected {
background-color: #f53c3c;
}
#pulseaudio {
background-color: #f1c40f;
color: #000000;
}
#pulseaudio.muted {
background-color: #90b1b1;
color: #2a5c45;
}
#wireplumber {
background-color: #fff0f5;
color: #000000;
}
#wireplumber.muted {
background-color: #f53c3c;
}
#custom-media {
background-color: #66cc99;
color: #2a5c45;
min-width: 100px;
}
#custom-media.custom-spotify {
background-color: #66cc99;
}
#custom-media.custom-vlc {
background-color: #ffa000;
}
#temperature {
background-color: #f0932b;
}
#temperature.critical {
background-color: #eb4d4b;
}
#tray {
background-color: #2980b9;
}
#tray > .passive {
-gtk-icon-effect: dim;
}
#tray > .needs-attention {
-gtk-icon-effect: highlight;
background-color: #eb4d4b;
}
#idle_inhibitor {
background-color: #2d3436;
}
@keyframes idle_blink {
0% {
background-color: #ffffff;
}
80% {
background-color: #ffffff;
}
100% {
background-color: #FF0000;
}
}
#idle_inhibitor.activated {
/*background-color: #ecf0f1;
color: #2d3436;*/
background-color: #ffffff;
color: #2d3436;
animation: idle_blink 2s infinite;
animation-name: idle_blink;
animation-duration: 5.0s;
animation-timing-function: steps(64);
animation-iteration-count: infinite;
animation-direction: alternate;
}
#mpd {
background-color: #66cc99;
color: #2a5c45;
}
#mpd.disconnected {
background-color: #f53c3c;
}
#mpd.stopped {
background-color: #90b1b1;
}
#mpd.p000000{
background-color: #51a37a;
}
#keyboard-state {
background: #97e1ad;
color: #000000;
padding: 0 0px;
margin: 0 5px;
min-width: 16px;
}
#language {
background: #2980b9;
color: #ffffff;
padding: 0 5px;
min-width: 16px;
}
#keyboard-state > label {
padding: 0 5px;
}
#keyboard-state > label.locked {
background: rgba(0, 0, 0, 0.2);
}
#scratchpad {
background: rgba(0, 0, 0, 0.2);
}
#scratchpad.empty {
background-color: transparent;
}
#privacy {
padding:0000}
#privacy-item {
padding: 0 5px;
color: white;
}
#privacy-item.screenshare {
background-color: #cf5700;
}
#privacy-item.audio-in {
background-color: #1ca000;
}
#privacy-item.audio-out {
background-color: #0069d4;
}

View File

@@ -1,17 +1,54 @@
* {
/* `otf-font-awesome` is required to be installed for icons */
font-family: Iosevka, Roboto, Helvetica, Arial, sans-serif;
font-family: "Iosevka Nerd Font";
font-size: 15px;
}
window#waybar {
/*
background-color: rgba(23, 28, 39, 0.8);
border-bottom: 3px solid rgba(90, 104, 115, 0.5);
*/
background-color: transparent;
color: #ffffff;
transition-property: background-color;
transition-duration: .5s;
}
.modules-left, .modules-right, #mpd.playing, #mpd.paused {
background: linear-gradient(
to bottom,
rgba(23, 28, 39, 0.8),
rgba(23, 28, 39, 0.7)
);
border: 3px solid rgba(90, 104, 115, 0.8);
border-top: none;
}
.modules-left {
border-left: none;
border-radius: 0 0 10px 0;
}
.modules-right {
border-right: none;
border-radius: 0 0 0 10px;
}
#mpd.stopped {
border: none;
border-radius: 0 0 10px 10px;
transition-property: background-color;
transition-duration: 2s;
}
#mpd.playing, #mpd.paused {
border-radius: 0 0 10px 10px;
transition-property: background-color;
transition-duration: 2s;
}
window#waybar.hidden {
opacity: 0.2;
}
@@ -123,11 +160,9 @@ button:hover {
@keyframes hover {
0% {
background: rgba(0, 0, 0, 0);
color: #ffffff;
}
100% {
background: rgba(0, 0, 0, 0.2);
color: #E96375;
}
}
@@ -147,13 +182,19 @@ button:hover {
#mode:hover,
#idle_inhibitor:hover,
#scratchpad:hover,
#power-profiles-daemon:hover,
#mpd:hover {
#power-profiles-daemon:hover
{
color: #E96375;
background: rgba(0, 0, 0, 0.2);
animation: hover 0.2s 1;
}
#mpd:hover
{
color: #E96375;
animation: hover 0.2s 1;
}
#window,
#workspaces {
margin: 0 4px;
@@ -261,7 +302,6 @@ label:focus {
}
#pulseaudio.muted {
color: #2a5c45;
}
#wireplumber {
@@ -272,7 +312,6 @@ label:focus {
}
#custom-media {
color: #2a5c45;
min-width: 100px;
}
@@ -363,9 +402,6 @@ label:focus {
}
}
#mpd {
}
#mpd.disconnected {
}
@@ -431,8 +467,8 @@ label:focus {
#custom-media,
#mode,
#idle_inhibitor,
#scratchpad,
#mpd {
#scratchpad
{
padding: 0 10px;
background-color: transparent;
color: #ffffff;

View File

@@ -22,6 +22,7 @@ alias rmnt="ranger /mnt"
alias bai="disown && exit"
alias code="codium . & disown && exit"
alias muza="~/.config/hypr/scripts/muza.sh"
alias ruza="~/.config/hypr/scripts/muza.sh rmpc"
alias brup="brightnessctl s 5000+"
alias brdn="brightnessctl s 5000-"
alias q="sudo loadkeys qwerty"
@@ -33,13 +34,14 @@ alias blu="bluetuith"
alias lyns="lynx https://duckduckgo.com"
alias chat="input=\$(whiptail --inputbox 'What do you want from ChatGPT today?' 20 50 '' 3>&1 1>&2 2>&3) && echo \$input | /home/greg/.go/bin/tgpt | less"
alias prevsus=".config/bspwm/prevent_suspend.sh"
alias wgu="wg-quick up gus_wg"
alias wgd="wg-quick down gus_wg"
alias wgu="sudo wg-quick up gus_wg"
alias wgd="sudo wg-quick down gus_wg"
alias ii="curl ifconfig.me"
alias tresh="gio trash"
alias cumseq="exec ~/.config/bspwm/sxseq.sh"
alias clear-recent="rm ~/.local/share/recently-used.xbel"
alias ttach='tmux attach'
alias clear-thumbs="rm -r ~/.cache/thumbnails/xx-large/* && rm -r ~/.cache/thumbnails/normal/*"
alias tach='tmux attach'
alias www='lynx lite.duckduckgo.com/lite'
alias noauto="touch /tmp/startup_completed"
alias camon="sudo modprobe uvcvideo"
@@ -53,8 +55,10 @@ alias weather="weather-Cli get Moscow"
alias weatherbal="weather-Cli get Balashikha"
alias eladio_radio="ssh eladio systemctl --user restart ffmpeg-hls.service"
alias peace="clear && fastfetch -c ~/.config/fastfetch/sakura_v2.jsonc"
alias neofetch="fastfetch -c /usr/share/fastfetch/presets/neofetch.jsonc"
alias pp1="powerprofilesctl set power-saver"
alias pp2="powerprofilesctl set balanced"
alias pp3="powerprofilesctl set performance"
alias vi="nvim"
# alias vi="nvim"
alias vim="nvim"
alias pentagon="~/Dev/Appimages/edexui.AppImage"