latest user config

This commit is contained in:
nevaforget 2024-09-13 14:28:50 +02:00
parent cdcaee5943
commit 2f402fe686
59 changed files with 2336 additions and 670 deletions

1
TODO.md Normal file
View File

@ -0,0 +1 @@
- move volnote / capsnote to usr

View File

@ -0,0 +1,2 @@
#!/bin/sh
alacritty --config-file $HOME/.config/alacritty/alacritty-bg.toml --class "alacritty-bg" -e /home/dom/.config/alacritty/cava

View File

@ -0,0 +1,4 @@
[window]
decorations = "None"
dynamic_padding = false
opacity = 0.0

View File

@ -13,19 +13,19 @@ dynamic_title = true
size = 11.0 size = 11.0
[font.bold] [font.bold]
family = "Hack Nerd Font" family = "JetBrainsMono Nerd Font"
style = "Bold" style = "Bold"
[font.bold_italic] [font.bold_italic]
family = "Hack Nerd Font" family = "JetBrainsMono Nerd Font"
style = "Bold Italic" style = "Bold Italic"
[font.italic] [font.italic]
family = "Hack Nerd Font" family = "JetBrainsMono Nerd Font"
style = "Italic" style = "Italic"
[font.normal] [font.normal]
family = "Hack Nerd Font" family = "JetBrainsMono Nerd Font"
style = "Regular" style = "Regular"
[keyboard] [keyboard]
@ -33,3 +33,8 @@ bindings = [
{ key = "Return", mods = "Control|Shift", action = "SpawnNewInstance" } #ctrl + shift + enter = open new instance in same dir { key = "Return", mods = "Control|Shift", action = "SpawnNewInstance" } #ctrl + shift + enter = open new instance in same dir
] ]
[cursor]
style = "Beam"
[mouse]
hide_when_typing = true

2
home/config/alacritty/cava Executable file
View File

@ -0,0 +1,2 @@
#!/bin/sh
sleep 1 && cava

View File

@ -50,7 +50,7 @@ graph_symbol_net = "default"
graph_symbol_proc = "default" graph_symbol_proc = "default"
#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace. #* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
shown_boxes = "cpu mem net proc" shown_boxes = "cpu proc"
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs. #* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
update_ms = 2000 update_ms = 2000
@ -110,7 +110,7 @@ cpu_invert_lower = True
cpu_single_graph = False cpu_single_graph = False
#* Show cpu box at bottom of screen instead of top. #* Show cpu box at bottom of screen instead of top.
cpu_bottom = False cpu_bottom = True
#* Shows the system uptime in the CPU box. #* Shows the system uptime in the CPU box.
show_uptime = True show_uptime = True

View File

@ -48,10 +48,10 @@ xinerama_head = 2,
--Textual --Textual
format_human_readable = true, -- KiB, MiB rather then number of bytes format_human_readable = true, -- KiB, MiB rather then number of bytes
font = 'Hack Nerd Font:normal:size=10', -- the default font used font = 'JetBrainsMono Nerd Font:normal:size=10', -- the default font used
font2 = 'Hack Nerd Font:bold:size=24', -- font for the time font2 = 'JetBrainsMono Nerd Font:bold:size=24', -- font for the time
font3 = 'Hack Nerd Font:size=14', -- font for the date font3 = 'JetBrainsMono Nerd Font:size=14', -- font for the date
font4 = 'Hack Nerd Font:bold:size=9', -- font for the keybindings heading font4 = 'JetBrainsMono Nerd Font:bold:size=9', -- font for the keybindings heading
font5 = 'MonarchOS:bold:size=16', -- font for the keybindings heading font5 = 'MonarchOS:bold:size=16', -- font for the keybindings heading
max_text_width = 0, -- 0 will make sure line does not get broken if width too smal max_text_width = 0, -- 0 will make sure line does not get broken if width too smal
max_user_text = 16384, -- max text in conky default 16384 max_user_text = 16384, -- max text in conky default 16384

View File

@ -32,10 +32,10 @@
#height = 300 #height = 300
# Position the notification in the top right corner # Position the notification in the top right corner
origin = top-center origin = top-right
# Offset from the origin # Offset from the origin
offset = 20x40 offset = 10x10
# Scale factor. It is auto-detected if value is 0. # Scale factor. It is auto-detected if value is 0.
scale = 0 scale = 0
@ -62,7 +62,7 @@
# Set the maximum width for the progress bar # Set the maximum width for the progress bar
progress_bar_max_width = 300 progress_bar_max_width = 300
highlight = "#b4befe" highlight = "#313244"
# Show how many messages are currently hidden (because of # Show how many messages are currently hidden (because of
# notification_limit). # notification_limit).
@ -93,7 +93,7 @@
frame_width = 2 frame_width = 2
# Defines color of the frame around the notification window. # Defines color of the frame around the notification window.
frame_color = "#11111b" frame_color = "#313244"
# Size of gap to display between notifications - requires a compositor. # Size of gap to display between notifications - requires a compositor.
# If value is greater than 0, separator_height will be ignored and a border # If value is greater than 0, separator_height will be ignored and a border
@ -121,7 +121,7 @@
### Text ### ### Text ###
font = Hack Nerd Font 10 font = JetBrainsMono Nerd Font 10
# The spacing between lines. If the height is smaller than the # The spacing between lines. If the height is smaller than the
# font height, it will get raised to the font height. # font height, it will get raised to the font height.
@ -199,7 +199,7 @@
enable_recursive_icon_lookup = true enable_recursive_icon_lookup = true
# Set icon theme (only used for recursive icon lookup) # Set icon theme (only used for recursive icon lookup)
icon_theme = "Flatery-Dark" icon_theme = "Tela-purple-dark"
# You can also set multiple icon themes, with the leftmost one being used first. # You can also set multiple icon themes, with the leftmost one being used first.
# icon_theme = "Adwaita, breeze" # icon_theme = "Adwaita, breeze"
@ -215,7 +215,7 @@
max_icon_size = 64 max_icon_size = 64
# Paths to default icons (only neccesary when not using recursive icon lookup) # Paths to default icons (only neccesary when not using recursive icon lookup)
icon_path = /usr/share/icons/Flatery-Dark/16x16/status/:/usr/share/icons/Flatery-Dark/16x16/devices/ #icon_path = /usr/share/icons/Tela-purple-dark/16x16/status/:/usr/share/icons/Tela-purple-dark/16x16/devices/
### History ### ### History ###
@ -311,21 +311,21 @@
[urgency_low] [urgency_low]
# IMPORTANT: colors have to be defined in quotation marks. # IMPORTANT: colors have to be defined in quotation marks.
# Otherwise the "#" and following would be interpreted as a comment. # Otherwise the "#" and following would be interpreted as a comment.
background = "#181825" background = "#11111b"
foreground = "#CDD6F4" foreground = "#CDD6F4"
timeout = 10 timeout = 10
# Icon for notifications with low urgency, uncomment to enable # Icon for notifications with low urgency, uncomment to enable
#default_icon = /path/to/icon #default_icon = /path/to/icon
[urgency_normal] [urgency_normal]
background = "#181825" background = "#11111b"
foreground = "#CDD6F4" foreground = "#CDD6F4"
timeout = 10 timeout = 10
# Icon for notifications with normal urgency, uncomment to enable # Icon for notifications with normal urgency, uncomment to enable
#default_icon = /path/to/icon #default_icon = /path/to/icon
[urgency_critical] [urgency_critical]
background = "#181825" background = "#313244"
foreground = "#CDD6F4" foreground = "#CDD6F4"
frame_color = "#eba0ac" frame_color = "#eba0ac"
timeout = 60 timeout = 60

View File

@ -0,0 +1,136 @@
// Load with --load-config examples/2.jsonc
// Note that you must replace the image path to an existing image to display it.
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"logo": {
"type": "none"
},
"display": {
"separator": " -> ",
"constants": [
"──────────────────────────────"
],
"key": {
"paddingLeft": 2
}
},
"modules": [
{
"type": "custom",
"format": "┌{$1}{$1}┐",
"outputColor": "90"
},
{
"type": "title",
"keyWidth": 10
},
{
"type": "custom",
"format": "└{$1}{$1}┘",
"outputColor": "90"
},
{
"type": "custom",
"format": " {#90} {#31} {#32} {#33} {#34} {#35} {#36} {#37} {#38} {#39}  {#38} {#37} {#36} {#35} {#34} {#33} {#32} {#31} {#90}"
},
{
"type": "custom",
"format": "┌{$1}{$1}┐",
"outputColor": "90"
},
{
"type": "os",
"key": "{icon} OS",
"keyColor": "yellow"
},
{
"type": "kernel",
"key": "│ ├",
"keyColor": "yellow"
},
{
"type": "packages",
"key": "│ ├󰏖",
"keyColor": "yellow"
},
{
"type": "shell",
"key": "│ └",
"keyColor": "yellow"
},
{
"type": "wm",
"key": " DE/WM",
"keyColor": "blue"
},
{
"type": "wmtheme",
"key": "│ ├󰉼",
"keyColor": "blue"
},
{
"type": "terminal",
"key": "│ ├",
"keyColor": "blue"
},
{
"type": "wallpaper",
"key": "│ └󰸉",
"keyColor": "blue"
},
{
"type": "host",
"key": "󰌢 PC",
"keyColor": "green"
},
{
"type": "cpu",
"key": "│ ├󰻠",
"keyColor": "magenta"
},
{
"type": "gpu",
"key": "│ ├󰍛",
"keyColor": "magenta"
},
{
"type": "disk",
"key": "│ ├",
"keyColor": "green"
},
{
"type": "memory",
"key": "│ ├󰑭",
"keyColor": "green"
},
{
"type": "uptime",
"key": "│ ├󰅐",
"keyColor": "green"
},
{
"type": "sound",
"key": " SND",
"keyColor": "cyan"
},
{
"type": "player",
"key": "│ ├󰥠",
"keyColor": "cyan"
},
{
"type": "media",
"key": "│ └󰝚",
"keyColor": "cyan"
},
{
"type": "custom",
"format": "└{$1}{$1}┘",
"outputColor": "90"
}
]
}

View File

@ -1,6 +1,6 @@
[Settings] [Settings]
gtk-theme-name=Catppuccin-Mocha-Standard-Lavender-Dark gtk-theme-name=catppuccin-mocha-lavender-standard+default
gtk-icon-theme-name=Flatery-Dark gtk-icon-theme-name=Tela-circle-purple-dark
gtk-font-name=Hack Nerd Font 11 gtk-font-name=Hack Nerd Font 11
gtk-cursor-theme-name=Sweet-cursors gtk-cursor-theme-name=Sweet-cursors
gtk-cursor-theme-size=24 gtk-cursor-theme-size=24

View File

@ -3,21 +3,24 @@
# See https://wiki.hyprland.org/Configuring/Keywords/ for more # See https://wiki.hyprland.org/Configuring/Keywords/ for more
# Execute your favorite apps at launch # Execute your favorite apps at launch
exec-once = hyprctl plugin load /usr/lib/libhycov.so #exec-once = hyprctl plugin load /usr/lib/libhycov.so
exec-once = hyprpm reload -n
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = ~/.config/hypr/xdg-portal-hyprland exec-once = ~/.config/hypr/xdg-portal-hyprland
exec-once = lxpolkit #exec-once = lxpolkit
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec-once = waypaper --restore exec-once = waypaper --restore
exec-once = waybar exec-once = waybar
# exec-once = dunst exec-once = dunst
exec-once = swayosd-server # exec-once = swayosd-server
exec-once = swaync # exec-once = swaync
exec-once = wl-paste --watch cliphist store #Stores only text data exec-once = wl-paste --watch cliphist store #Stores only text data
exec-once = wl-paste --type image --watch cliphist store #Stores only image data exec-once = wl-paste --type image --watch cliphist store #Stores only image data
exec-once = hypridle exec-once = hypridle
exec-once = xdg-mime default pcmanfm.desktop inode/directory # exec-once = sway-audio-idle-inhibit
#exec-once = xdg-mime default pcmanfm.desktop inode/directory

View File

@ -1,18 +1,7 @@
# █▀▄ █▀▀ █▀▀ █▀█ █▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
# █▄▀ ██▄ █▄▄ █▄█ █▀▄ █▀█ ░█░ █ █▄█ █░▀█
decoration { decoration {
# See https://wiki.hyprland.org/Configuring/Variables/ for more # See https://wiki.hyprland.org/Configuring/Variables/ for more
rounding = 5 rounding = 10
# █▄▄ █░░ █░█ █▀█
# █▄█ █▄▄ █▄█ █▀▄
#blur = true
#blur_size = 3
#blur_passes = 1
#blur_new_optimizations = true
blur { blur {
enabled = true enabled = true
@ -24,22 +13,12 @@ decoration {
noise = 0.0117 noise = 0.0117
contrast = 0.8916 contrast = 0.8916
brightness = 0.8172 brightness = 0.8172
#vibrancy = 0.1696
# vibrancy_darkness = 0
special = false special = false
} }
# █▀█ █▀█ ▄▀█ █▀▀ █ ▀█▀ █▄█
# █▄█ █▀▀ █▀█ █▄▄ █ ░█░ ░█░
active_opacity=1.00 active_opacity=1.00
inactive_opacity=1.00 inactive_opacity=1.00
#fullscreen_opacity=1.05
#dim_inactive=0
#dim_strength=0.2
# dim_around=0.5
# █▀ █░█ ▄▀█ █▀▄ █▀█ █░█░█
# ▄█ █▀█ █▀█ █▄▀ █▄█ ▀▄▀▄▀
drop_shadow = true drop_shadow = true
shadow_range = 4 shadow_range = 4
shadow_render_power = 3 shadow_render_power = 3

View File

@ -1,15 +1,12 @@
# █▀▄▀█ █▀█ █▄░█ █ ▀█▀ █▀█ █▀█
# █░▀░█ █▄█ █░▀█ █ ░█░ █▄█ █▀▄
# See https://wiki.hyprland.org/Configuring/Monitors/ # See https://wiki.hyprland.org/Configuring/Monitors/
monitor=HDMI-A-1,2560x1440@144,0x0,1 monitor=HDMI-A-1,2560x1440@144,0x0,1
monitor=DP-2,preferred,2560x0,1 monitor=DP-3,preferred,2560x0,1
# monitor=DP-3, disabled
monitor=,preferred,auto,1 monitor=,preferred,auto,1
workspace = HDMI-A-1, 1 workspace=1, monitor:HDMI-A-1
workspace = HDMI-A-1, 2 workspace=2, monitor:HDMI-A-1
workspace = HDMI-A-1, 3 workspace=3, monitor:HDMI-A-1
workspace = DP-2, 4 workspace=4, monitor:DP-3
workspace = DP-2, 5 workspace=5, monitor:DP-3
workspace = DP-2, 6 workspace=6, monitor:DP-3

View File

@ -0,0 +1,12 @@
#env = XCURSOR_SIZE,24
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_DESKTOP,Hyprland
env = WINDOW_MANAGER,Hyprland
env = XDG_SESSION_TYPE,wayland
env = QT_QPA_PLATFORMTHEME,qt6ct # change to qt6ct if you have that
#env = GTK_THEME,Catppuccin-Mocha-Standard-Lavender-Dark
env = LANG,de_DE.UTF-8
env = EDITOR,"nvim"
env = SUDO_EDITOR,"nvim"
env = MOZ_ENABLE_WAYLAND,1

View File

@ -1,6 +1,3 @@
# █▀▀ █▀▀ █▄░█ █▀▀ █▀█ ▄▀█ █░░
# █▄█ ██▄ █░▀█ ██▄ █▀▄ █▀█ █▄▄
general { general {
# See https://wiki.hyprland.org/Configuring/Variables/ for more # See https://wiki.hyprland.org/Configuring/Variables/ for more
@ -14,5 +11,5 @@ general {
resize_on_border = true resize_on_border = true
no_cursor_warps = true #no_cursor_warps = true
} }

View File

@ -1,5 +1,3 @@
# █ █▄░█ █▀█ █░█ ▀█▀
# █ █░▀█ █▀▀ █▄█ ░█░
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ # For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input { input {
kb_layout = de kb_layout = de
@ -21,9 +19,6 @@ input {
sensitivity = 0 # -1.0 - 1.0, 0 means no modification. sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
} }
# █▀▀ █▀▀ █▀ ▀█▀ █░█ █▀█ █▀▀ █▀
# █▄█ ██▄ ▄█ ░█░ █▄█ █▀▄ ██▄ ▄█
gestures { gestures {
# See https://wiki.hyprland.org/Configuring/Variables/ for more # See https://wiki.hyprland.org/Configuring/Variables/ for more
workspace_swipe = false workspace_swipe = false

View File

@ -1,13 +1,10 @@
# █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄
# █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀
# See https://wiki.hyprland.org/Configuring/Keywords/ for more # See https://wiki.hyprland.org/Configuring/Keywords/ for more
$mainMod = SUPER $mainMod = SUPER
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
#bind = $mainMod, RETURN, exec, kitty #bind = $mainMod, RETURN, exec, kitty
bind = $mainMod, RETURN, exec, alacritty bind = $mainMod, RETURN, exec, $terminal
bind = $mainMod, TAB, cyclenext #bind = $mainMod, TAB, cyclenext
bind = $mainMod SHIFT, TAB, cyclenext, prev bind = $mainMod SHIFT, TAB, cyclenext, prev
#bind = $mainMod, M, exit, #bind = $mainMod, M, exit,
bind = $mainMod, A, exec, pkill rofi || ~/.config/rofi/volume/volume.sh bind = $mainMod, A, exec, pkill rofi || ~/.config/rofi/volume/volume.sh
@ -22,13 +19,13 @@ bind = $mainMod, R, exec, pkill rofi || ~/.config/rofi/launcher/launcher.sh run
bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, Q, killactive, bind = $mainMod, Q, killactive,
bind = $mainMod, S, togglesplit, # dwindle bind = $mainMod, S, togglesplit, # dwindle
bind = $mainMod, T, exec, pkill rofi || rofi -show fb -modes "fb:~/.config/rofi/settings-menu/setmen.sh" -theme $HOME/.config/rofi/settings-menu/settings-menu.rasi
bind = $mainMod, U, exec, $HOME/.config/conky/conkytoggler bind = $mainMod, U, exec, $HOME/.config/conky/conkytoggler
bind = $mainMod, V, togglefloating, bind = $mainMod, V, togglefloating,
bind = $mainMod, SPACE, exec, pkill rofi || ~/.config/rofi/launcher/launcher.sh bind = $mainMod, SPACE, exec, pkill rofi || ~/.config/rofi/launcher/launcher.sh
# bind = $mainMod, T, exec, pkill rofi || ~/.config/rofi/settings-menu/settings-menu.sh # bind = $mainMod, T, exec, pkill rofi || ~/.config/rofi/settings-menu/settings-menu.sh
bind = $mainMod, T, exec, pkill rofi || rofi -show fb -modes "fb:~/.config/rofi/settings-menu/setmen.sh" -theme $HOME/.config/rofi/settings-menu/settings-menu.rasi
bind = $mainMod, F4, exec, wlogout -P 1 -s -r 10 -c 10 bind = $mainMod, F4, exec, wlogout -P 1 -s -r 10 -c 10
bind = $mainMod, escape, exec, killall -SIGUSR1 waybar bind = $mainMod, escape, exec, killall -SIGUSR1
# Move focus with mainMod # Move focus with mainMod
bind = $mainMod, H, movefocus, l bind = $mainMod, H, movefocus, l
@ -76,8 +73,8 @@ bindm = $mainMod, mouse:273, resizewindow
#bind = ALT, TAB, exec, pkill rofi || ~/.config/rofi/launcher/launcher.sh window #bind = ALT, TAB, exec, pkill rofi || ~/.config/rofi/launcher/launcher.sh window
bind = ALT,W, exec, killall waybar && waybar & bind = ALT,W, exec, killall waybar && waybar &
#bind = ALT,tab,hycov:toggleoverview bind = $mainMod,tab,hycov:toggleoverview
bind = ALT,tab,exec, pkill rofi || rofi -show window -theme $HOME/.config/rofi/app-switcher/app-switcher.rasi #bind = $mainMod,tab,exec, pkill rofi || rofi -show window -theme $HOME/.config/rofi/app-switcher/app-switcher.rasi
#bind = $mainMod, L, exec, swaync-client -t -sw #bind = $mainMod, L, exec, swaync-client -t -sw
#bind = $mainMod, K, exec, xkill #bind = $mainMod, K, exec, xkill
@ -93,48 +90,39 @@ bind = CTRL ALT, DELETE, exec, alacritty -t "BTOP" -e btop -p 1
# MODKEYS # MODKEYS
# SPECIAL MODKEYS # SPECIAL MODKEYS
# binde = ,XF86AudioRaiseVolume, exec, /home/dom/.local/bin/volnote up binde = ,XF86AudioRaiseVolume, exec, /home/dom/.local/bin/volnote up
# binde = $mainMod, KP_Add, exec, /home/dom/.local/bin/volnote up binde = $mainMod, Page_Up, exec, /home/dom/.local/bin/volnote up
# binde = $mainMod, Page_Up, exec, /home/dom/.local/bin/volnote up
# binde = ,XF86AudioLowerVolume, exec, /home/dom/.local/bin/volnote down binde = ,XF86AudioLowerVolume, exec, /home/dom/.local/bin/volnote down
# binde = $mainMod, KP_Subtract, exec, /home/dom/.local/bin/volnote down binde = $mainMod, Page_Down, exec, /home/dom/.local/bin/volnote down
# binde = $mainMod, Page_Down, exec, /home/dom/.local/bin/volnote down
binde = ,XF86AudioMute, exec, /home/dom/.local/bin/volnote mute
binde = ,XF86MonBrightnessUp, exec, swayosd --brightness raise
binde = ,XF86MonBrightnessDown, exec, swayosd --brightness lower
# binde = ,XF86AudioMute, exec, /home/dom/.local/bin/volnote mute
# binde = ,XF86MonBrightnessUp, exec, swayosd --brightness raise
# binde = ,XF86MonBrightnessDown, exec, swayosd --brightness lower
binde = ,XF86AudioPlay, exec, /home/dom/.local/bin/volnote toggle binde = ,XF86AudioPlay, exec, /home/dom/.local/bin/volnote toggle
binde = ,XF86AudioStop, exec, playerctl stop binde = ,XF86AudioStop, exec, playerctl stop
binde = ,XF86AudioPrev, exec, playerctl prev binde = ,XF86AudioPrev, exec, playerctl prev
binde = ,XF86AudioNext, exec, playerctl next binde = ,XF86AudioNext, exec, playerctl next
bindr = CAPS, Caps_Lock, exec, /home/dom/.local/bin/capsnote
# OSD (swayosd) # OSD (swayosd)
binde = ,XF86AudioRaiseVolume, exec, swayosd-client --output-volume raise # binde = ,XF86AudioRaiseVolume, exec, swayosd-client --output-volume raise
binde = $mainMod, KP_Add, exec, swayosd-client --output-volume raise # binde = $mainMod, KP_Add, exec, swayosd-client --output-volume raise
binde = $mainMod, Page_Up, exec, swayosd-client --output-volume raise # binde = $mainMod, Page_Up, exec, swayosd-client --output-volume raise
binde = ,XF86AudioLowerVolume, exec, swayosd-client --output-volume lower # binde = ,XF86AudioLowerVolume, exec, swayosd-client --output-volume lower
binde = $mainMod, KP_Subtract, exec, swayosd-client --output-volume lower # binde = $mainMod, KP_Subtract, exec, swayosd-client --output-volume lower
binde = $mainMod, Page_Down, exec, swayosd-client --output-volume lower # binde = $mainMod, Page_Down, exec, swayosd-client --output-volume lower
binde = ,XF86AudioMute, exec, swayosd-client --output-volume mute-toggle # binde = ,XF86AudioMute, exec, swayosd-client --output-volume mute-toggle
binde = ,XF86MonBrightnessUp, exec, swayosd --brightness raise # binde = ,XF86MonBrightnessUp, exec, swayosd --brightness raise
binde = ,XF86MonBrightnessDown, exec, swayosd --brightness lower # binde = ,XF86MonBrightnessDown, exec, swayosd --brightness lower
bindr = CAPS, Caps_Lock, exec, swayosd --caps-lock # bindr = CAPS, Caps_Lock, exec, swayosd --caps-lock

View File

@ -1,5 +1,3 @@
# █▀▄ █░█░█ █ █▄░█ █▀▄ █░░ █▀▀
# █▄▀ ▀▄▀▄▀ █ █░▀█ █▄▀ █▄▄ ██▄
dwindle { dwindle {
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below

View File

@ -1,6 +1,3 @@
# █▀▄▀█ █ █▀ █▀▀
# █░▀░█ █ ▄█ █▄▄
misc { misc {
disable_hyprland_logo=true disable_hyprland_logo=true
disable_splash_rendering=false disable_splash_rendering=false

View File

@ -16,10 +16,30 @@ plugin {
only_active_workspace = 0 # only overview the active workspace only_active_workspace = 0 # only overview the active workspace
only_active_monitor = 0 # only overview the active monitor only_active_monitor = 0 # only overview the active monitor
enable_alt_release_exit = 1 # alt swith mode arg,see readme for detail enable_alt_release_exit = 1 # alt swith mode arg,see readme for detail
alt_replace_key = Alt_L # alt swith mode arg,see readme for detail alt_replace_key = Super_L # alt swith mode arg,see readme for detail
alt_toggle_auto_next = 1 # auto focus next window when toggle overview in alt swith mode alt_toggle_auto_next = 1 # auto focus next window when toggle overview in alt swith mode
click_in_cursor = 1 # when click to jump,the target windwo is find by cursor, not the current foucus window. click_in_cursor = 1 # when click to jump,the target windwo is find by cursor, not the current foucus window.
hight_of_titlebar = 0 # height deviation of title bar hight hight_of_titlebar = 0 # height deviation of title bar hight
} }
hyprbars {
# example config
bar_height = 30
bar_text_size = 9
# example buttons (R -> L)
# hyprbars-button = color, size, on-click
hyprbars-button = rgb(7f849c), 16, 󰖭, hyprctl dispatch killactive
bar_precedence_over_border = false
}
hyprexpo {
columns = 3
gap_size = 10
bg_col = rgb(111111)
workspace_method = first 1# [center/first] [workspace] e.g. first 1 or center m+1
enable_gesture = true # laptop touchpad, 4 fingers
gesture_distance = 300 # how far is the "max"
gesture_positive = true # positive = swipe down. Negative = swipe up.
}
} }

View File

@ -1,11 +1,13 @@
# █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█   █▀█ █░█ █░░ █▀▀ █▀
# ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀   █▀▄ █▄█ █▄▄ ██▄ ▄█
# Example windowrule v1 # Example windowrule v1
# windowrule = float, ^(kitty)$ # windowrule = float, ^(kitty)$
# Example windowrule v2 # Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
windowrule = idleinhibit fullscreen,^(.*)$
windowrule = idleinhibit focus, mpv
windowrule = idleinhibit focus, class:^(.*celluloid.*)$
# firefox Picture-in-Picture # firefox Picture-in-Picture
windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$ windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$
windowrulev2 = pin,class:^(firefox)$,title:^(Picture-in-Picture)$ windowrulev2 = pin,class:^(firefox)$,title:^(Picture-in-Picture)$
@ -23,12 +25,15 @@ windowrule = float,title:^(Choose Files)$
windowrule = float,title:^(Save As)$ windowrule = float,title:^(Save As)$
windowrule = float,title:^(Confirm to replace files)$ windowrule = float,title:^(Confirm to replace files)$
windowrule = float,title:^(Ersetzung bestätigen)$ windowrule = float,title:^(Ersetzung bestätigen)$
windowrule = float,title:^(Kopieren von Dateien)$
windowrule = float,title:^(Anrufe)$ windowrule = float,title:^(Anrufe)$
windowrule = float,title:^(Datei ausführen)$ windowrule = float,title:^(Datei ausführen)$
windowrule = float,title:^(File Operation Progress)$ windowrule = float,title:^(File Operation Progress)$
windowrule = float,title:^(Teilen-Hinweis)$ windowrule = float,title:^(Teilen-Hinweis)$
windowrule = float,title:^(Lxpolkit)$ windowrule = float,title:^(Lxpolkit)$
windowrule = float,title:^(Timeshift-gtk)$ windowrule = float,title:^(Timeshift-gtk)$
windowrule = float,title:^(galculator)$
windowrule = float,title:^(Dateien entpacken)$
windowrulev2 = float,class:^(nm-connection-editor)$ windowrulev2 = float,class:^(nm-connection-editor)$
windowrulev2 = float,class:^(sddm-conf)$ windowrulev2 = float,class:^(sddm-conf)$
windowrule = float, mpv windowrule = float, mpv
@ -46,13 +51,14 @@ windowrule = float, title:branchdialog
windowrule = float, Lxappearance windowrule = float, Lxappearance
windowrule = float, Resources windowrule = float, Resources
windowrule = float, Rofi windowrule = float, Rofi
windowrule = float,viewnior windowrule = float, class:Viewnior
windowrule = float,feh windowrule = float,feh
windowrule = float, pavucontrol-qt windowrule = float, pavucontrol-qt
windowrule = float, pavucontrol windowrule = float, pavucontrol
windowrule = float, file-roller windowrule = float, file-roller
windowrule = idleinhibit focus, mpv windowrule = float, xarchiver
windowrule = idleinhibit fullscreen, firefox windowrulev2 = stayfocused, class:^(pinentry-) # fix pinentry losing focus
windowrule = float, title:^(Media viewer)$ windowrule = float, title:^(Media viewer)$
windowrule = float, title:^(Volume Control)$ windowrule = float, title:^(Volume Control)$
@ -64,6 +70,7 @@ windowrule = float, title:^(Picture-in-Picture)$
windowrule = size 800 600, title:^(Volume Control)$ windowrule = size 800 600, title:^(Volume Control)$
windowrule = move 75 44%, title:^(Volume Control)$ windowrule = move 75 44%, title:^(Volume Control)$
windowrulev2 = opacity 0.3 override 0.3 override 0.3 override,class:^(alacritty-bg)$
windowrulev2 = float,class:^(Conky)$ windowrulev2 = float,class:^(Conky)$
windowrulev2 = nofocus,class:^(Conky)$ windowrulev2 = nofocus,class:^(Conky)$
windowrulev2 = pin,class:^(Conky)$ windowrulev2 = pin,class:^(Conky)$
@ -100,3 +107,13 @@ windowrule = fullscreen,title:^(Default - Wine desktop)$
#layerrule = blur,rofi #layerrule = blur,rofi
#windowrule = blur, title:^(kitty)$ #windowrule = blur, title:^(kitty)$
windowrule = float, title:^(Alacritty)$
windowrule = center, title:^(Alacritty)$
windowrule = float, title:^(FontManager)$
windowrule = center, title:^(FontManager)$
windowrule = float, title:^(Celluloid)$
windowrule = center, title:^(Celluloid)$

View File

@ -1,7 +1,9 @@
general { general {
lock_cmd = hyprlock lock_cmd = hyprlock
unlock_cmd = notify-send "Welcome back!"
before_sleep_cmd = hyprctl dispatch dpms on before_sleep_cmd = hyprctl dispatch dpms on
after_sleep_cmd = hyprctl dispatch dpms off after_sleep_cmd = hyprctl dispatch dpms off
ignore_dbus_inhibit = false
} }
listener { listener {

View File

@ -1,16 +1,9 @@
# Set programs that you use # Set programs that you use
$terminal = alacritty $terminal = alacritty
$fileManager = pcmanfm
$menu = rofi
#env = XCURSOR_SIZE,24
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_DESKTOP,Hyprland
env = WINDOW_MANAGER,Hyprland
env = XDG_SESSION_TYPE,wayland
env = QT_QPA_PLATFORMTHEME,qt6ct # change to qt6ct if you have that
#env = GTK_THEME,Catppuccin-Mocha-Standard-Lavender-Dark
source = ~/.config/hypr/hl-env.conf
source = ~/.config/hypr/hl-displays.conf source = ~/.config/hypr/hl-displays.conf
source = ~/.config/hypr/hl-autostart.conf source = ~/.config/hypr/hl-autostart.conf
source = ~/.config/hypr/hl-general.conf source = ~/.config/hypr/hl-general.conf

View File

@ -1,6 +1,8 @@
general { general {
ignore_empty_input = true
hide_cursor = true
grace = 5
} }
background { background {
@ -25,16 +27,37 @@ background {
} }
image {
monitor =
path = ~/.face
size = 100 # lesser side if not 1:1 ratio
rounding = -1 # negative values mean circle
border_size = 2
border_color = rgba(186, 194, 222, 1)
rotate = 0 # degrees, counter-clockwise
reload_time = -1 # seconds between reloading, 0 to reload with SIGUSR2
reload_cmd = # command to get new path. if empty, old path will be used. don't run "follow" commands like tail -F
position = 0, 200
halign = center
valign = center
}
label { label {
monitor = monitor =
text = $TIME text = $TIME
color = rgba(200, 200, 200, 1.0) color = rgba(200, 200, 200, 1.0)
font_size = 25 font_size = 25
font_family = Hack Nerd Font font_family = JetBrainsMono Nerd Font
position = 0, 80 position = 0, 80
halign = center halign = center
valign = center valign = center
shadow_passes = 1
shadow_size = 3
shadow_color = rgb(0,0,0)
shadow_boost = 1.2
} }
input-field { input-field {

View File

@ -0,0 +1,68 @@
# https://draculatheme.com/kitty
#
# Installation instructions:
#
# cp dracula.conf ~/.config/kitty/
# echo "include dracula.conf" >> ~/.config/kitty/kitty.conf
#
# Then reload kitty for the config to take affect.
# Alternatively copy paste below directly into kitty.conf
background_opacity 0.9
foreground #f8f8f2
background #282a36
selection_foreground #ffffff
selection_background #44475a
url_color #8be9fd
# black
color0 #21222c
color8 #6272a4
# red
color1 #ff5555
color9 #ff6e6e
# green
color2 #50fa7b
color10 #69ff94
# yellow
color3 #f1fa8c
color11 #ffffa5
# blue
color4 #bd93f9
color12 #d6acff
# magenta
color5 #ff79c6
color13 #ff92df
# cyan
color6 #8be9fd
color14 #a4ffff
# white
color7 #f8f8f2
color15 #ffffff
# Cursor colors
cursor #f8f8f2
cursor_text_color background
# Tab bar colors
active_tab_foreground #282a36
active_tab_background #f8f8f2
inactive_tab_foreground #282a36
inactive_tab_background #6272a4
# Marks
mark1_foreground #282a36
mark1_background #ff5555
# Splits/Windows
active_border_color #f8f8f2
inactive_border_color #6272a4

View File

@ -1,4 +1,4 @@
font_family Hack Nerd Font font_family JetBrainsMono Nerd Font
bold_font auto bold_font auto
italic_font auto italic_font auto
bold_italic_font auto bold_italic_font auto

View File

@ -0,0 +1,44 @@
# Nord Colorscheme for Kitty
# Based on:
# - https://gist.github.com/marcusramberg/64010234c95a93d953e8c79fdaf94192
# - https://github.com/arcticicestudio/nord-hyper
background_opacity 0.9
foreground #D8DEE9
background #2E3440
selection_foreground #000000
selection_background #FFFACD
url_color #0087BD
cursor #81A1C1
# black
color0 #3B4252
color8 #4C566A
# red
color1 #BF616A
color9 #BF616A
# green
color2 #A3BE8C
color10 #A3BE8C
# yellow
color3 #EBCB8B
color11 #EBCB8B
# blue
color4 #81A1C1
color12 #81A1C1
# magenta
color5 #B48EAD
color13 #B48EAD
# cyan
color6 #88C0D0
color14 #8FBCBB
# white
color7 #E5E9F0
color15 #ECEFF4

View File

@ -1,3 +1,10 @@
blocks:
- permission
- user
- group
- size
- date
- name
permission: octal permission: octal
total-size: true total-size: true
date: '+%d.%m.%Y %X' date: '+%d.%m.%Y %X'

View File

@ -1,54 +1,26 @@
# See this wiki page for more info: # See this wiki page for more info:
# https://github.com/dylanaraps/neofetch/wiki/Customizing-Info # https://github.com/dylanaraps/neofetch/wiki/Customizing-Info
#
# Colour config is here and in .zshrc
#
print_info() { print_info() {
info title info title
info underline info underline
prin "$(color 12)╭──────────── $(color 10)Software$(color 12) ────────────" info "OS" distro
info "$(color 12)│ $(color 14)OS" distro info "Host" model
info "$(color 12)│ $(color 14)Kernel" kernel info "Kernel" kernel
info "$(color 12)│ $(color 14)Packages" packages info "Uptime" uptime
info "$(color 12)│ $(color 14)Shell" shell info "Packages" packages
info "$(color 12)│ $(color 14)DE" de info "Shell" shell
info "$(color 12)│ $(color 14)WM" wm info "Resolution" resolution
info "$(color 12)│ $(color 14)Terminal" term info "DE" de
info "$(color 12)│ $(color 14)Local IP" local_ip info "WM" wm
info "$(color 12)│ $(color 14)Locale" locale info "WM Theme" wm_theme
prin "$(color 12)├──────────── $(color 10)Hardware$(color 12) ────────────" info "Theme" theme
info "$(color 12)│ $(color 14)Host" model info "Icons" icons
info "$(color 12)│ $(color 14)CPU" cpu info "Terminal" term
info "$(color 12)│ $(color 14)GPU" gpu info "Terminal Font" term_font
info "$(color 12)│ $(color 14)Memory" memory info "CPU" cpu
info "$(color 12)│ $(color 14)Disk" disk info "GPU" gpu
prin "$(color 12)├───────────── $(color 10)Uptime$(color 12) ─────────────" info "Memory" memory
info "$(color 12)│" uptime
prin "$(color 12)╰──────────────────────────────────"
prin "$(color 02) MonArchOS v1.0.0"
info cols
# Defaults
# info "OS" distro
# info "Host" model
# info "Kernel" kernel
# info "Uptime" uptime
# info "Packages" packages
# info "Shell" shell
# info "Resolution" resolution
# info "DE" de
# info "WM" wm
# info "WM Theme" wm_theme
# info "Theme" theme
# info "Icons" icons
# info "Terminal" term
# info "Terminal Font" term_font
# info "CPU" cpu
# info "GPU" gpu
# info "Memory" memory
# info "GPU Driver" gpu_driver # Linux/macOS only # info "GPU Driver" gpu_driver # Linux/macOS only
# info "CPU Usage" cpu_usage # info "CPU Usage" cpu_usage
@ -62,8 +34,7 @@ print_info() {
# info "Users" users # info "Users" users
# info "Locale" locale # This only works on glibc systems. # info "Locale" locale # This only works on glibc systems.
# info cols info cols
} }
# Title # Title
@ -90,7 +61,7 @@ title_fqdn="off"
# Example: # Example:
# on: '4.8.9-1-ARCH' # on: '4.8.9-1-ARCH'
# off: 'Linux 4.8.9-1-ARCH' # off: 'Linux 4.8.9-1-ARCH'
kernel_shorthand="off" kernel_shorthand="on"
# Distro # Distro
@ -130,7 +101,7 @@ os_arch="on"
# on: '2 days, 10 hours, 3 mins' # on: '2 days, 10 hours, 3 mins'
# tiny: '2d 10h 3m' # tiny: '2d 10h 3m'
# off: '2 days, 10 hours, 3 minutes' # off: '2 days, 10 hours, 3 minutes'
uptime_shorthand="off" uptime_shorthand="on"
# Memory # Memory
@ -224,7 +195,7 @@ speed_type="bios_limit"
# Example: # Example:
# on: 'i7-6500U (4) @ 3.1GHz' # on: 'i7-6500U (4) @ 3.1GHz'
# off: 'i7-6500U (4) @ 3.100GHz' # off: 'i7-6500U (4) @ 3.100GHz'
speed_shorthand="on" speed_shorthand="off"
# Enable/Disable CPU brand in output. # Enable/Disable CPU brand in output.
# #
@ -327,7 +298,7 @@ gpu_type="all"
# Example: # Example:
# on: '1920x1080 @ 60Hz' # on: '1920x1080 @ 60Hz'
# off: '1920x1080' # off: '1920x1080'
refresh_rate="on" refresh_rate="off"
# Gtk Theme / Icons / Font # Gtk Theme / Icons / Font
@ -342,7 +313,7 @@ refresh_rate="on"
# Example: # Example:
# on: 'Numix, Adwaita' # on: 'Numix, Adwaita'
# off: 'Numix [GTK2], Adwaita [GTK3]' # off: 'Numix [GTK2], Adwaita [GTK3]'
gtk_shorthand="on" gtk_shorthand="off"
# Enable/Disable gtk2 Theme / Icons / Font # Enable/Disable gtk2 Theme / Icons / Font
@ -416,7 +387,7 @@ de_version="on"
# disk_show=('/'): # disk_show=('/'):
# 'Disk (/): 74G / 118G (66%)' # 'Disk (/): 74G / 118G (66%)'
# #
disk_show=('/' '/mnt/Storage') disk_show=('/')
# Disk subtitle. # Disk subtitle.
# What to append to the Disk subtitle. # What to append to the Disk subtitle.
@ -440,7 +411,7 @@ disk_show=('/' '/mnt/Storage')
# none: 'Disk: 74G / 118G (66%)' # none: 'Disk: 74G / 118G (66%)'
# 'Disk: 74G / 118G (66%)' # 'Disk: 74G / 118G (66%)'
# 'Disk: 74G / 118G (66%)' # 'Disk: 74G / 118G (66%)'
disk_subtitle="dir" disk_subtitle="mount"
# Disk percent. # Disk percent.
# Show/Hide disk percent. # Show/Hide disk percent.
@ -517,7 +488,7 @@ music_player="auto"
# #
# Example: # Example:
# default: 'Song: Jet - Get Born - Sgt Major' # default: 'Song: Jet - Get Born - Sgt Major'
song_format="%artist% - %title%" song_format="%artist% - %album% - %title%"
# Print the Artist, Album and Title on separate lines # Print the Artist, Album and Title on separate lines
# #
@ -580,7 +551,7 @@ underline_enabled="on"
# Default: '-' # Default: '-'
# Values: 'string' # Values: 'string'
# Flag: --underline_char # Flag: --underline_char
underline_char="¨" underline_char="-"
# Info Separator # Info Separator
@ -592,7 +563,7 @@ underline_char="¨"
# Example: # Example:
# separator="->": 'Shell-> bash' # separator="->": 'Shell-> bash'
# separator=" =": 'WM = dwm' # separator=" =": 'WM = dwm'
separator="" separator=":"
# Color Blocks # Color Blocks
@ -891,4 +862,3 @@ background_color=
# Default: 'off' # Default: 'off'
# Values: 'on', 'off' # Values: 'on', 'off'
stdout="off" stdout="off"

View File

@ -0,0 +1,464 @@
;==========================================================
;
; THIS IS AN EXAMPLE CONFIGURATION FILE!
; IT IS NOT SUPPOSED TO WORK OUT OF THE BOX SINCE IS CONTAINS
; SETTINGS THAT ARE SPECIFIC TO THE MACHINE WHICH WAS USED
; TO GENERATE IT.
; Please refer to the web documentation hosted at:
; https://github.com/polybar/polybar#configuration
; and
; https://github.com/polybar/polybar/wiki/Configuration
; if you want to automatically generate one for you.
;
;==========================================================
;
;
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
;
;
; To learn more about how to configure Polybar
; go to https://github.com/polybar/polybar
;
; The README contains a lot of information
;
;==========================================================
[colors]
;background = ${xrdb:color0:#222}
background = #222
background-alt = #444
;foreground = ${xrdb:color7:#222}
foreground = #dfdfdf
foreground-alt = #555
primary = #ffb52a
secondary = #e60053
alert = #bd2c40
[bar/leftmon]
bottom = false
monitor = ${env:MONITOR:DP-3}
width = 100%
height = 27
;offset-x = 1%
;offset-y = 1%
radius = 6.0
fixed-center = false
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 3
line-color = #f00
border-size = 4
border-color = #00000000
padding-left = 0
padding-right = 2
module-margin-left = 1
module-margin-right = 2
font-0 = FiraCode Nerd font:pixelsize=10;1
;font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
;font-2 = siji:pixelsize=10;1
modules-left = bspwm xwindow
modules-center =
modules-right = alsa pulseaudio wlan date powermenu
tray-position = right
tray-padding = 2
;tray-background = #0063ff
;wm-restack = bspwm
;wm-restack = i3
;override-redirect = true
;scroll-up = bspwm-desknext
;scroll-down = bspwm-deskprev
;scroll-up = i3wm-wsnext
;scroll-down = i3wm-wsprev
cursor-click = pointer
cursor-scroll = ns-resize
[module/xwindow]
type = internal/xwindow
label = %title:0:30:...%
[module/filesystem]
type = internal/fs
interval = 25
mount-0 = /
label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%%
label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.foreground-alt}
[module/bspwm]
type = internal/bspwm
label-focused = %index%
label-focused-background = ${colors.background-alt}
label-focused-underline= ${colors.primary}
label-focused-padding = 2
label-occupied = %index%
label-occupied-padding = 2
label-empty = %index%
label-empty-foreground = ${colors.foreground-alt}
label-empty-padding = 2
; Separator in between workspaces
; label-separator = |
; Only show workspaced on the same output as the bar
;pin-workspaces = true
label-mode-padding = 2
label-mode-foreground = #000
label-mode-background = ${colors.primary}
; unfocused = Inactive workspace on any monitor
label-unfocused = %index%
label-unfocused-padding = 2
; visible = Active workspace on unfocused monitor
label-visible = %index%
label-visible-background = ${self.label-focused-background}
label-visible-underline = ${self.label-focused-underline}
label-visible-padding = ${self.label-focused-padding}
; urgent = Workspace with urgency hint set
label-urgent = %index%
label-urgent-background = ${colors.alert}
label-urgent-padding = 2
; Separator in between workspaces
; label-separator = |
[module/mpd]
type = internal/mpd
format-online = <label-song> <icon-prev> <icon-stop> <toggle> <icon-next>
icon-prev = 
icon-stop = 
icon-play = 
icon-pause = 
icon-next = 
label-song-maxlen = 25
label-song-ellipsis = true
[module/xbacklight]
type = internal/xbacklight
format = <label> <bar>
label = BL
bar-width = 10
bar-indicator = |
bar-indicator-foreground = #fff
bar-indicator-font = 2
bar-fill = ─
bar-fill-font = 2
bar-fill-foreground = #9f78e1
bar-empty = ─
bar-empty-font = 2
bar-empty-foreground = ${colors.foreground-alt}
[module/backlight-acpi]
inherit = module/xbacklight
type = internal/backlight
card = intel_backlight
[module/cpu]
type = internal/cpu
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #f90000
label = %percentage:2%%
[module/memory]
type = internal/memory
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #4bffdc
label = %percentage_used%%
[module/wlan]
type = internal/network
interface = wlp6s0
interval = 3.0
format-connected = <ramp-signal> <label-connected>
format-connected-underline = #9f78e1
label-connected = %essid%
format-disconnected =
;format-disconnected = <label-disconnected>
;format-disconnected-underline = ${self.format-connected-underline}
;label-disconnected = %ifname% disconnected
;label-disconnected-foreground = ${colors.foreground-alt}
ramp-signal-0 = 
ramp-signal-1 = 
ramp-signal-2 = 
ramp-signal-3 = 
ramp-signal-4 = 
ramp-signal-foreground = ${colors.foreground-alt}
[module/eth]
type = internal/network
interface = enp9s0
interval = 3.0
format-connected-underline = #55aa55
format-connected-prefix = " "
format-connected-prefix-foreground = ${colors.foreground-alt}
label-connected = %local_ip%
format-disconnected =
;format-disconnected = <label-disconnected>
;format-disconnected-underline = ${self.format-connected-underline}
;label-disconnected = %ifname% disconnected
;label-disconnected-foreground = ${colors.foreground-alt}
[module/date]
type = internal/date
interval = 5
date =
date-alt = " %Y-%m-%d"
time = %H:%M
time-alt = %H:%M:%S
format-prefix = 
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #0a6cf5
label = %date% %time%
[module/pulseaudio]
type = internal/pulseaudio
format-volume = <label-volume> <bar-volume>
label-volume = VOL %percentage%%
label-volume-foreground = ${root.foreground}
label-muted = 🔇 muted
label-muted-foreground = #666
bar-volume-width = 10
bar-volume-foreground-0 = #55aa55
bar-volume-foreground-1 = #55aa55
bar-volume-foreground-2 = #55aa55
bar-volume-foreground-3 = #55aa55
bar-volume-foreground-4 = #55aa55
bar-volume-foreground-5 = #f5a70a
bar-volume-foreground-6 = #ff5555
bar-volume-gradient = false
bar-volume-indicator = |
bar-volume-indicator-font = 2
bar-volume-fill = ─
bar-volume-fill-font = 2
bar-volume-empty = ─
bar-volume-empty-font = 2
bar-volume-empty-foreground = ${colors.foreground-alt}
[module/alsa]
type = internal/alsa
format-volume = <label-volume> <bar-volume>
label-volume = VOL
label-volume-foreground = ${root.foreground}
format-muted-prefix = " "
format-muted-foreground = ${colors.foreground-alt}
label-muted = sound muted
bar-volume-width = 10
bar-volume-foreground-0 = #55aa55
bar-volume-foreground-1 = #55aa55
bar-volume-foreground-2 = #55aa55
bar-volume-foreground-3 = #55aa55
bar-volume-foreground-4 = #55aa55
bar-volume-foreground-5 = #f5a70a
bar-volume-foreground-6 = #ff5555
bar-volume-gradient = false
bar-volume-indicator = |
bar-volume-indicator-font = 2
bar-volume-fill = ─
bar-volume-fill-font = 2
bar-volume-empty = ─
bar-volume-empty-font = 2
bar-volume-empty-foreground = ${colors.foreground-alt}
[module/battery]
type = internal/battery
battery = BAT0
adapter = AC
full-at = 98
format-charging = <animation-charging> <label-charging>
format-charging-underline = #ffb52a
format-discharging = <animation-discharging> <label-discharging>
format-discharging-underline = ${self.format-charging-underline}
format-full-prefix = " "
format-full-prefix-foreground = ${colors.foreground-alt}
format-full-underline = ${self.format-charging-underline}
ramp-capacity-0 = 
ramp-capacity-1 = 
ramp-capacity-2 = 
ramp-capacity-foreground = ${colors.foreground-alt}
animation-charging-0 = 
animation-charging-1 = 
animation-charging-2 = 
animation-charging-foreground = ${colors.foreground-alt}
animation-charging-framerate = 750
animation-discharging-0 = 
animation-discharging-1 = 
animation-discharging-2 = 
animation-discharging-foreground = ${colors.foreground-alt}
animation-discharging-framerate = 750
[module/temperature]
type = internal/temperature
thermal-zone = 0
warn-temperature = 60
format = <ramp> <label>
format-underline = #f50a4d
format-warn = <ramp> <label-warn>
format-warn-underline = ${self.format-underline}
label = %temperature-c%
label-warn = %temperature-c%
label-warn-foreground = ${colors.secondary}
ramp-0 = 
ramp-1 = 
ramp-2 = 
ramp-foreground = ${colors.foreground-alt}
[module/powermenu]
type = custom/menu
expand-right = true
format-spacing = 1
label-open = 
label-open-foreground = ${colors.secondary}
label-close =  cancel
label-close-foreground = ${colors.secondary}
label-separator = |
label-separator-foreground = ${colors.foreground-alt}
menu-0-0 = reboot
menu-0-0-exec = menu-open-1
menu-0-1 = power off
menu-0-1-exec = menu-open-2
menu-1-0 = cancel
menu-1-0-exec = menu-open-0
menu-1-1 = reboot
menu-1-1-exec = sudo reboot
menu-2-0 = power off
menu-2-0-exec = sudo poweroff
menu-2-1 = cancel
menu-2-1-exec = menu-open-0
[bar/rightmon]
bottom = false
monitor = ${env:MONITOR:DP-3}
width = 100%
height = 27
;offset-x = 1%
;offset-y = 1%
radius = 6.0
fixed-center = false
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 3
line-color = #f00
border-size = 4
border-color = #00000000
padding-left = 0
padding-right = 2
module-margin-left = 1
module-margin-right = 2
font-0 = FiraCode Nerd font:pixelsize=10;1
;font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
;font-2 = siji:pixelsize=10;1
modules-left = bspwm xwindow
modules-center =
modules-right = alsa pulseaudio wlan date powermenu
tray-position = right
tray-padding = 2
;tray-background = #0063ff
;wm-restack = bspwm
;wm-restack = i3
;override-redirect = true
;scroll-up = bspwm-desknext
;scroll-down = bspwm-deskprev
;scroll-up = i3wm-wsnext
;scroll-down = i3wm-wsprev
cursor-click = pointer
cursor-scroll = ns-resize
[settings]
screenchange-reload = true
;compositing-background = xor
;compositing-background = screen
;compositing-foreground = source
;compositing-border = over
;pseudo-transparency = false
[global/wm]
margin-top = 5
margin-bottom = 5
; vim:ft=dosini

View File

@ -17,10 +17,10 @@ scroll-down = prev
enable-ipc = true enable-ipc = true
background = ${colors.bg} background = ${colors.bg}
foreground = ${colors.fg} foreground = ${colors.fg}
font-0 = "Hack Nerd Font:style=Bold:size=10;2" font-0 = "JetBrainsMono Nerd Font:style=Bold:size=10;2"
font-1 = "MonarchOS:size=11;2" font-1 = "MonarchOS:size=11;2"
font-2 = "Hack Nerd Font:style=Regular:size=11;2" font-2 = "JetBrainsMono Nerd Font:style=Regular:size=11;2"
font-3 = "Hack Nerd Font:style=Regular:size=20;5" font-3 = "JetBrainsMono Nerd Font:style=Regular:size=20;5"
radius = 0 radius = 0
tray-position = none tray-position = none
tray-padding = 5 tray-padding = 5

View File

@ -1,6 +1,9 @@
@import "../config.rasi" @import "../config.rasi"
@import "../colors.rasi" @import "../colors.rasi"
window {
width: 800px;
}
listview { listview {
columns: 1; columns: 1;

View File

@ -1,15 +0,0 @@
/**
* @author Dominik Kressler
* @package rofi-archer
* @version 1.0.0
**/
* {
background: #4c4f69;
background-alt: #404552;
foreground: #acb0d0;
selected: #4c566a;
border: #313244;
active: #98C37988;
urgent: #E06C75FF;
}

View File

@ -6,13 +6,13 @@
* { * {
background: #1e1e2e; background: #1e1e2e;
background-alt: #ffffff80; background-alt: #eff1f580;
foreground: #ffffff; foreground: #eff1f5;
selected: #4c566a; selected: #4c566a;
border: #ffffff; border: #eff1f5;
active: #98C37988; active: #98C37988;
urgent: var(error-color); urgent: var(error-color);
@ -34,8 +34,8 @@
blue: #89b4fa; blue: #89b4fa;
lavender: #b4befe; lavender: #b4befe;
text: #ffffff; text: #eff1f5;
subtext1: #ffffff80; subtext1: #eff1f580;
subtext0: #a6adc8; subtext0: #a6adc8;
overlay0: #6c7086; overlay0: #6c7086;
@ -53,8 +53,8 @@
/* GTK THEME VARS*/ /* GTK THEME VARS*/
theme-fg-color: #ffffff; theme-fg-color: #eff1f5;
theme-text-color: #ffffff; theme-text-color: #eff1f5;
theme-bg-color: #1e1e2e; theme-bg-color: #1e1e2e;
theme-base-color: #1e1e2e; theme-base-color: #1e1e2e;
@ -63,20 +63,20 @@
theme-bg-color-shade-3: #1e1e2eC9; theme-bg-color-shade-3: #1e1e2eC9;
theme-selected-bg-color: #b4befe; theme-selected-bg-color: #b4befe;
theme-selected-fg-color: #000000; theme-selected-fg-color: #11111b;
theme-unfocused-fg-color: #ffffff; theme-unfocused-fg-color: #eff1f5;
theme-unfocused-text-color: #ffffff; theme-unfocused-text-color: #eff1f5;
theme-unfocused-bg-color: #1e1e2e; theme-unfocused-bg-color: #1e1e2e;
theme-unfocused-base-color: #1e1e2e; theme-unfocused-base-color: #1e1e2e;
theme-unfocused-selected-bg-color: #b4befe; theme-unfocused-selected-bg-color: #b4befe;
theme-unfocused-selected-fg-color: #000000; theme-unfocused-selected-fg-color: #11111b;
unfocused-insensitive-color: #ffffff; unfocused-insensitive-color: #eff1f5;
borders: #b4befe30; borders: #b4befe30;
unfocused-borders: #ffffff; unfocused-borders: #eff1f5;
warning-color: #fbc02d; warning-color: #f9e2af;
error-color: #f44336; error-color: #f38ba8;
success-color: #66bb6a; success-color: #a6e3a1;
} }

View File

@ -51,7 +51,7 @@ configuration {
alternate-active-background: var(active); alternate-active-background: var(active);
alternate-active-foreground: var(background); alternate-active-foreground: var(background);
font: "Hack Nerd Font 10"; font: "JetBrainsMono Nerd Font 11";
border-radius: 10px; border-radius: 10px;
frame-border: 2px solid; frame-border: 2px solid;
} }
@ -285,7 +285,7 @@ textbox {
border-radius: 10px 10px 0 0; border-radius: 10px 10px 0 0;
border-color: @borders; border-color: @borders;
background-color: transparent; background-color: transparent;
font: "Hack Nerd Font 12"; font: "JetBrainsMono Nerd Font 12";
text-color: var(theme-text-color); text-color: var(theme-text-color);
horizontal-align: 0.5; horizontal-align: 0.5;
highlight: none; highlight: none;

View File

@ -1 +1 @@
GTK_THEME=Catppuccin-Mocha-Standard-Lavender-Dark GTK_THEME=catppuccin-mocha-lavender-standard+default

View File

@ -54,14 +54,11 @@ function toggle_vpn_connection() {
if [[ $result = ${ACTIVE_PREFIX}* ]]; then if [[ $result = ${ACTIVE_PREFIX}* ]]; then
feedback=$(nmcli connection down "$connection") feedback=$(nmcli connection down "$connection")
dunstify "VPN Status '$connection'" "$feedback" --replace=553 notify-send "VPN Status '$connection'" "$feedback"
# hyprctl notify 1 5000 0 " VPN Status '$connection' "
else else
kitty --class "kitty-vpn" --title "VPN Connection" nmcli connection --ask up "$connection" alacritty --class "vpn-prompt" --title "VPN Connection" -e nmcli connection --ask up "$connection"
#feedback=$(nmcli connection up "$connection") #feedback=$(nmcli connection up "$connection")
dunstify "VPN Status '$connection'" "" --replace=553 notify-send "VPN Status '$connection'" "Trying to connect"
#hyprctl notify 1 5000 0 " VPN Status '$connection' "
fi fi
} }

View File

@ -30,7 +30,7 @@ textbox {
placeholder-color: var(theme-text-color); placeholder-color: var(theme-text-color);
font: "Hack Nerd Font Bold 12"; font: "JetBrainsMono Nerd Font Bold 12";
} }
error-message { error-message {
padding: 12px; padding: 12px;
@ -64,7 +64,7 @@ element-text {
cursor: inherit; cursor: inherit;
horizontal-align: 0.5; horizontal-align: 0.5;
vertical-align:0; vertical-align:0;
font: "Hack Nerd Font 18"; font: "JetBrainsMono Nerd Font 18";
} }
element selected.normal { element selected.normal {

View File

@ -55,7 +55,7 @@ textbox-prompt-colon {
background-color: var(theme-selected-bg-color); background-color: var(theme-selected-bg-color);
text-color: @theme-selected-fg-color; text-color: @theme-selected-fg-color;
vertical-align: 0.5; vertical-align: 0.5;
font: "Hack Nerd Font 12"; font: "JetBrainsMono Nerd Font 12";
} }
prompt { prompt {
enabled: true; enabled: true;
@ -64,7 +64,7 @@ prompt {
background-color: var(theme-text-color); background-color: var(theme-text-color);
text-color: var(theme-bg-color); text-color: var(theme-bg-color);
vertical-align: 0.5; vertical-align: 0.5;
font: "Hack Nerd Font 9"; font: "JetBrainsMono Nerd Font 9";
} }
dummy { dummy {
@ -104,7 +104,7 @@ element {
cursor: "pointer"; cursor: "pointer";
} }
element-text { element-text {
font: "Hack Nerd Font 12"; font: "JetBrainsMono Nerd Font 12";
background-color: transparent; background-color: transparent;
text-color: var(text); text-color: var(text);
cursor: inherit; cursor: inherit;

View File

@ -102,7 +102,7 @@ element {
cursor: "pointer"; cursor: "pointer";
} }
element-text { element-text {
font: "Hack Nerd Font 28"; font: "JetBrainsMono Nerd Font 28";
background-color: transparent; background-color: transparent;
text-color: var(text); text-color: var(text);
cursor: inherit; cursor: inherit;

View File

@ -1,5 +1,13 @@
#!/usr/bin/env bash #!/usr/bin/env bash
####
# @author moonarch.de (nevaforget)
# script used with rofi to list desktop files of specific dir
# dir: /usr/share/settings-menu/
# @example rofi -show fb -modes "fb:~/.config/rofi/settings-menu/setmen.sh" -theme $HOME/.config/rofi/settings-menu/settings-menu.rasi
# @dependencies glib >= 2.67.2
####
function get_name { function get_name {
local lang=$(locale | grep LANG | cut -d= -f2 | cut -d_ -f1) local lang=$(locale | grep LANG | cut -d= -f2 | cut -d_ -f1)
local find="Name\[$lang\]=" local find="Name\[$lang\]="
@ -19,15 +27,14 @@ if [ "$ROFI_RETV" = "1" ]
then then
for deskfile in /usr/share/settings-menu/* for deskfile in /usr/share/settings-menu/*
do do
match=$(grep "^Name" $deskfile | grep "$@" ) match=$(grep "^Name" $deskfile | grep "$@" )
if [ -n "$match" ] if [ -n "$match" ]
then then
#$(gtk-launch "$deskfile") #gio launch $deskfile
# old way
app=$(grep '^Exec' $deskfile | tail -1 | sed 's/^Exec=//' | sed 's/%.//' | sed 's/^"//g' | sed 's/" *$//g') app=$(grep '^Exec' $deskfile | tail -1 | sed 's/^Exec=//' | sed 's/%.//' | sed 's/^"//g' | sed 's/" *$//g')
coproc ( $app > /dev/null 2>&1 ) coproc ( $app > /dev/null 2>&1 )
break break

View File

@ -22,4 +22,5 @@ element-icon {
element-text { element-text {
vertical-align: 0.5; vertical-align: 0.5;
horizontal-align: 0.5; horizontal-align: 0.5;
font: "JetBrainsMono Nerd Font 9";
} }

View File

@ -1,81 +1,93 @@
{ {
"$schema": "/etc/xdg/swaync/configSchema.json", "$schema": "/etc/xdg/swaync/configSchema.json",
"positionX": "right", "control-center-height": 300,
"positionY": "top", "control-center-layer": "overlay",
"control-center-margin-top": 10, "control-center-margin-bottom": 20,
"control-center-margin-bottom": 10, "control-center-margin-left": 0,
"control-center-margin-right": 10, "control-center-margin-right": 10,
"notification-icon-size": 24, "control-center-margin-top": 20,
"control-center-width": 500,
"cssPriority": "application",
"control-center-positionX":"right",
"control-center-positionY":"none",
"fit-to-screen": true,
"hide-on-action": false,
"hide-on-clear": true,
"image-visibility": "when-available",
"keyboard-shortcuts": true,
"layer": "overlay",
"notification-body-image-height": 100, "notification-body-image-height": 100,
"notification-body-image-width": 200, "notification-body-image-width": 200,
"timeout": 10, "notification-icon-size": 40,
"timeout-low": 5, "notification-inline-replies": true,
"timeout-critical": 0, "notification-visibility": {},
"fit-to-screen": false, "notification-window-width": 400,
"control-center-width": 500, "positionX": "right",
"control-center-height": 800, "positionY": "top",
"notification-window-width": 500,
"keyboard-shortcuts": true,
"image-visibility": "when-available",
"transition-time": 200,
"hide-on-clear": false,
"hide-on-action": true,
"script-fail-notify": true, "script-fail-notify": true,
"widgets": ["title", "dnd", "volume", "backlight", "notifications", "mpris", "buttons-grid"], "scripts": {},
"timeout": 10,
"timeout-critical": 0,
"timeout-low": 5,
"transition-time": 100,
"widget-config": { "widget-config": {
"title": {
"text": "Notification Center",
"clear-all-button": true,
"button-text": "󰆴 Clear All"
},
"dnd": {
"text": "Do Not Disturb"
},
"label": {
"max-lines": 1,
"text": "Notification Center"
},
"mpris": {
"image-size": 96,
"image-radius": 7
},
"volume": {
"label": "󰕾"
},
"backlight": {
"label": "󰃟"
},
"buttons-grid": { "buttons-grid": {
"actions": [ "actions": [
{ {
"label": "󰐥", "active": false,
"command": "wlogout -P 1 -s -r 10 -c 10" "command": "notify-send 'hey'",
"label": "󰤄",
"type": "toggle",
"update_command": "notify-send 'Hi'"
}, },
{ {
"label": "󰕾", "active": false,
"command": "pactl set-sink-mute @DEFAULT_SINK@ toggle" "command": "swaync-client -d",
"label": "",
"type": "toggle"
}, },
{ {
"label": "󰍬", "active":false,
"command": "pactl set-source-mute @DEFAULT_SOURCE@ toggle" "command":"obs",
"label":"󰄀",
"type": "button"
}, },
{ {
"label": "󰖩", "active":false,
"command": "iwgtk" "command":"obs",
"label":"󰕧",
"type": "button"
}, },
{ {
"label": "󰂯", "active": false,
"command": "blueberry" "command": "swaync-client -t",
}, "label": "",
{ "type": "toggle"
"label": "",
"command": "rofi -show fb -modes 'fb:~/.config/rofi/settings-menu/setmen.sh' -theme ~/.config/rofi/settings-menu/settings-menu.rasi"
},
{
"label": "󱓞",
"command": "rofi -show drun -theme ~/.config/rofi/launcher/launcher.rasi"
} }
] ]
},
"mpris": {
"image-radius": 12,
"image-size": 96
},
"title": {
"text": "Notifications",
"button-text": "󰎟 Clear",
"clear-all-button": true
},
"volume": {
"label": "",
"show-per-app": true,
"show-per-app-icon": true,
"show-per-app-label":true
} }
} },
"widgets": [
"title",
"notifications",
"buttons-grid",
"mpris",
"volume"
]
} }

View File

@ -0,0 +1,579 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SwayNotificationCenter JSON schema",
"type": "object",
"additionalProperties": false,
"properties": {
"$schema": {
"type": "string",
"description": "Pointer to the schema against which this document should be validated."
},
"positionX": {
"type": "string",
"description": "Horizontal position of control center and notification window",
"default": "right",
"enum": [
"right",
"left",
"center"
]
},
"layer": {
"type": "string",
"description": "Layer of control center window",
"default": "top",
"enum": [
"background",
"bottom",
"top",
"overlay"
]
},
"cssPriority": {
"type": "string",
"description": "Which GTK priority to use when loading the default and user CSS files. Pick \"user\" to override XDG_CONFIG_HOME/gtk-3.0/gtk.css",
"default": "application",
"enum": [
"application",
"user"
]
},
"positionY": {
"type": "string",
"description": "Vertical position of control center and notification window",
"default": "top",
"enum": [
"top",
"bottom"
]
},
"control-center-positionX": {
"type": "string",
"description": "Optional: Horizontal position of the control center. Supersedes positionX if not set to `none`",
"default": "none",
"enum": [
"right",
"left",
"center",
"none"
]
},
"control-center-positionY": {
"type": "string",
"description": "Optional: Vertical position of the control center. Supersedes positionY if not set to `none`",
"default": "none",
"enum": [
"top",
"bottom",
"none"
]
},
"control-center-margin-top": {
"type": "integer",
"description": "The margin (in pixels) at the top of the notification center. 0 to disable",
"default": 0
},
"control-center-margin-bottom": {
"type": "integer",
"description": "The margin (in pixels) at the bottom of the notification center. 0 to disable",
"default": 0
},
"control-center-margin-right": {
"type": "integer",
"description": "The margin (in pixels) at the right of the notification center. 0 to disable",
"default": 0
},
"control-center-margin-left": {
"type": "integer",
"description": "The margin (in pixels) at the left of the notification center. 0 to disable",
"default": 0
},
"notification-icon-size": {
"type": "integer",
"description": "The notification icon size (in pixels)",
"default": 64,
"minimum": 16
},
"notification-body-image-height": {
"type": "integer",
"description": "The notification body image height (in pixels)",
"default": 100,
"minimum": 100
},
"notification-body-image-width": {
"type": "integer",
"description": "The notification body image width (in pixels)",
"default": 200,
"minimum": 200
},
"timeout": {
"type": "integer",
"description": "The notification timeout for notifications with normal priority",
"default": 10
},
"timeout-low": {
"type": "integer",
"description": "The notification timeout for notifications with low priority",
"default": 5
},
"timeout-critical": {
"type": "integer",
"description": "The notification timeout for notifications with critical priority. 0 to disable",
"default": 0
},
"notification-window-width": {
"type": "integer",
"description": "Width of the notification in pixels",
"default": 500
},
"fit-to-screen": {
"type": "boolean",
"description": "If the control center should expand to both edges of the screen",
"default": true
},
"control-center-height": {
"type": "integer",
"description": "Height of the control center in pixels. Ignored when 'fit-to-screen' is set to 'true'",
"default": 600,
"minimum": 300
},
"control-center-width": {
"type": "integer",
"description": "Width of the control center in pixels",
"default": 500,
"minimum": 300
},
"keyboard-shortcuts": {
"type": "boolean",
"description": "If control center should use keyboard shortcuts",
"default": true
},
"image-visibility": {
"type": "string",
"description": "An explanation about the purpose of this instance.",
"default": "when-available",
"enum": [
"always",
"when-available",
"never"
]
},
"transition-time": {
"type": "integer",
"description": "The notification animation duration. 0 to disable",
"default": 200
},
"hide-on-clear": {
"type": "boolean",
"description": "Hides the control center after pressing \"Clear All\"",
"default": false
},
"hide-on-action": {
"type": "boolean",
"description": "Hides the control center when clicking on notification action",
"default": true
},
"script-fail-notify": {
"type": "boolean",
"description": "Sends a notification if a script fails to run",
"default": true
},
"scripts": {
"type": "object",
"description": "Which scripts to check and potentially run for every notification. If the notification doesn't include one of the properties, that property will be ignored. All properties (except for exec) use regex. If all properties match the given notification, the script will be run. Only the first matching script will be run.",
"minProperties": 1,
"additionalProperties": false,
"patternProperties": {
"^.{1,}$": {
"type": "object",
"description": "Your script object.",
"required": [
"exec"
],
"minProperties": 2,
"additionalProperties": false,
"properties": {
"exec": {
"type": "string",
"description": "The script to run. Can also run regular shell commands."
},
"app-name": {
"type": "string",
"description": "The app-name. Uses Regex."
},
"desktop-entry": {
"type": "string",
"description": "The desktop-entry. Uses Regex."
},
"summary": {
"type": "string",
"description": "The summary of the notification. Uses Regex."
},
"body": {
"type": "string",
"description": "The body of the notification. Uses Regex."
},
"urgency": {
"type": "string",
"description": "The urgency of the notification.",
"default": "Normal",
"enum": [
"Low",
"Normal",
"Critical"
]
},
"category": {
"type": "string",
"description": "Which category the notification belongs to. Uses Regex."
},
"run-on": {
"type": "string",
"description": "Whether to run the script on an action being activated, or when the notification is received.",
"enum": [
"action",
"receive"
],
"default": "receive"
}
}
}
}
},
"notification-visibility": {
"type": "object",
"description": "Set the visibility of each incoming notification. If the notification doesn't include one of the properties, that property will be ignored. All properties (except for state) use regex. If all properties match the given notification, the notification will be follow the provided state. Only the first matching object will be used.",
"minProperties": 1,
"additionalProperties": false,
"patternProperties": {
"^.{1,}$": {
"type": "object",
"description": "Your script object.",
"required": [
"state"
],
"minProperties": 2,
"additionalProperties": false,
"properties": {
"state": {
"type": "string",
"description": "The notification visibility state.",
"default": "enabled",
"enum": [
"ignored",
"muted",
"enabled",
"transient"
]
},
"app-name": {
"type": "string",
"description": "The app-name. Uses Regex."
},
"desktop-entry": {
"type": "string",
"description": "The desktop-entry. Uses Regex."
},
"summary": {
"type": "string",
"description": "The summary of the notification. Uses Regex."
},
"body": {
"type": "string",
"description": "The body of the notification. Uses Regex."
},
"urgency": {
"type": "string",
"description": "The urgency of the notification.",
"default": "Normal",
"enum": [
"Low",
"Normal",
"Critical"
]
},
"override-urgency": {
"type": "string",
"description": "The new urgency of the notification (optional)",
"default": "unset",
"enum": [
"unset",
"low",
"normal",
"critical"
]
},
"category": {
"type": "string",
"description": "Which category the notification belongs to. Uses Regex."
}
}
}
}
},
"widgets": {
"type": "array",
"description": "Which order and which widgets to display. If the \"notifications\" widget isn't specified, it will be placed at the bottom.",
"default": [
"inhibitors",
"title",
"dnd",
"notifications"
],
"items": {
"type": "string",
// Sadly can't use regex and enums at the same time. Fix in the future?
"pattern": "^[a-zA-Z0-9_-]{1,}(#[a-zA-Z0-9_-]{1,}){0,1}?$"
}
},
"widget-config": {
"type": "object",
"description": "Configure specific widget properties.",
"additionalProperties": false,
"patternProperties": {
// New widgets go here
"^title(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
// References the widget structure from "widgets" below
"$ref": "#/widgets/title"
},
"^dnd(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
"$ref": "#/widgets/dnd"
},
"^label(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
"$ref": "#/widgets/label"
},
"^mpris(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
"$ref": "#/widgets/mpris"
},
"^buttons-grid(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
"$ref": "#/widgets/buttons-grid"
},
"^menubar(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
"$ref": "#/widgets/menubar"
},
"^volume(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
"$ref": "#/widgets/volume"
},
"^backlight(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
"$ref": "#/widgets/backlight"
},
"^inhibitors(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
// References the widget structure from "widgets" below
"$ref": "#/widgets/inhibitors"
}
}
}
},
"widgets": {
// New widgets go here
"title": {
"type": "object",
"description": "Control Center Title Widget",
"additionalProperties": false,
"properties": {
"text": {
"type": "string",
"description": "The title of the widget",
"default": "Notifications"
},
"clear-all-button": {
"type": "boolean",
"description": "Wether to display a \"Clear All\" button",
"default": true
},
"button-text": {
"type": "string",
"description": "\"Clear All\" button text",
"default": "Clear All"
}
}
},
"dnd": {
"type": "object",
"description": "Control Center Do Not Disturb Widget",
"additionalProperties": false,
"properties": {
"text": {
"type": "string",
"description": "The title of the widget",
"default": "Do Not Disturb"
}
}
},
"label": {
"type": "object",
"description": "A generic widget that allows the user to add custom text",
"additionalProperties": false,
"properties": {
"text": {
"type": "string",
"description": "The text content of the widget",
"default": "Label Text"
},
"max-lines": {
"type": "integer",
"description": "The maximum lines",
"default": 5
}
}
},
"mpris": {
"type": "object",
"description": "A widget that displays multiple music players",
"additionalProperties": false,
"properties": {
"image-size": {
"type": "integer",
"description": "The size of the album art",
"default": 96
},
"image-radius": {
"type": "integer",
"description": "The border radius of the album art",
"default": 12
}
}
},
"buttons-grid": {
"type": "object",
"description": "A widget to add a grid of buttons that execute shell commands",
"additionalProperties": false,
"properties": {
"actions": {
"type": "array",
"description": "A list of actions containing a label and a command",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "Text to be displayed in button",
"default": "label"
},
"command": {
"type": "string",
"description": "Command to be executed on click",
"default": ""
}
}
}
}
}
},
"menubar": {
"type": "object",
"description": "A bar that contains action-buttons and buttons to open a dropdown with action-buttons",
"additionalProperties": false,
"patternProperties": {
"^menu(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
"type": "object",
"description": "A button that opens a dropdown with action-buttons",
"additionalProperties": false,
"properties": {
"label": {
"type": "string",
"description": "Text to be displayed in button",
"default": "Menu"
},
"position": {
"type": "string",
"description": "Horizontal position of the button in the bar",
"default": "right",
"enum": [
"right",
"left"
]
},
"actions": {
"$ref": "#/widgets/buttons-grid/properties/actions"
}
}
},
"^buttons(#[a-zA-Z0-9_-]{1,}){0,1}?$": {
"type": "object",
"description": "A list of action-buttons to be displayed in the topbar",
"additionalProperties": false,
"properties": {
"position": {
"type": "string",
"description": "Horizontal position of the button in the bar",
"default": "right",
"enum": [
"right",
"left"
]
},
"actions": {
"$ref": "#/widgets/buttons-grid/properties/actions"
}
}
}
}
},
"volume": {
"type": "object",
"description": "Slider to control pulse volume",
"additionalProperties": false,
"properties": {
"label": {
"type": "string",
"description": "Text displayed in front of the volume slider",
"default": "Volume"
}
}
},
"backlight": {
"type": "object",
"description": "Slider to control monitor brightness",
"additionalProperties": false,
"properties": {
"label": {
"type": "string",
"description": "Text displayed in front of the backlight slider",
"default": "Brightness"
},
"device": {
"type": "string",
"description": "Name of monitor (find possible devices using `ls /sys/class/backlight` or `ls /sys/class/leds`)",
"default": "intel_backlight"
},
"subsystem": {
"type": "string",
"description": "Kernel subsystem for brightness control",
"default": "backlight",
"enum": [
"backlight",
"leds"
]
},
"min": {
"type": "integer",
"default": 0,
"description": "Lowest possible value for brightness"
}
}
},
"inhibitors": {
"type": "object",
"description": "Control Center Inhibitors Widget",
"additionalProperties": false,
"properties": {
"text": {
"type": "string",
"description": "The title of the widget",
"default": "Inhibitors"
},
"clear-all-button": {
"type": "boolean",
"description": "Wether to display a \"Clear All\" button",
"default": true
},
"button-text": {
"type": "string",
"description": "\"Clear All\" button text",
"default": "Clear All"
}
}
}
}
}

View File

@ -1,323 +1,303 @@
@import url("/usr/share/themes/Catppuccin-Mocha-Standard-Lavender-Dark/gtk-3.0/gtk.css");
@define-color cc-bg rgba(26, 27, 38, .95);
@define-color noti-border-color rgba(255, 255, 255, 0.15);
@define-color noti-bg rgb(17, 17, 27);
@define-color noti-bg-darker rgba(43, 43, 57,.5);
@define-color noti-bg-hover rgb(27, 27, 43);
@define-color noti-bg-focus rgba(27, 27, 27, 0.6);
@define-color noti-close-bg rgba(255, 255, 255, 0.1);
@define-color noti-close-bg-hover rgba(255, 255, 255, 0.15);
@define-color text-color-disabled rgb(150, 150, 150);
@define-color bg-selected rgb(0, 128, 255);
* { * {
font-family: Hack Nerd Font;
}
.control-center .notification-row:focus,
.control-center .notification-row:hover {
opacity: 1;
background: @noti-bg-darker;
}
.notification-row {
outline: none;
margin: 0px;
padding: 0px;
}
.notification {
background: @theme_base_color;
border: 2px solid rgba(180,190,254, 0.1);
border-radius: 10px;
margin: 3px -2px 3px 0px;
padding:10px;
box-shadow: none;
}
.notification-content {
background: @theme_base_color;
}
.summary {
margin-bottom:5px;
}
.notification-content .body {
font-size: 14px; font-size: 14px;
font-family: "JetBrainsMono Nerd Font";
transition: 100ms;
box-shadow: unset;
} }
.notification-default-action { .control-center .notification-row {
margin: 0; background-color: unset;
padding: 0; }
.control-center .notification-row .notification-background .notification,
.control-center .notification-row .notification-background .notification .notification-content,
.floating-notifications .notification-row .notification-background .notification,
.floating-notifications.background .notification-background .notification .notification-content {
margin-bottom: unset;
}
.control-center .notification-row .notification-background .notification {
margin-top: 0.150rem;
}
.control-center .notification-row .notification-background .notification box,
.control-center .notification-row .notification-background .notification widget,
.control-center .notification-row .notification-background .notification .notification-content,
.floating-notifications .notification-row .notification-background .notification box,
.floating-notifications .notification-row .notification-background .notification widget,
.floating-notifications.background .notification-background .notification .notification-content {
border: unset;
border-radius: 10px; border-radius: 10px;
-gtk-outline-radius: 10px;
} }
.close-button { .floating-notifications.background .notification-background .notification .notification-content,
background: #f7768e; .control-center .notification-background .notification .notification-content {
color: @theme_base_color; /* border-top: 1px solid rgba(164, 162, 167, 0.15);
text-shadow: none; border-left: 1px solid rgba(164, 162, 167, 0.15);
padding: 0px; border-right: 1px solid rgba(128, 127, 132, 0.15);
border-radius: 10px; border-bottom: 1px solid rgba(128, 127, 132, 0.15);*/
margin-top: 5px; background-color: #1D1D22;
margin-right: 0px; padding: 0.818rem;
padding-right: unset;
margin-right: unset;
} }
.close-button:hover { .control-center .notification-row .notification-background .notification.low .notification-content label,
box-shadow: none; .control-center .notification-row .notification-background .notification.normal .notification-content label,
background: #f7768e; .floating-notifications.background .notification-background .notification.low .notification-content label,
transition: all 0.15s ease-in-out; .floating-notifications.background .notification-background .notification.normal .notification-content label {
border: none; color: #c7c5d0;
} }
.notification-action { .control-center .notification-row .notification-background .notification..notification-content image,
border: 2px solid rgba(180,190,254, 0.5); .control-center .notification-row .notification-background .notification.normal .notification-content image,
border-top: none; .floating-notifications.background .notification-background .notification.low .notification-content image,
border-radius: 10px; .floating-notifications.background .notification-background .notification.normal .notification-content image {
background-color: unset;
color: #e2e0f9;
} }
.notification-default-action:hover, .control-center .notification-row .notification-background .notification.low .notification-content .body,
.notification-action:hover { .control-center .notification-row .notification-background .notification.normal .notification-content .body,
color: rgba(180,190,254, 0.6); .floating-notifications.background .notification-background .notification.low .notification-content .body,
background: @theme_base_color; .floating-notifications.background .notification-background .notification.normal .notification-content .body {
color: #92919a;
} }
.notification-default-action { .control-center .notification-row .notification-background .notification.critical .notification-content,
border-radius: 10px; .floating-notifications.background .notification-background .notification.critical .notification-content {
margin: 0px; background-color: #ffb4a9;
} }
.notification-default-action:not(:only-child) { .control-center .notification-row .notification-background .notification.critical .notification-content image,
border-bottom-left-radius: 7px; .floating-notifications.background .notification-background .notification.critical .notification-content image{
border-bottom-right-radius: 7px; background-color: unset;
color: #ffb4a9;
} }
.notification-action:first-child { .control-center .notification-row .notification-background .notification.critical .notification-content label,
border-bottom-left-radius: 10px; .floating-notifications.background .notification-background .notification.critical .notification-content label {
background: #1b1b2b; color: #680003;
} }
.notification-action:last-child { .control-center .notification-row .notification-background .notification .notification-content .summary,
border-bottom-right-radius: 10px; .floating-notifications.background .notification-background .notification .notification-content .summary {
background: #1b1b2b; font-family: 'Gabarito', 'Lexend', sans-serif;
font-size: 0.9909rem;
font-weight: 500;
} }
.inline-reply { .control-center .notification-row .notification-background .notification .notification-content .time,
margin-top: 8px; .floating-notifications.background .notification-background .notification .notification-content .time {
font-family: 'Geist', 'AR One Sans', 'Inter', 'Roboto', 'Noto Sans', 'Ubuntu', sans-serif;
font-size: 0.8291rem;
font-weight: 500;
margin-right: 1rem;
padding-right: unset;
} }
.inline-reply-entry { .control-center .notification-row .notification-background .notification .notification-content .body,
background: @noti-bg-darker; .floating-notifications.background .notification-background .notification .notification-content .body {
color: @theme_text_color; font-family: 'Noto Sans', sans-serif;
caret-color: @theme_text_color; font-size: 0.8891rem;
border: 1px solid @noti-border-color;
border-radius: 10px;
}
.inline-reply-button {
margin-left: 4px;
background: @noti-bg;
border: 1px solid @noti-border-color;
border-radius: 10px;
color: @theme_text_color;
}
.inline-reply-button:disabled {
background: initial;
color: @text-color-disabled;
border: 1px solid transparent;
}
.inline-reply-button:hover {
background: @noti-bg-hover;
}
.image {
border-radius: 10px;
margin-right: 10px;
}
.summary {
font-size: 16px;
font-weight: 700;
background: transparent;
color: @theme_text_color;
text-shadow: none;
}
.time {
font-size: 16px;
font-weight: 700;
background: transparent;
color: @theme_text_color;
text-shadow: none;
margin-right: 18px;
}
.body {
font-size: 15px;
font-weight: 400; font-weight: 400;
background: transparent; margin-top: 0.310rem;
color: @theme_text_color; padding-right: unset;
margin-right: unset;
}
.control-center .notification-row .close-button,
.floating-notifications.background .close-button {
background-color: unset;
border-radius: 100%;
border: none;
box-shadow: none;
margin-right: 13px;
margin-top: 6px;
margin-bottom: unset;
padding-bottom: unset;
min-height: 20px;
min-width: 20px;
text-shadow: none; text-shadow: none;
} }
.control-center .notification-row .close-button:hover,
.floating-notifications.background .close-button:hover {
background-color: rgba(255, 255, 255, 0.15);
}
.control-center { .control-center {
background: @theme_base_color; border-radius:10px;
border: 2px solid rgba(180,190,254, 0.2); -gtk-outline-radius:10px;
border-radius: 10px; border-top: 1px solid rgba(164, 162, 167, 0.19);
border-left: 1px solid rgba(164, 162, 167, 0.19);
border-right: 1px solid rgba(128, 127, 132, 0.145);
border-bottom: 1px solid rgba(128, 127, 132, 0.145);
box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.45);
margin: 7px;
background-color: #14141B;
padding: 1.023rem;
} }
.control-center-list { .control-center trough {
background: transparent; background-color: #45475a;
border-radius: 9999px;
-gtk-outline-radius: 9999px;
min-width: 0.545rem;
background-color: transparent;
} }
.control-center-list-placeholder { .control-center slider {
opacity: 0.5; border-radius: 9999px;
-gtk-outline-radius: 9999px;
min-width: 0.273rem;
min-height: 2.045rem;
background-color: rgba(199, 197, 208, 0.31);
} }
.floating-notifications { .control-center slider:hover {
background: transparent; background-color: rgba(199, 197, 208, 0.448);
} }
.blank-window { .control-center slider:active {
background: alpha(black, 0.1); background-color: #77767e;
} }
/* title widget */
.widget-title { .widget-title {
color: #fff; padding: 0.341rem;
background: @noti-bg-darker; margin: unset;
padding: 5px 10px; }
margin: 10px 10px 5px 10px;
font-size: 1.1rem; .widget-title label {
font-family: 'Gabarito', 'Lexend', sans-serif;
font-size: 1.364rem;
color: #e4e1e6;
margin-left: 0.941rem;
}
.widget-title button {
border: unset;
background-color: unset;
border-radius: 10px; border-radius: 10px;
-gtk-outline-radius: 10px;
padding: 0.141rem 0.141rem;
margin-right: 0.841rem;
} }
.widget-title>button { .widget-title button label {
font-size: 0.9rem; font-family: 'Gabarito', sans-serif;
color: @theme_text_color; font-size: 1.0409rem;
text-shadow: none; color: #e4e1e6;
background: @noti-bg; margin-right: 0.841rem;
box-shadow: none; }
.widget-title button:hover {
background-color: rgba(128, 128, 128, 0.3);
}
.widget-title button:active {
background-color: rgba(128, 128, 128, 0.7);
}
/* Buttons widget */
.widget-buttons-grid {
border-radius: 10px; border-radius: 10px;
-gtk-outline-radius: 10px;
padding: 0.341rem;
background-color: rgba(28, 28, 34, 0.35);
padding: unset;
} }
.widget-title>button:hover { .widget-buttons-grid>flowbox {
background: #f7768e; padding: unset;
color: @theme_base_color;
} }
.widget-dnd { .widget-buttons-grid>flowbox>flowboxchild>button:first-child {
background: @noti-bg-darker; margin-left:unset ;
padding: 5px 10px; }
margin: 5px 10px;
.widget-buttons-grid>flowbox>flowboxchild>button {
border:none;
background-color: unset;
border-radius: 9999px;
min-width: 5.522rem;
min-height: 2.927rem;
padding: unset;
margin: unset;
}
.widget-buttons-grid>flowbox>flowboxchild>button label {
font-family: "Materials Symbol Rounded";
font-size: 1.3027rem;
color: #e4e1e6;
}
.widget-buttons-grid>flowbox>flowboxchild>button:hover {
background-color: rgba(128, 128, 128, 0.3);
}
.widget-buttons-grid>flowbox>flowboxchild>button:checked {
/* OnePlus McClaren edition Orange accent */
background-color: #ff9f34;
}
.widget-buttons-grid>flowbox>flowboxchild>button:checked label {
color: #14141B;
}
/* Volume widget */
.widget-volume {
background-color: rgba(28, 28, 34, 0.35);
padding: 8px;
margin: 8px;
border-radius: 10px; border-radius: 10px;
font-size: 1rem; -gtk-outline-radius: 10px;
color: #fff;
} }
.widget-dnd>switch { .widget-volume trough {
border-radius: 10px; /* OnePlus McClaren edition Orange accent */
background: rgba(180,190,254, 0.7); border:unset;
background-color: rgba(128, 128, 128, 0.4);
} }
.widget-dnd>switch:checked {
background: #f7768e; .widget-volume trough slider {
border: 1px solid #f7768e; /* OnePlus McClaren edition Orange accent */
color:unset;
background-color: #ff9f34;
border-radius: 100%;
min-height: 1.25rem;
min-width: 1.25rem;
} }
.widget-dnd>switch slider {
background: @theme_base_color;
border-radius: 10px;
}
.widget-dnd>switch:checked slider { /* Mpris widget */
background: @theme_base_color;
border-radius: 10px;
}
.widget-label {
margin: 10px 10px 5px 10px;
}
.widget-label>label {
font-size: 1rem;
color: @theme_text_color;
}
.widget-mpris { .widget-mpris {
color: @theme_text_color; background-color: rgba(28, 28, 34, 0.35);
background: @noti-bg-darker; padding: 8px;
padding: 5px 10px; margin: 8px;
margin: 5px 10px 5px 10px;
border-radius: 10px;
box-shadow:none;
}
.widget-mpris>box>button {
border-radius: 10px; border-radius: 10px;
-gtk-outline-radius: 10px;
} }
.widget-mpris-player { .widget-mpris-player {
padding: 5px 10px; padding: 8px;
margin: 10px; margin: 8px;
box-shadow: none;
} }
.widget-mpris-title { .widget-mpris-title {
font-weight: 700; font-weight: bold;
font-size: 1.25rem; font-size: 1.25rem;
} }
.widget-mpris-subtitle { .widget-mpris-subtitle {
font-size: 1.1rem; font-size: 1.1rem;
} }
.widget-buttons-grid {
font-size: x-large;
padding: 5px;
margin: 5px 10px 10px 10px;
border-radius: 10px;
background: @noti-bg-darker;
}
.widget-buttons-grid>flowbox>flowboxchild>button {
margin: 3px;
background: @theme_base_color;
border-radius: 10px;
color: @theme_text_color;
}
.widget-buttons-grid>flowbox>flowboxchild>button:hover {
background: rgba(180,190,254, 1);
color: @theme_base_color;
}
.widget-menubar>box>.menu-button-bar>button {
border: none;
background: transparent;
}
.topbar-buttons>button {
border: none;
background: transparent;
}
.widget-volume {
background: @noti-bg-darker;
padding: 5px 10px 5px 12px;
margin: 5px 10px;
border-radius: 10px;
font-size: 1.5rem;
color: #fff;
}
.widget-backlight {
background: @noti-bg-darker;
padding: 5px;
margin: 5px 10px;
border-radius: 10px;
font-size: 2rem;
color: #fff;
}

21
home/config/swaync/swaync-osd Executable file
View File

@ -0,0 +1,21 @@
#!/bin/bash
case $1 in
vol)
case $2 in
up)
/home/dom/.local/bin/volnote up
;;
down)
/home/dom/.local/bin/volnote down
;;
esac
;;
caps)
status=$(xset -q | sed -n 's/^.*Caps Lock:\s*\(\S*\).*$/\1/p')
notify-send -u low -e "Caps Lock $status" -h boolean:value:true -r 555
;;
esac
sleep 2
swaync-client --hide-latest

View File

@ -4,11 +4,11 @@
"spacing": 5, "spacing": 5,
"modules-left": ["group/sys", "tray", "hyprland/workspaces"], "modules-left": ["group/sys", "tray", "hyprland/workspaces"],
"modules-center": ["mpris", "wlr/taskbar"], "modules-center": ["mpris", "wlr/taskbar"],
"modules-right": ["group/stats", "group/net", "group/sound", "cava", "battery", "group/indicators", "custom/notification"], "modules-right": ["custom/cpugov", "group/net", "group/sound", "cava", "group/indicators"],
"group/indicators": { "group/indicators": {
"orientation": "inherit", "orientation": "inherit",
"modules": [ "modules": [
"gamemode", "privacy", "custom/updates", "idle_inhibitor" "gamemode", "custom/updates", "idle_inhibitor"
] ]
}, },
"group/net": { "group/net": {
@ -57,7 +57,7 @@
"tooltip-format-ethernet": "󰱔 {ifname}", "tooltip-format-ethernet": "󰱔 {ifname}",
"tooltip-format-disconnected": "Disconnected", "tooltip-format-disconnected": "Disconnected",
"max-length": 50, "max-length": 50,
"on-click": "nm-applet --indicator", "on-click": "nm-connection-editor",
"format-icons": ["󱛅", "󱛂", "󱛃", "󱚽"], "format-icons": ["󱛅", "󱛂", "󱛃", "󱚽"],
"max-length": 5 "max-length": 5
}, },
@ -67,8 +67,9 @@
}, },
"clock": { "clock": {
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>", "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format-alt": " <b>{:%d.%m.%Y}</b>", "format-alt": "<b>{:%d.%m.%Y %H:%M}</b>",
"format": " <b>{:%H:%M}</b>", "format": "<b>{:%d.%m. %H:%M}</b>",
"timezone": "DE",
"calendar": { "calendar": {
"mode" : "month", "mode" : "month",
"mode-mon-col" : 3, "mode-mon-col" : 3,
@ -136,7 +137,8 @@
"default": "⏸", "default": "⏸",
"mpv": "🎵", "mpv": "🎵",
"spotify": "", "spotify": "",
"firefox": "󰈹" "firefox": "󰈹",
"mercury": "󰈹"
}, },
"status-icons": { "status-icons": {
"paused": "⏸" "paused": "⏸"
@ -144,7 +146,15 @@
}, },
"custom/power": { "custom/power": {
"format": "󰣇", "format": "󰣇",
"on-click": "wlogout -P 1 -s -r 10 -c 10" // "on-click": "wlogout -P 1 -s -r 10 -c 10"
"menu": "on-click",
"menu-file": "~/.config/waybar/power_menu.xml",
"menu-actions": {
"shutdown": "shutdown",
"reboot": "reboot",
"suspend": "systemctl suspend",
"hibernate": "systemctl hibernate"
}
}, },
"gamemode": { "gamemode": {
"format": "{glyph}<small>{count}</small>", "format": "{glyph}<small>{count}</small>",
@ -161,9 +171,9 @@
"wlr/taskbar": { "wlr/taskbar": {
"markup": true, "markup": true,
"format": "{icon} {title:.10}", "format": "{icon} {title:.10}",
"icon-size": 16, "icon-size": 20,
"tooltip-format": "{title:.100}", "tooltip-format": "{title:.100}",
"sort-by-app-id": true, // "sort-by-app-id": true,
"on-click": "activate", "on-click": "activate",
"on-click-middle": "close", "on-click-middle": "close",
"on-right-middle": "minimize-raise", "on-right-middle": "minimize-raise",
@ -193,6 +203,7 @@
}, },
"window-rewrite": { "window-rewrite": {
"firefox": " ", "firefox": " ",
"mercury-default": " ",
"LibreWolf": " ", "LibreWolf": " ",
"celluloid": " ", "celluloid": " ",
"videostream": " ", "videostream": " ",
@ -405,6 +416,13 @@
"tooltip-icon-size": 12 "tooltip-icon-size": 12
} }
] ]
},
"custom/weather": {
"exec": "${HOME}/.config/waybar/waybar-weather Oberhausen+Germany",
"return-type": "json",
"format": "{}",
"tooltip": true,
"interval": 3600
} }
} }

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<object class="GtkMenu" id="menu">
<child>
<object class="GtkMenuItem" id="suspend">
<property name="label">Suspend</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="hibernate">
<property name="label">Hibernate</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="shutdown">
<property name="label">Shutdown</property>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="delimiter1"/>
</child>
<child>
<object class="GtkMenuItem" id="reboot">
<property name="label">Reboot</property>
</object>
</child>
</object>
</interface>

View File

@ -1,6 +1,6 @@
* { * {
border: none; border: none;
font-family: "Hack Nerd Font", sans-serif; font-family: "JetBrainsMono Nerd Font", sans-serif;
font-size: 13px; font-size: 13px;
color:alpha(@theme_text_color, 0.8); color:alpha(@theme_text_color, 0.8);
} }

View File

@ -1,6 +1,6 @@
* { * {
border: none; border: none;
font-family: "Hack Nerd Font", sans-serif; font-family: "JetBrainsMono Nerd Font", sans-serif;
font-size: 13px; font-size: 13px;
color:alpha(@theme_text_color, 0.8); color:alpha(@theme_text_color, 0.8);
} }
@ -84,11 +84,15 @@ window#waybar {
#custom-power { #custom-power {
margin-left:0; margin-left:0;
margin-right:0; margin-right:0;
padding-left:0;
} }
#user { #user {
padding-left:0; padding-left:0;
font-weight:bold; font-weight:bold;
} }
#custom-weather {
padding-left: 5px;
}
#stats .drawer-child { #stats .drawer-child {
@ -102,6 +106,10 @@ window#waybar {
margin: 0; margin: 0;
} }
#custom-notification {
padding-right:0
}
/** /**
* SOUND * SOUND
**/ **/
@ -138,7 +146,8 @@ window#waybar {
} }
#custom-updates { #custom-updates {
padding-right:12px padding-right:5px;
padding-left: 5px;
} }

View File

@ -0,0 +1,19 @@
#!/usr/bin/env bash
for i in {1..5}
do
text=$(curl -s "https://wttr.in/$1?format=1")
if [[ $? == 0 ]]
then
text=$(echo "$text" | sed -E "s/\s+/ /g")
tooltip=$(curl -s "https://wttr.in/$1?format=4")
if [[ $? == 0 ]]
then
tooltip=$(echo "$tooltip" | sed -E "s/\s+/ /g")
tooltip="${tooltip//+/ }"
echo "{\"text\":\"$text\", \"tooltip\":\"$tooltip\"}"
exit
fi
fi
sleep 2
done
echo "{\"text\":\"error\", \"tooltip\":\"error\"}"

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@ -2,12 +2,17 @@
folder = /home/dom/Pictures/Wallpaper folder = /home/dom/Pictures/Wallpaper
fill = Fill fill = Fill
sort = name sort = name
backend = swaybg backend = swww
color = #241F31 color = #241F31
language = en language = en
subfolders = True subfolders = True
wallpaper = /home/dom/Pictures/Wallpaper/MonarchOS.png wallpaper = /home/dom/Pictures/Wallpaper/MonarchOS.png
monitors = All monitors = All
swww_transition = any swww_transition = any
swww_transition_type = any
swww_transition_step = 90
swww_transition_angle = 0
swww_transition_duration = 2
post_command = post_command =
show_hidden = False

View File

@ -1,5 +1,5 @@
Net/ThemeName "Catppuccin-Mocha-Standard-Lavender-Dark" Net/ThemeName "catppuccin-mocha-lavender-standard+default"
Net/IconThemeName "Flatery-Dark" Net/IconThemeName "Tela-circle-purple-dark"
Gtk/CursorThemeName "Sweet-cursors" Gtk/CursorThemeName "Sweet-cursors"
Net/EnableEventSounds 1 Net/EnableEventSounds 1
EnableInputFeedbackSounds 0 EnableInputFeedbackSounds 0

138
setup.sh
View File

@ -15,7 +15,7 @@ BOLD=$(tput bold)
NORMAL=$(tput sgr0) NORMAL=$(tput sgr0)
clear clear
LOG="install.log" LOG="install.log"
MONARCHOS_DIR=$PWD HYPRMOONARCH_DIR=$PWD
@ -70,7 +70,7 @@ function inst_zsh {
pkg_inst $key pkg_inst $key
done done
cp -rf $MONARCHOS_DIR/home/.zshrc $HOME/.zshrc cp -rf $HYPRMOONARCH_DIR/home/.zshrc $HOME/.zshrc
chown $USER:$USER $HOME/.zshrc chown $USER:$USER $HOME/.zshrc
sudo git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions sudo git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
@ -78,7 +78,7 @@ function inst_zsh {
sudo git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k sudo git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
chsh -s /usr/bin/zsh chsh -s /usr/bin/zsh
cp -rf $MONARCHOS_DIR/home/.p10k.zsh $HOME/.p10k.zsh cp -rf $HYPRMOONARCH_DIR/home/.p10k.zsh $HOME/.p10k.zsh
fi fi
} }
@ -92,22 +92,22 @@ function inst_basic_pkgs {
if [[ $confirm_basics == "Y" ]]; if [[ $confirm_basics == "Y" ]];
then then
declare -a pkg_list=(jq network-manager-applet alarm-clock-applet man-db hardinfo networkmanager-openvpn udisks2 plocate vim alacritty gettext-hostname neovim lsd alsa-utils ponymix btop powertop polkit lxsession timeshift timeshift-autosnap pcmanfm librewolf-bin fzf) declare -a pkg_list=(jq network-manager-applet alarm-clock-applet man-db hardinfo networkmanager-openvpn udisks2 plocate vim alacritty gettext-hostname neovim lsd alsa-utils ponymix btop powertop polkit polkit-gnome timeshift timeshift-autosnap pcmanfm librewolf-bin fzf)
for key in "${pkg_list[@]}" for key in "${pkg_list[@]}"
do do
pkg_inst $key pkg_inst $key
done done
sudo cp $MONARCHOS_DIR/usr/local/bin/volnote /usr/local/bin sudo cp $HYPRMOONARCH_DIR/usr/local/bin/volnote /usr/local/bin
cp -Rf $MONARCHOS_DIR/home/config/alacritty $HOME/.config/alacritty cp -Rf $HYPRMOONARCH_DIR/home/config/alacritty $HOME/.config/alacritty
chown $USER:$USER $HOME/.config/alacritty chown $USER:$USER $HOME/.config/alacritty
cp -Rf $MONARCHOS_DIR/home/config/btop $HOME/.config/btop cp -Rf $HYPRMOONARCH_DIR/home/config/btop $HOME/.config/btop
chown $USER:$USER $HOME/.config/btop chown $USER:$USER $HOME/.config/btop
cp -Rf $MONARCHOS_DIR/home/config/lsd $HOME/.config/lsd cp -Rf $HYPRMOONARCH_DIR/home/config/lsd $HOME/.config/lsd
chown $USER:$USER $HOME/.config/lsd chown $USER:$USER $HOME/.config/lsd
paru -S informant paru -S informant
@ -133,12 +133,11 @@ function inst_paru {
rustup default stable 2>&1 | tee -a $LOG rustup default stable 2>&1 | tee -a $LOG
rustup update rustup update
mkdir $MONARCHOS_DIR/.cache rm -rf $HYPRMOONARCH_DIR/.cache/paru-git
rm -rf $MONARCHOS_DIR/.cache/paru-git git clone https://aur.archlinux.org/paru.git $HYPRMOONARCH_DIR/.cache/paru-git
git clone https://aur.archlinux.org/paru.git $MONARCHOS_DIR/.cache/paru-git cd $HYPRMOONARCH_DIR/.cache/paru-git
cd $MONARCHOS_DIR/.cache/paru-git
makepkg -si makepkg -si
cd $MONARCHOS_DIR cd $HYPRMOONARCH_DIR
git pull git pull
@ -208,35 +207,13 @@ function inst_noise_supr {
done done
mkdir -p $HOME/.config/pipewire/pipewire.conf.d/ mkdir -p $HOME/.config/pipewire/pipewire.conf.d/
cp -f $MONARCHOS_DIR/home/config/pipewire/pipewire.conf.d/99-input-denoising.conf $HOME/.config/pipewire/pipewire.conf.d/99-input-denoising.conf cp -f $HYPRMOONARCH_DIR/home/config/pipewire/pipewire.conf.d/99-input-denoising.conf $HOME/.config/pipewire/pipewire.conf.d/99-input-denoising.conf
systemctl restart --user pipewire.service systemctl restart --user pipewire.service
fi fi
} }
function inst_resources {
echo "-"
echo "Installing ${BOLD}Resources Monitor${NORMAL} [AUR: resources]"
echo -n "${BOLD}Continue?${NORMAL} (Y/N) "
read confirm_resources
if [[ $confirm_resources == "Y" ]];
then
declare -a pkg_list=(resources)
for key in "${pkg_list[@]}"
do
pkg_inst $key
done
DESKFILE="/usr/share/applications/net.nokyan.Resources.desktop"
if test -f "$DESKFILE"; then
cp -f $DESKFILE $HOME/.local/share/applications
sed -i "s|Exec=resources|Exec=env GTK_THEME=:dark resources|g" $HOME/.local/share/applications/net.nokyan.Resources.desktop
fi
fi
}
function inst_clamav { function inst_clamav {
echo "-" echo "-"
echo "Installing ClamAV - Anti-Virus Scanner with freshclam and fangfrisch" echo "Installing ClamAV - Anti-Virus Scanner with freshclam and fangfrisch"
@ -258,7 +235,7 @@ function inst_clamav {
if command -v nemo &> /dev/null if command -v nemo &> /dev/null
then then
cp -Rf $MONARCHOS_DIR/usr/share/nemo/actions/clamscan.nemo_action /usr/share/nemo/actions cp -Rf $HYPRMOONARCH_DIR/usr/share/nemo/actions/clamscan.nemo_action /usr/share/nemo/actions
fi fi
fi fi
@ -278,31 +255,33 @@ function set_gui {
pkg_inst $key pkg_inst $key
done done
cp -Rf $MONARCHOS_DIR/home/config/gtk-3.0 $HOME/.config/gtk-3.0 cp -Rf $HYPRMOONARCH_DIR/home/config/gtk-3.0 $HOME/.config/gtk-3.0
chown $USER:$USER $HOME/.config/gtk-3.0 chown $USER:$USER $HOME/.config/gtk-3.0
cp -Rf $MONARCHOS_DIR/home/config/gtk-4.0 $HOME/.config/gtk-4.0 cp -Rf $HYPRMOONARCH_DIR/home/config/gtk-4.0 $HOME/.config/gtk-4.0
chown $USER:$USER $HOME/.config/gtk-4.0 chown $USER:$USER $HOME/.config/gtk-4.0
install $MONARCHOS_DIR/home/config/gtk-3.0/settings.ini $HOME/.config/gtk-3.0/settings.ini install $HYPRMOONARCH_DIR/home/config/gtk-3.0/settings.ini $HOME/.config/gtk-3.0/settings.ini
install $MONARCHOS_DIR/home/config/gtk-4.0/settings.ini $HOME/.config/gtk-4.0/settings.ini install $HYPRMOONARCH_DIR/home/config/gtk-4.0/settings.ini $HOME/.config/gtk-4.0/settings.ini
gsettings set org.gnome.desktop.interface gtk-theme "Catppuccin-Mocha-Standard-Lavender-Dark" gsettings set org.gnome.desktop.interface gtk-theme "catppuccin-mocha-lavender-standard+default-dark"
gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
gsettings set org.gnome.desktop.interface cursor-theme Sweet-cursors gsettings set org.gnome.desktop.interface cursor-theme Sweet-cursors
xdg-mime default pcmanfm.desktop inode/directory
#gsettings set org.cinnamon.desktop.default-applications.terminal exec alacritty #gsettings set org.cinnamon.desktop.default-applications.terminal exec alacritty
sudo mkdir -p /usr/local/share/fonts/ sudo mkdir -p /usr/local/share/fonts/
sudo install -C $MONARCHOS_DIR/usr/local/share/fonts/MonarchOS.ttf /usr/local/share/fonts/MonarchOS.ttf sudo install -C $HYPRMOONARCH_DIR/usr/local/share/fonts/MonarchOS.ttf /usr/local/share/fonts/MonarchOS.ttf
sudo install -C $MONARCHOS_DIR/usr/local/share/fonts/Icomoon-Feather.ttf /usr/local/share/fonts/Icomoon-Feather.ttf sudo install -C $HYPRMOONARCH_DIR/usr/local/share/fonts/Icomoon-Feather.ttf /usr/local/share/fonts/Icomoon-Feather.ttf
sudo install -C $MONARCHOS_DIR/etc/fonts/local.conf /etc/fonts/local.conf sudo install -C $HYPRMOONARCH_DIR/etc/fonts/local.conf /etc/fonts/local.conf
fc-cache -f fc-cache -f
WALLPAPER_DIR=$HOME/Pictures/Wallpaper WALLPAPER_DIR=$HOME/Pictures/Wallpaper
if [ ! -d "$WALLPAPER_DIR" ]; then if [ ! -d "$WALLPAPER_DIR" ]; then
mkdir -p $WALLPAPER_DIR mkdir -p $WALLPAPER_DIR
fi fi
install -C $MONARCHOS_DIR/home/Pictures/Wallpaper/MonarchOS.png $WALLPAPER_DIR/MonarchOS.png install -C $HYPRMOONARCH_DIR/home/Pictures/Wallpaper/MonarchOS.png $WALLPAPER_DIR/MonarchOS.png
fi fi
} }
@ -319,13 +298,13 @@ function inst_rofi {
pkg_inst $key pkg_inst $key
done done
cp -Rf $MONARCHOS_DIR/home/config/rofi $HOME/.config/rofi cp -Rf $HYPRMOONARCH_DIR/home/config/rofi $HOME/.config/rofi
chown $USER:$USER $HOME/.config/rofi chown $USER:$USER $HOME/.config/rofi
sudo cp -Rf $MONARCHOS_DIR/usr/share/settings-menu /usr/share/settings-menu sudo cp -Rf $HYPRMOONARCH_DIR/usr/share/settings-menu /usr/share/settings-menu
cargo install --git=https://github.com/nate-sys/hypr-empty cargo install --git=https://github.com/nate-sys/hypr-empty
cp -Rf $MONARCHOS_DIR/home/config/hypr-empty $HOME/.config/hypr-empty cp -Rf $HYPRMOONARCH_DIR/home/config/hypr-empty $HOME/.config/hypr-empty
fi fi
} }
@ -367,7 +346,7 @@ function inst_screenshot {
pkg_inst $key pkg_inst $key
done done
sudo cp -Rf $MONARCHOS_DIR/usr/local/bin/hyprm-screenshot /usr/local/bin/ sudo cp -Rf $HYPRMOONARCH_DIR/usr/local/bin/hyprm-screenshot /usr/local/bin/
fi fi
} }
@ -384,15 +363,15 @@ function inst_hypr {
pkg_inst $key pkg_inst $key
done done
sudo cp -Rf $MONARCHOS_DIR/etc/wlogout/style.css /etc/wlogout/style.css sudo cp -Rf $HYPRMOONARCH_DIR/etc/wlogout/style.css /etc/wlogout/style.css
sudo cp -Rf $MONARCHOS_DIR/etc/wlogout/layout /etc/wlogout/layout sudo cp -Rf $HYPRMOONARCH_DIR/etc/wlogout/layout /etc/wlogout/layout
cp -Rf $MONARCHOS_DIR/home/config/swaync $HOME/.config/swaync cp -Rf $HYPRMOONARCH_DIR/home/config/swaync $HOME/.config/swaync
chown $USER:$USER $HOME/.config/swaync chown $USER:$USER $HOME/.config/swaync
cp -Rf $MONARCHOS_DIR/home/config/hypr $HOME/.config/hypr cp -Rf $HYPRMOONARCH_DIR/home/config/hypr $HOME/.config/hypr
chown $USER:$USER $HOME/.config/hypr chown $USER:$USER $HOME/.config/hypr
cp -Rf $MONARCHOS_DIR/home/config/waybar $HOME/.config/waybar cp -Rf $HYPRMOONARCH_DIR/home/config/waybar $HOME/.config/waybar
chown $USER:$USER $HOME/.config/waybar chown $USER:$USER $HOME/.config/waybar
if [ -z "$HYPRLAND_INSTANCE_SIGNATURE" ] if [ -z "$HYPRLAND_INSTANCE_SIGNATURE" ]
@ -402,7 +381,7 @@ function inst_hypr {
hyprctl setcursor Sweet-cursors 16 hyprctl setcursor Sweet-cursors 16
fi fi
cp -Rf $MONARCHOS_DIR/home/config/waypaper $HOME/.config/waypaper cp -Rf $HYPRMOONARCH_DIR/home/config/waypaper $HOME/.config/waypaper
chown -R $USER:$USER $HOME/.config/waypaper chown -R $USER:$USER $HOME/.config/waypaper
sed -i "s|USERNAME|${USER}|g" $HOME/.config/waypaper/config.ini sed -i "s|USERNAME|${USER}|g" $HOME/.config/waypaper/config.ini
if [ -z "$HYPRLAND_INSTANCE_SIGNATURE" ] if [ -z "$HYPRLAND_INSTANCE_SIGNATURE" ]
@ -428,16 +407,16 @@ function inst_bspwm {
pkg_inst $key pkg_inst $key
done done
cp -Rf $MONARCHOS_DIR/home/config/bspwm $HOME/.config/bspwm cp -Rf $HYPRMOONARCH_DIR/home/config/bspwm $HOME/.config/bspwm
chown $USER:$USER $HOME/.config/bspwm chown $USER:$USER $HOME/.config/bspwm
cp -Rf $MONARCHOS_DIR/home/config/sxhkd $HOME/.config/sxhkd cp -Rf $HYPRMOONARCH_DIR/home/config/sxhkd $HOME/.config/sxhkd
chown $USER:$USER $HOME/.config/sxhkd chown $USER:$USER $HOME/.config/sxhkd
cp -Rf $MONARCHOS_DIR/home/config/picom $HOME/.config/picom cp -Rf $HYPRMOONARCH_DIR/home/config/picom $HOME/.config/picom
chown $USER:$USER $HOME/.config/picom chown $USER:$USER $HOME/.config/picom
cp -Rf $MONARCHOS_DIR/home/config/polybar $HOME/.config/polybar cp -Rf $HYPRMOONARCH_DIR/home/config/polybar $HOME/.config/polybar
chown $USER:$USER $HOME/.config/polybar chown $USER:$USER $HOME/.config/polybar
fi fi
} }
@ -455,7 +434,7 @@ function inst_conky {
pkg_inst $key pkg_inst $key
done done
cp -Rf $MONARCHOS_DIR/home/config/conky $HOME/.config/conky cp -Rf $HYPRMOONARCH_DIR/home/config/conky $HOME/.config/conky
chown $USER:$USER $HOME/.config/conkys chown $USER:$USER $HOME/.config/conkys
fi fi
} }
@ -467,7 +446,7 @@ function inst_sddm {
read confirm_sddm read confirm_sddm
if [[ $confirm_sddm == "Y" ]]; if [[ $confirm_sddm == "Y" ]];
then then
declare -a pkg_list=(sddm qt5-quickcontrols qt5-graphicaleffects) declare -a pkg_list=(sddm qt5-quickcontrols qt5-graphicaleffects qt6-svg qt6-declarative)
for key in "${pkg_list[@]}" for key in "${pkg_list[@]}"
do do
pkg_inst $key pkg_inst $key
@ -475,19 +454,26 @@ function inst_sddm {
log "REMEMBER: this will fail if you don't disable any other display manager before" log "REMEMBER: this will fail if you don't disable any other display manager before"
log "clear package cache" # log "clear package cache"
rm -rf $HOME/.cache/Elegant-sddm-monarch # rm -rf $HOME/.cache/Elegant-sddm-monarch
log "clone sddm theme" # log "clone sddm theme"
git clone https://gitea.nevaforget.de/dom/Elegant-sddm-monarch/ $HOME/.cache/Elegant-sddm-monarch # git clone https://gitea.nevaforget.de/dom/Elegant-sddm-monarch/ $HOME/.cache/Elegant-sddm-monarch
log "copy sddm theme to destination" # log "copy sddm theme to destination"
sudo cp -rf $HOME/.cache/Elegant-sddm-monarch/Elegant /usr/share/sddm/themes/monarch # sudo cp -rf $HOME/.cache/Elegant-sddm-monarch/Elegant /usr/share/sddm/themes/monarch
log "set current sddm theme" # log "set current sddm theme"
sudo cp -rf /usr/lib/sddm/sddm.conf.d/default.conf /etc/sddm.conf # sudo cp -rf /usr/lib/sddm/sddm.conf.d/default.conf /etc/sddm.conf
sudo sed -i "s/^Current=.*/Current=monarch/g" /etc/sddm.conf # sudo sed -i "s/^Current=.*/Current=monarch/g" /etc/sddm.conf
log "set default user image" log "set default user image"
sudo cp -f $MONARCHOS_DIR/usr/share/sddm/faces/.face /usr/share/sddm/faces/.face sudo cp -f $HYPRMOONARCH_DIR/usr/share/sddm/faces/.face /usr/share/sddm/faces/.face
cp -f $MONARCHOS_DIR/usr/share/sddm/faces/.face $HOME/.face cp -f $HYPRMOONARCH_DIR/usr/share/sddm/faces/.face $HOME/.face
cd $HYPRMOONARCH_DIR/.cache
wget --unlink https://github.com/catppuccin/sddm/releases/download/v1.0.0/catppuccin-mocha.zip
sudo unzip catppuccin-mocha.zip -d /usr/share/sddm/themes/
cd $HYPRMOONARCH_DIR
sudo sed -i "s/^Current=.*/Current=catppuccin-mocha/g" /etc/sddm.conf
sudo systemctl enable sddm sudo systemctl enable sddm
fi fi
@ -521,7 +507,9 @@ function log () {
function init { function init {
rm $LOG rm -f $LOG
mkdir $HYPRMOONARCH_DIR/.cache
log "Installation start\n" log "Installation start\n"
@ -543,7 +531,7 @@ function init {
inst_ufw inst_ufw
inst_clamav inst_clamav
inst_noise_supr inst_noise_supr
inst_resources
inst_bluet inst_bluet
inst_screenshot inst_screenshot

269
stower.sh Executable file
View File

@ -0,0 +1,269 @@
#!/usr/bin/env bash
if [ "$(id -u)" -eq 0 ]; then
printf "Don't run this script as root!"
exit 1
else
printf "not root"
fi
GREEN="$(tput setaf 2)[OK]$(tput sgr0)"
RED="$(tput setaf 1)[ERROR]$(tput sgr0)"
YELLOW="$(tput setaf 3)[NOTE]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
BOLD=$(tput bold)
NORMAL=$(tput sgr0)
clear
LOG="install.log"
HYPRMOONARCH_DIR=$PWD
set -e
function pkg_inst () {
log "Checking if $1 is installed..."
if pacman -Qs $1; then
log "Found $IS_INSTALLED ...skipping"
else
log "$1 not found. Installing..."
paru -S $1 2>&1 | tee -a $LOG
fi
}
function inst_paru {
echo "-"
echo "Installing AUR helper ${BOLD}paru${NORMAL}?"
echo "${BOLD}paru${NORMAL} is mandatory."
if command -v paru > /dev/null 2>&1; then
echo "${BOLD}paru ${NORMAL}already installed. Skipping..."
else
echo -n "${BOLD}Continue?${NORMAL} (Y/N) "
read confirm_paru 2>&1 | tee -a $LOG
if [[ $confirm_paru == "Y" ]];
then
sudo pacman -Syu --needed base-devel 2>&1 | tee -a $LOG
sudo pacman -Syu rustup 2>&1 | tee -a $LOG
rustup default stable 2>&1 | tee -a $LOG
rustup update
rm -rf $HYPRMOONARCH_DIR/.cache/paru-git
git clone https://aur.archlinux.org/paru.git $HYPRMOONARCH_DIR/.cache/paru-git
cd $HYPRMOONARCH_DIR/.cache/paru-git
makepkg -si
cd $HYPRMOONARCH_DIR
git pull
mkdir -p $HOME/.local/bin
echo 'PATH="$HOME/.local/bin:$PATH"' | sudo tee -a /etc/environment >/dev/null
else
echo "exiting"
exit 1
fi
fi
}
function inst_sddm {
echo "-"
echo "Installing SDDM - Fancy Display/Login Manager"
echo "REMEMBER: this will fail if you don't disable any other display manager before"
declare -a pkg_list=(sddm qt5-quickcontrols qt5-graphicaleffects qt6-svg qt6-declarative)
for key in "${pkg_list[@]}"
do
pkg_inst $key
done
echo "set default user image"
sudo cp -f $HYPRMOONARCH_DIR/usr/share/sddm/faces/.face /usr/share/sddm/faces/.face
cp -f $HYPRMOONARCH_DIR/usr/share/sddm/faces/.face $HOME/.face
cd $HYPRMOONARCH_DIR/.cache
wget --unlink https://github.com/catppuccin/sddm/releases/download/v1.0.0/catppuccin-mocha.zip
sudo unzip catppuccin-mocha.zip -d /usr/share/sddm/themes/
cd $HYPRMOONARCH_DIR
sudo sed -i "s/^Current=.*/Current=catppuccin-mocha/g" /etc/sddm.conf
sudo systemctl enable sddm
}
function inst_pkgs {
log "-"
log "Installing ${BOLD}Arch packages.${NORMAL}"
log "This includes all neccessary dependencies. You definitely want this."
log "${BOLD}Continue?${NORMAL} (Y/N) "
read confirm_basics
log "$confirm_basics"
if [[ $confirm_basics == "Y" ]];
then
declare -a pkg_list=(jq network-manager-applet alarm-clock-applet man-db hardinfo networkmanager-openvpn udisks2 plocate vim alacritty gettext-hostname neovim lsd alsa-utils ponymix btop powertop polkit polkit-gnome timeshift timeshift-autosnap pcmanfm librewolf-bin fzf unzip wayland hyprland hypridle hyprlock hyprcursor hyprkeys hyprpicker swww waypaper xdg-desktop-portal-hyprland wdisplays waybar nwg-look cliphist wlogout swayosd hyprlock waybar-module-pacman-updates swaync ufw zsh oh-my-zsh noise-suppression-for-voice)
for key in "${pkg_list[@]}"
do
pkg_inst $key
done
sudo cp $HYPRMOONARCH_DIR/usr/local/bin/{*} /usr/local/bin/
paru -S informant
sudo informant read --all
fi
}
function inst_bluet {
echo "-"
echo "Installing ${BOLD}Bluetooth${NORMAL} Support"
echo -n "${BOLD}Continue?${NORMAL} (Y/N) "
read confirm_bluet
if [[ $confirm_bluet == "Y" ]];
then
declare -a pkg_list=(bluez bluez-utils-compat blueberry)
for key in "${pkg_list[@]}"
do
pkg_inst $key
done
sudo systemctl start bluetooth.service
sudo systemctl enable bluetooth.service
fi
}
function inst_davfs {
echo "-"
echo "Installing ${BOLD}WebDAV / davfs2${NORMAL} support, including pcmanfm integration"
echo -n "${BOLD}Continue?${NORMAL} (Y/N) "
read confirm_davfs
if [[ $confirm_davfs == "Y" ]];
then
declare -a pkg_list=(davfs2 gvfs gvfs-dnssd)
for key in "${pkg_list[@]}"
do
pkg_inst $key
done
sudo usermod -a -G davfs2 $USER
fi
}
function inst_clamav {
echo "-"
echo "Installing ClamAV - Anti-Virus Scanner with freshclam and fangfrisch"
echo -n "${BOLD}Continue?${NORMAL} (Y/N) "
read confirm_clamav
if [[ $confirm_clamav == "Y" ]];
then
declare -a pkg_list=(clamav python-fangfrisch)
for key in "${pkg_list[@]}"
do
pkg_inst $key
done
sudo systemctl start clamav-daemon.service
sudo systemctl enable clamav-daemon.service
sudo freshclam
sudo -u clamav /usr/bin/fangfrisch --conf /etc/fangfrisch/fangfrisch.conf initdb
sudo systemctl enable fangfrisch.timer
if command -v nemo &> /dev/null
then
cp -Rf $HYPRMOONARCH_DIR/usr/share/nemo/actions/clamscan.nemo_action /usr/share/nemo/actions
fi
fi
}
function rebooter {
echo "-"
echo "I recommend to reboot at this point. But you should at least log out and in again."
echo -n "${BOLD}Continue with Reboot?${NORMAL} (Y/N) "
read confirm_rebot
if [[ $confirm_rebot == "Y" ]];
then
sudo reboot
fi
}
function setup {
# ZSH
log "Cloning ZSH Plugins..."
sudo git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
log "Done... zsh-autosuggestions"
sudo git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
log "Done... zsh-syntax-highlighting"
sudo git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
log "Done... powerlevel10k"
chsh -s /usr/bin/zsh
log "Done... Set zsh as default shell"
# GUI
log "Set up GUI Themes"
gsettings set org.gnome.desktop.interface gtk-theme "Catppuccin-Mocha-Standard-Lavender-Dark"
log "Done... Window decorations"
gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
log "Done... Set color-scheme to prefer-dark"
gsettings set org.gnome.desktop.interface cursor-theme Sweet-cursors
log "Done... Set a sweet cursor"
hyprpm update
hyprpm add https://github.com/DreamMaoMao/hycov
hyprpm enable hycov
# Extra Font
sudo mkdir -p /usr/local/share/fonts/
sudo install -C $HYPRMOONARCH_DIR/usr/local/share/fonts/MonarchOS.ttf /usr/local/share/fonts/MonarchOS.ttf
sudo install -C $HYPRMOONARCH_DIR/usr/local/share/fonts/Icomoon-Feather.ttf /usr/local/share/fonts/Icomoon-Feather.ttf
sudo install -C $HYPRMOONARCH_DIR/etc/fonts/local.conf /etc/fonts/local.conf
fc-cache -f
# Wallpaper
WALLPAPER_DIR=$HOME/Pictures/Wallpaper
if [ ! -d "$WALLPAPER_DIR" ]; then
mkdir -p $WALLPAPER_DIR
fi
install -C $HYPRMOONARCH_DIR/home/Pictures/Wallpaper/MonarchOS.png $WALLPAPER_DIR/MonarchOS.png
}
function init {
rm -f $LOG
mkdir $HYPRMOONARCH_DIR/.cache
log "Installation start\n"
inst_paru
type paru >/dev/null 2>&1 || { echo >&2 "I require paru but it's not installed. Aborting."; exit 1; }
inst_sddm
inst_pkgs
setup
inst_bluet
inst_clamav
inst_davfs
rebooter
}
printf "#####################################\n"
printf "$(tput setaf 2)Welcome to MoonArch. Feel free.\n@version 1.0\n$(tput sgr0)"
printf "#####################################\n"
printf "\n"
printf "$(tput setaf 1)Don't run this script as ROOT!\n$(tput sgr0)"
printf "\n"
printf "${YELLOW} ${BOLD}This will clear and overwrite some config files\nand this can not be reverted. No Backups are created!\n "
printf "\n"
echo -n "${BOLD}Continue?${NORMAL} (Y/N) "
read confirm
if [[ $confirm == "Y" ]];
then
init
else
echo "Goodbye sweet butterfly"
exit 1
fi

21
usr/local/bin/btnote Executable file
View File

@ -0,0 +1,21 @@
#!/bin/bash
## author moonarch.de
## date 2024-08-16
## loop battery devices and send notification on low percentage
NOTIFY_AT_PERCENTAGE=70
ICON="/usr/share/icons/Tela-purple-dark/symbolic/status/battery-empty-symbolic.svg"
for d in $(upower -e);
do
DEVICE_DATA=$(upower -i "$d");
PERCENTAGE=$(echo $DEVICE_DATA | grep -Po '(?<=(percentage: )).*(?= icon)')
PER_INT=$(echo "${PERCENTAGE//%}")
DEVICE_NAME=$(echo $DEVICE_DATA | grep -Po '(?<=(model: )).*(?= serial)')
if [ ! -z $DEVICE_NAME ] && [ $PER_INT -lt $NOTIFY_AT_PERCENTAGE ]; then
notify-send -t 5000 -e "Low battery $DEVICE_NAME $PER_INT%" -i "$ICON" -h string:x-canonical-private-synchronous:battery -h int:value:"$PER_INT" -u critical
fi
done