initial commit
3
README.md
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# Linux Dotfiles
|
||||||
|
|
||||||
|
A collection of dotfiles I use for my Arch Linux system.
|
32
alacritty/alacritty.toml
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
# _____ .__ .__ __ __
|
||||||
|
# / _ \ | | _____ ___________|__|/ |__/ |_ ___.__.
|
||||||
|
# / /_\ \| | \__ \ _/ ___\_ __ \ \ __\ __< | |
|
||||||
|
# / | \ |__/ __ \\ \___| | \/ || | | | \___ |
|
||||||
|
# \____|__ /____(____ /\___ >__| |__||__| |__| / ____|
|
||||||
|
# \/ \/ \/ \/
|
||||||
|
#
|
||||||
|
# https://alacritty.org/config-alacritty.html
|
||||||
|
# Configuration by Coby Powers
|
||||||
|
|
||||||
|
import = [
|
||||||
|
"~/.config/alacritty/catppuccin-mocha.toml"
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
[window]
|
||||||
|
padding.x = 10
|
||||||
|
padding.y = 10
|
||||||
|
opacity = 0.9
|
||||||
|
|
||||||
|
[scrolling]
|
||||||
|
multiplier = 2
|
||||||
|
|
||||||
|
[font]
|
||||||
|
normal.family = "JetBrains Mono Nerd Font"
|
||||||
|
size = 12
|
||||||
|
|
||||||
|
[cursor]
|
||||||
|
style.shape = "Beam"
|
||||||
|
style.blinking = "On"
|
||||||
|
blink_interval = 500
|
||||||
|
unfocused_hollow = false
|
75
alacritty/catppuccin-mocha.toml
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
[colors.primary]
|
||||||
|
background = "#1E1E2E"
|
||||||
|
foreground = "#CDD6F4"
|
||||||
|
dim_foreground = "#CDD6F4"
|
||||||
|
bright_foreground = "#CDD6F4"
|
||||||
|
|
||||||
|
[colors.cursor]
|
||||||
|
text = "#1E1E2E"
|
||||||
|
cursor = "#F5E0DC"
|
||||||
|
|
||||||
|
[colors.vi_mode_cursor]
|
||||||
|
text = "#1E1E2E"
|
||||||
|
cursor = "#B4BEFE"
|
||||||
|
|
||||||
|
[colors.search.matches]
|
||||||
|
foreground = "#1E1E2E"
|
||||||
|
background = "#A6ADC8"
|
||||||
|
|
||||||
|
[colors.search.focused_match]
|
||||||
|
foreground = "#1E1E2E"
|
||||||
|
background = "#A6E3A1"
|
||||||
|
|
||||||
|
[colors.footer_bar]
|
||||||
|
foreground = "#1E1E2E"
|
||||||
|
background = "#A6ADC8"
|
||||||
|
|
||||||
|
[colors.hints.start]
|
||||||
|
foreground = "#1E1E2E"
|
||||||
|
background = "#F9E2AF"
|
||||||
|
|
||||||
|
[colors.hints.end]
|
||||||
|
foreground = "#1E1E2E"
|
||||||
|
background = "#A6ADC8"
|
||||||
|
|
||||||
|
[colors.selection]
|
||||||
|
text = "#1E1E2E"
|
||||||
|
background = "#F5E0DC"
|
||||||
|
|
||||||
|
[colors.normal]
|
||||||
|
black = "#45475A"
|
||||||
|
red = "#F38BA8"
|
||||||
|
green = "#A6E3A1"
|
||||||
|
yellow = "#F9E2AF"
|
||||||
|
blue = "#89B4FA"
|
||||||
|
magenta = "#F5C2E7"
|
||||||
|
cyan = "#94E2D5"
|
||||||
|
white = "#BAC2DE"
|
||||||
|
|
||||||
|
[colors.bright]
|
||||||
|
black = "#585B70"
|
||||||
|
red = "#F38BA8"
|
||||||
|
green = "#A6E3A1"
|
||||||
|
yellow = "#F9E2AF"
|
||||||
|
blue = "#89B4FA"
|
||||||
|
magenta = "#F5C2E7"
|
||||||
|
cyan = "#94E2D5"
|
||||||
|
white = "#A6ADC8"
|
||||||
|
|
||||||
|
[colors.dim]
|
||||||
|
black = "#45475A"
|
||||||
|
red = "#F38BA8"
|
||||||
|
green = "#A6E3A1"
|
||||||
|
yellow = "#F9E2AF"
|
||||||
|
blue = "#89B4FA"
|
||||||
|
magenta = "#F5C2E7"
|
||||||
|
cyan = "#94E2D5"
|
||||||
|
white = "#BAC2DE"
|
||||||
|
|
||||||
|
[[colors.indexed_colors]]
|
||||||
|
index = 16
|
||||||
|
color = "#FAB387"
|
||||||
|
|
||||||
|
[[colors.indexed_colors]]
|
||||||
|
index = 17
|
||||||
|
color = "#F5E0DC"
|
61
hypr/catppuccin-mocha.conf
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
$rosewaterAlpha = f5e0dc
|
||||||
|
$flamingoAlpha = f2cdcd
|
||||||
|
$pinkAlpha = f5c2e7
|
||||||
|
$mauveAlpha = cba6f7
|
||||||
|
$redAlpha = f38ba8
|
||||||
|
$maroonAlpha = eba0ac
|
||||||
|
$peachAlpha = fab387
|
||||||
|
$yellowAlpha = f9e2af
|
||||||
|
$greenAlpha = a6e3a1
|
||||||
|
$tealAlpha = 94e2d5
|
||||||
|
$skyAlpha = 89dceb
|
||||||
|
$sapphireAlpha = 74c7ec
|
||||||
|
$blueAlpha = 89b4fa
|
||||||
|
$lavenderAlpha = b4befe
|
||||||
|
|
||||||
|
$textAlpha = cdd6f4
|
||||||
|
$subtext1Alpha = bac2de
|
||||||
|
$subtext0Alpha = a6adc8
|
||||||
|
|
||||||
|
$overlay2Alpha = 9399b2
|
||||||
|
$overlay1Alpha = 7f849c
|
||||||
|
$overlay0Alpha = 6c7086
|
||||||
|
|
||||||
|
$surface2Alpha = 585b70
|
||||||
|
$surface1Alpha = 45475a
|
||||||
|
$surface0Alpha = 313244
|
||||||
|
|
||||||
|
$baseAlpha = 1e1e2e
|
||||||
|
$mantleAlpha = 181825
|
||||||
|
$crustAlpha = 11111b
|
||||||
|
|
||||||
|
$rosewater = 0xfff5e0dc
|
||||||
|
$flamingo = 0xfff2cdcd
|
||||||
|
$pink = 0xfff5c2e7
|
||||||
|
$mauve = 0xffcba6f7
|
||||||
|
$red = 0xfff38ba8
|
||||||
|
$maroon = 0xffeba0ac
|
||||||
|
$peach = 0xfffab387
|
||||||
|
$yellow = 0xfff9e2af
|
||||||
|
$green = 0xffa6e3a1
|
||||||
|
$teal = 0xff94e2d5
|
||||||
|
$sky = 0xff89dceb
|
||||||
|
$sapphire = 0xff74c7ec
|
||||||
|
$blue = 0xff89b4fa
|
||||||
|
$lavender = 0xffb4befe
|
||||||
|
|
||||||
|
$text = 0xffcdd6f4
|
||||||
|
$subtext1 = 0xffbac2de
|
||||||
|
$subtext0 = 0xffa6adc8
|
||||||
|
|
||||||
|
$overlay2 = 0xff9399b2
|
||||||
|
$overlay1 = 0xff7f849c
|
||||||
|
$overlay0 = 0xff6c7086
|
||||||
|
|
||||||
|
$surface2 = 0xff585b70
|
||||||
|
$surface1 = 0xff45475a
|
||||||
|
$surface0 = 0xff313244
|
||||||
|
|
||||||
|
$base = 0xff1e1e2e
|
||||||
|
$mantle = 0xff181825
|
||||||
|
$crust = 0xff11111b
|
49
hypr/hypridle.conf
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
# ___ ___ .__ .___.__
|
||||||
|
# / | \ ___.__._____________|__| __| _/| | ____
|
||||||
|
# / ~ < | |\____ \_ __ \ |/ __ | | | _/ __ \
|
||||||
|
# \ Y /\___ || |_> > | \/ / /_/ | | |_\ ___/
|
||||||
|
# \___|_ / / ____|| __/|__| |__\____ | |____/\___ >
|
||||||
|
# \/ \/ |__| \/ \/
|
||||||
|
#
|
||||||
|
# https://wiki.hyprland.org/Hypr-Ecosystem/hypridle/
|
||||||
|
# Configuration by Coby Powers
|
||||||
|
|
||||||
|
general {
|
||||||
|
lock_cmd = pidof hyprlock || hyprlock
|
||||||
|
unlock_cmd = pidof hyprlock && pkill -USR1 hyprlock
|
||||||
|
before_sleep_cmd = loginctl lock-session
|
||||||
|
after_sleep_cmd = hyprctl dispatch dpms on
|
||||||
|
}
|
||||||
|
|
||||||
|
listener {
|
||||||
|
timeout = 180
|
||||||
|
on-timeout = brightnessctl -s s 10
|
||||||
|
on-resume = brightnessctl -r
|
||||||
|
}
|
||||||
|
|
||||||
|
listener {
|
||||||
|
timeout = 180
|
||||||
|
on-timeout = brightnessctl -sd asus::kbd_backlight s 0
|
||||||
|
on-resume = brightnessctl -rd asus::kbd_backlight
|
||||||
|
}
|
||||||
|
|
||||||
|
listener {
|
||||||
|
timeout = 300
|
||||||
|
on-timeout = loginctl lock-session
|
||||||
|
}
|
||||||
|
|
||||||
|
listener {
|
||||||
|
timeout = 600
|
||||||
|
on-timeout = hyprctl dispatch dpms off
|
||||||
|
on-resume = hyprctl dispatch dpms on
|
||||||
|
}
|
||||||
|
|
||||||
|
listener {
|
||||||
|
timeout = 1200
|
||||||
|
on-timeout = playerctl pause
|
||||||
|
}
|
||||||
|
|
||||||
|
listener {
|
||||||
|
timeout = 1800
|
||||||
|
on-timeout = systemctl suspend
|
||||||
|
}
|
207
hypr/hyprland.conf
Normal file
@ -0,0 +1,207 @@
|
|||||||
|
# ___ ___ .__ .___
|
||||||
|
# / | \ ___.__._____________| | _____ ____ __| _/
|
||||||
|
# / ~ < | |\____ \_ __ \ | \__ \ / \ / __ |
|
||||||
|
# \ Y /\___ || |_> > | \/ |__/ __ \| | \/ /_/ |
|
||||||
|
# \___|_ / / ____|| __/|__| |____(____ /___| /\____ |
|
||||||
|
# \/ \/ |__| \/ \/ \/
|
||||||
|
#
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#general
|
||||||
|
# Configuration by Coby Powers
|
||||||
|
|
||||||
|
source = ~/.config/hypr/catppuccin-mocha.conf
|
||||||
|
|
||||||
|
monitor = HDMI-A-1, 2560x1440@144, 0x1080, 1
|
||||||
|
monitor = DP-10, 1920x1080@74.97, 320x0, 1
|
||||||
|
monitor = DP-11, 1920x1080@74.97,320x0, 1
|
||||||
|
monitor = eDP-1, 2560x1600@120, 2560x1400, 2
|
||||||
|
monitor = eDP-2, 2560x1600@120, 2560x1400, 2
|
||||||
|
monitor = , preferred, auto, auto
|
||||||
|
|
||||||
|
# keybind variables
|
||||||
|
$mainMod = SUPER
|
||||||
|
|
||||||
|
# app variables
|
||||||
|
$terminal = alacritty
|
||||||
|
$browser = brave
|
||||||
|
$fileManager = nautilus
|
||||||
|
$musicPlayer = spotify
|
||||||
|
$menu = wofi
|
||||||
|
$powerMenu = wlogout
|
||||||
|
|
||||||
|
# environment variables
|
||||||
|
env = XDG_CURRENT_DESKTOP, Hyprland
|
||||||
|
env = XDG_SESSION_DESTOP, Hyprland
|
||||||
|
env = XDG_SESSION_TYPE, wayland
|
||||||
|
env = GDK_BACKEND, wayland,x11
|
||||||
|
env = QT_QPA_PLATFORM, wayland;xcb
|
||||||
|
env = QT_QPA_PLATFORMTHEME, qt6ct
|
||||||
|
env = QT_AUTO_SCREEN_SCALE_FACTOR, 1
|
||||||
|
env = SDL_VIDEODRIVER, wayland
|
||||||
|
env = CLUTTER_BACKEND, wayland
|
||||||
|
env = ELECTRON_OZONE_PLATFORM_HINT, wayland
|
||||||
|
|
||||||
|
env = HYPRCURSOR_THEME, Oxygen-18-White
|
||||||
|
env = HYPRCURSOR_SIZE, 24
|
||||||
|
|
||||||
|
# launch system apps
|
||||||
|
exec-once = ~/.config/hypr/scripts/xdg-portal-hyprland.sh
|
||||||
|
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 = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||||
|
|
||||||
|
# launch util apps
|
||||||
|
exec-once = wl-paste --watch cliphist store
|
||||||
|
exec-once = hyprpaper
|
||||||
|
exec-once = hypridle
|
||||||
|
exec-once = waybar
|
||||||
|
exec-once = nm-applet
|
||||||
|
exec-once = blueman-applet
|
||||||
|
exec-once = nextcloud-client
|
||||||
|
exec-once = notify-send -u low "Daily Quote" "$(python ~/.config/hypr/scripts/quotes.py)"
|
||||||
|
|
||||||
|
general {
|
||||||
|
border_size = 2
|
||||||
|
gaps_in = 5
|
||||||
|
gaps_out = 10
|
||||||
|
col.inactive_border = $surface0
|
||||||
|
col.active_border = $blue
|
||||||
|
resize_on_border = true
|
||||||
|
}
|
||||||
|
|
||||||
|
decoration {
|
||||||
|
rounding = 12
|
||||||
|
inactive_opacity = 0.95
|
||||||
|
}
|
||||||
|
|
||||||
|
animations {
|
||||||
|
enabled = true
|
||||||
|
|
||||||
|
bezier = custom, .8, 0, .08, 1
|
||||||
|
|
||||||
|
animation = windows, 1, 2, custom
|
||||||
|
animation = layers, 1, 2, custom
|
||||||
|
animation = fade, 1, 3, default
|
||||||
|
animation = border, 1, 3, default
|
||||||
|
animation = borderangle, 1, 3, default
|
||||||
|
animation = workspaces, 1, 2, custom
|
||||||
|
}
|
||||||
|
|
||||||
|
misc {
|
||||||
|
disable_hyprland_logo = true
|
||||||
|
disable_splash_rendering = true # isn't working
|
||||||
|
}
|
||||||
|
|
||||||
|
input {
|
||||||
|
repeat_rate = 30
|
||||||
|
repeat_delay = 400
|
||||||
|
follow_mouse = 1
|
||||||
|
|
||||||
|
touchpad {
|
||||||
|
natural_scroll = true
|
||||||
|
scroll_factor = 0.3
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
gestures {
|
||||||
|
workspace_swipe = true
|
||||||
|
}
|
||||||
|
|
||||||
|
device {
|
||||||
|
name = razer-razer-viper-ultimate-dongle
|
||||||
|
#sensitivity = -0.9
|
||||||
|
}
|
||||||
|
|
||||||
|
dwindle {
|
||||||
|
pseudotile = true
|
||||||
|
preserve_split = true
|
||||||
|
}
|
||||||
|
|
||||||
|
windowrulev2 = float, class:(Lxappearance)
|
||||||
|
windowrulev2 = float, class:(nwg-look)
|
||||||
|
windowrulev2 = float, class:(qt5ct)
|
||||||
|
windowrulev2 = float, class:(qt6ct)
|
||||||
|
windowrulev2 = float, class:(com.nextcloud.desktopclient.nextcloud)
|
||||||
|
windowrulev2 = float, class:(minecraft-launcher)
|
||||||
|
windowrulev2 = float, class:(org.gnome.Nautilus)
|
||||||
|
windowrulev2 = float, title:(Save File)
|
||||||
|
windowrulev2 = float, title:(Open File)
|
||||||
|
|
||||||
|
windowrulev2 = opacity 0.9, class:(org.gnome.Nautilus)
|
||||||
|
windowrulev2 = opacity, 0.9, class:(wofi)
|
||||||
|
windowrulev2 = opacity 0.95, class:(signal)
|
||||||
|
|
||||||
|
layerrule = blur, logout_dialog
|
||||||
|
|
||||||
|
bind = $mainMod, T, exec, $terminal
|
||||||
|
bind = $mainMod, B, exec, $browser
|
||||||
|
bind = $mainMod, F, exec, $fileManager
|
||||||
|
bind = $mainMod, M, exec, $musicPlayer
|
||||||
|
bind = $mainMod, R, exec, $menu
|
||||||
|
bind = $mainMod, P, exec, $powerMenu
|
||||||
|
bind = $mainMod, Q, killactive,
|
||||||
|
bind = $mainMod SHIFT, Q, exit,
|
||||||
|
bind = $mainMod, K, togglefloating,
|
||||||
|
bind = $mainMod, J, togglesplit, # dwindle
|
||||||
|
bind = $mainMod, C, exec, grim -g "$(slurp -p)" -t ppm - | convert - -format '%[pixel:p{0,0}]' txt:- | tail -n 1 | cut -d ' ' -f 4 | wl-copy
|
||||||
|
bind = $mainMod, V, exec, cliphist list | wofi --dmenu | cliphist decode | wl-copy
|
||||||
|
bind = $mainMod SHIFT, V, exec, cliphist wipe
|
||||||
|
bind = $mainMod, S, exec, grim -g "$(slurp)" - | wl-copy && wl-paste > /home/coby/Pictures/Screenshots/$(date +"scrn_%Y%m%d_%H%M%S.png") && notify-send "Screenshot taken!"
|
||||||
|
bind = $mainMod SHIFT, S, exec, grim - | wl-copy && wl-paste > /home/coby/Pictures/Screenshots/$(date +"fscrn_%Y%m%d_%H%M%S.png") && notify-send "Screenshot taken!"
|
||||||
|
|
||||||
|
bind = $mainMod, left, swapwindow, l
|
||||||
|
bind = $mainMod, right, swapwindow, r
|
||||||
|
bind = $mainMod, up, swapwindow, u
|
||||||
|
bind = $mainMod, down, swapwindow, d
|
||||||
|
|
||||||
|
bind = $mainMod SHIFT, left, resizeactive, -5% 0%
|
||||||
|
bind = $mainMod SHIFT, right, resizeactive, 5% 0%
|
||||||
|
bind = $mainMod SHIFT, up, resizeactive, 0% -5%
|
||||||
|
bind = $mainMod SHIFT, down, resizeactive, 0% 5%
|
||||||
|
|
||||||
|
bind = $mainMod, 1, workspace, 1
|
||||||
|
bind = $mainMod, 2, workspace, 2
|
||||||
|
bind = $mainMod, 3, workspace, 3
|
||||||
|
bind = $mainMod, 4, workspace, 4
|
||||||
|
bind = $mainMod, 5, workspace, 5
|
||||||
|
bind = $mainMod, 6, workspace, 6
|
||||||
|
bind = $mainMod, 7, workspace, 7
|
||||||
|
bind = $mainMod, 8, workspace, 8
|
||||||
|
bind = $mainMod, 9, workspace, 9
|
||||||
|
bind = $mainMod, 0, workspace, 10
|
||||||
|
|
||||||
|
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||||
|
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||||
|
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||||
|
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||||
|
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||||
|
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||||
|
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||||
|
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||||
|
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||||
|
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||||
|
|
||||||
|
bind = $mainMod, N, togglespecialworkspace, magic
|
||||||
|
bind = $mainMod SHIFT, N, movetoworkspace, special:magic
|
||||||
|
|
||||||
|
bind = $mainMod, mouse_down, workspace, e+1
|
||||||
|
bind = $mainMod, mouse_up, workspace, e-1
|
||||||
|
|
||||||
|
bindm = $mainMod, mouse:272, movewindow
|
||||||
|
bindm = $mainMod, mouse:273, resizewindow
|
||||||
|
|
||||||
|
# TODO: maybe extrapolate notification behavior into scripts
|
||||||
|
bindel = ,XF86AudioRaiseVolume, exec, pamixer -i 5; notify-send -h string:x-canonical-private-synchronous:vol "Volume set to $(pamixer --get-volume)%"
|
||||||
|
bindel = ,XF86AudioLowerVolume, exec, pamixer -d 5; notify-send -h string:x-canonical-private-synchronous:vol "Volume set to $(pamixer --get-volume)%"
|
||||||
|
bindel = ,XF86KbdBrightnessUp, exec, brightnessctl -d asus::kbd_backlight set 1%+; notify-send -h string:x-canonical-private-synchronous:kbd_bright "Keyboard brightness set to $(brightnessctl -d asus::kbd_backlight g)"
|
||||||
|
bindel = ,XF86KbdBrightnessDown, exec, brightnessctl -d asus::kbd_backlight set 1%-; notify-send -h string:x-canonical-private-synchronous:kbd_bright "Keyboard brightness set to $(brightnessctl -d asus::kbd_backlight g)"
|
||||||
|
bindel = ,XF86MonBrightnessUp, exec, brightnessctl set 5%+; notify-send -h string:x-canonical-private-synchronous:mon_bright "Monitor brightness set to $(brightnessctl g)"
|
||||||
|
bindel = ,XF86MonBrightnessDown, exec, brightnessctl set 5%-; notify-send -h string:x-canonical-private-synchronous:mon_bright "Monitor brightness set to $(brightnessctl g)"
|
||||||
|
bindl = ,XF86AudioMute, exec, pamixer -t; notify-send -h string:x-canonical-private-synchronous:vol "Volume is now $(pamixer --get-volume-human)"
|
||||||
|
bindl = ,XF86AudioMicMute, exec, pamixer --default-source -t
|
||||||
|
bindl = ,XF86AudioPrev, exec, playerctl previous
|
||||||
|
bindl = ,XF86AudioPlay, exec, playerctl play-pause
|
||||||
|
bindl = ,XF86AudioNext, exec, playerctl next
|
||||||
|
bindl = ,XF86TouchpadToggle, exec, notify-send -u normal "Unavailable" "Disabling the touchpad has not been implemented yet."
|
||||||
|
bind = ,156, exec, rog-control-center # rog button
|
||||||
|
bind = ,210, exec, asusctl led-mode -n # aura button
|
||||||
|
bind = ,211, exec, asusctl profile -n # fan button
|
80
hypr/hyprlock.conf
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
# ___ ___ .__ __
|
||||||
|
# / | \ ___.__._____________| | ____ ____ | | __
|
||||||
|
# / ~ < | |\____ \_ __ \ | / _ \_/ ___\| |/ /
|
||||||
|
# \ Y /\___ || |_> > | \/ |_( <_> ) \___| <
|
||||||
|
# \___|_ / / ____|| __/|__| |____/\____/ \___ >__|_ \
|
||||||
|
# \/ \/ |__| \/ \/
|
||||||
|
#
|
||||||
|
# https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/
|
||||||
|
# Configuration by Coby Powers
|
||||||
|
|
||||||
|
background {
|
||||||
|
monitor =
|
||||||
|
path = /home/coby/Nextcloud/Wallpapers/Color Mountains.png
|
||||||
|
#color = rgba(30, 30, 46, 0.9)
|
||||||
|
|
||||||
|
blur_passes = 3
|
||||||
|
blur_size = 8
|
||||||
|
noise = 0.0117
|
||||||
|
contrast = 0.8916
|
||||||
|
brightness = 0.8172
|
||||||
|
vibrancy = 0.1696
|
||||||
|
vibrancy_darkness = 0.0
|
||||||
|
}
|
||||||
|
|
||||||
|
label {
|
||||||
|
monitor =
|
||||||
|
text = cmd[update:1000] echo $(date +"%l:%M")
|
||||||
|
color = rgb(205, 214, 244)
|
||||||
|
font_size = 180
|
||||||
|
font_family = Noto Sans
|
||||||
|
shadow_passes = 1
|
||||||
|
shadow_color = rgb(49, 50, 68)
|
||||||
|
|
||||||
|
position = 0, -110
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
|
}
|
||||||
|
|
||||||
|
input-field {
|
||||||
|
monitor =
|
||||||
|
size = 600, 75
|
||||||
|
outline_thickness = 3
|
||||||
|
dots_size = 0.25
|
||||||
|
dots_spacing = 0.3
|
||||||
|
dots_center = false
|
||||||
|
dots_rounding = -1
|
||||||
|
outer_color = rgb(49, 50, 68)
|
||||||
|
inner_color = rgb(30, 30, 46)
|
||||||
|
font_color = rgb(205, 214, 244)
|
||||||
|
fade_on_empty = true
|
||||||
|
fade_timeout = 1000
|
||||||
|
placeholder_text = <span foreground="##6c7086">Please enter your password...</span>
|
||||||
|
hide_input = false
|
||||||
|
rounding = 16
|
||||||
|
check_color = rgb(249, 226, 175)
|
||||||
|
fail_color = rgb(243, 139, 168)
|
||||||
|
fail_text =
|
||||||
|
fail_transition = 200
|
||||||
|
capslock_color = rgb(203, 166, 247)
|
||||||
|
numlock_color = rgb(203, 166, 247)
|
||||||
|
bothlock_color = rgb(203, 166, 247)
|
||||||
|
invert_numlock = false
|
||||||
|
swap_font_color = false
|
||||||
|
|
||||||
|
position = 0, -200
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
|
}
|
||||||
|
|
||||||
|
label {
|
||||||
|
monitor =
|
||||||
|
text = cmd[update:60000] echo -e $(python ~/.config/hypr/scripts/quotes.py || "Hello, Coby")
|
||||||
|
color = rgb(166, 173, 200)
|
||||||
|
font_size = 18
|
||||||
|
font_family = JetBrainsMono Nerd Font
|
||||||
|
|
||||||
|
position = 0, -35
|
||||||
|
halign = center
|
||||||
|
valign = bottom
|
||||||
|
}
|
12
hypr/hyprpaper.conf
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
# ___ ___
|
||||||
|
# / | \ ___.__.________________________ ______ ___________
|
||||||
|
# / ~ < | |\____ \_ __ \____ \__ \ \____ \_/ __ \_ __ \
|
||||||
|
# \ Y /\___ || |_> > | \/ |_> > __ \| |_> > ___/| | \/
|
||||||
|
# \___|_ / / ____|| __/|__| | __(____ / __/ \___ >__|
|
||||||
|
# \/ \/ |__| |__| \/|__| \/
|
||||||
|
#
|
||||||
|
# https://wiki.hyprland.org/Hypr-Ecosystem/hyprpaper/
|
||||||
|
# Configuration by Coby Powers
|
||||||
|
|
||||||
|
preload = /home/coby/Nextcloud/Wallpapers/Color Mountains.png
|
||||||
|
wallpaper = ,/home/coby/Nextcloud/Wallpapers/Color Mountains.png
|
17
hypr/scripts/powermenu.sh
Executable file
@ -0,0 +1,17 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
op=$( echo -e " Shutdown\n Reboot\n Suspend\n Lock" | wofi --dmenu | awk '{print tolower($2)}' )
|
||||||
|
|
||||||
|
case $op in
|
||||||
|
shutdown)
|
||||||
|
shutdown now
|
||||||
|
;;
|
||||||
|
reboot)
|
||||||
|
;&
|
||||||
|
suspend)
|
||||||
|
systemctl $op
|
||||||
|
;;
|
||||||
|
lock)
|
||||||
|
hyprlock
|
||||||
|
;;
|
||||||
|
esac
|
13
hypr/scripts/quotes.py
Executable file
@ -0,0 +1,13 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
import requests
|
||||||
|
|
||||||
|
res = requests.get('https://zenquotes.io/api/random')
|
||||||
|
|
||||||
|
if not res:
|
||||||
|
exit(1)
|
||||||
|
|
||||||
|
json = res.json()
|
||||||
|
data = json[0]
|
||||||
|
|
||||||
|
print(f"{data['q']}\n -- {data['a']}")
|
10
hypr/scripts/xdg-portal-hyprland.sh
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
sleep 1
|
||||||
|
killall xdg-desktop-portal-hyprland
|
||||||
|
killall xdg-desktop-portal-wlr
|
||||||
|
killall xdg-desktop-portal
|
||||||
|
/usr/lib/xdg-desktop-portal-hyprland &
|
||||||
|
|
||||||
|
sleep 2
|
||||||
|
/usr/lib/xdg-desktop-portal &
|
27
mako/config
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
sort=-time
|
||||||
|
layer=overlay
|
||||||
|
background-color=#181825
|
||||||
|
progress-color=#1e1e2e
|
||||||
|
text-color=#cdd6f4
|
||||||
|
width=400
|
||||||
|
height=200
|
||||||
|
outer-margin=45,45
|
||||||
|
margin=0,0,12,0
|
||||||
|
padding=16
|
||||||
|
border-size=2
|
||||||
|
border-color=#b4befe
|
||||||
|
border-radius=10
|
||||||
|
max-icon-size=64
|
||||||
|
default-timeout=5000
|
||||||
|
ignore-timeout=1
|
||||||
|
font=monospace 12
|
||||||
|
|
||||||
|
[urgency=low]
|
||||||
|
border-color=#b4befe
|
||||||
|
|
||||||
|
[urgency=normal]
|
||||||
|
border-color=#fab387
|
||||||
|
|
||||||
|
[urgency=high]
|
||||||
|
border-color=#f38ba8
|
||||||
|
default-timeout=0
|
145
waybar/config.jsonc
Normal file
@ -0,0 +1,145 @@
|
|||||||
|
// __ __ ___.
|
||||||
|
// / \ / \_____ ___.__.\_ |__ _____ _______
|
||||||
|
// \ \/\/ /\__ \< | | | __ \\__ \\_ __ \
|
||||||
|
// \ / / __ \\___ | | \_\ \/ __ \| | \/
|
||||||
|
// \__/\ / (____ / ____| |___ (____ /__|
|
||||||
|
// \/ \/\/ \/ \/
|
||||||
|
//
|
||||||
|
// https://github.com/Alexays/Waybar/wiki
|
||||||
|
// Configuration by Coby Powers
|
||||||
|
|
||||||
|
{
|
||||||
|
"layer": "top",
|
||||||
|
"position": "top",
|
||||||
|
"height": 50,
|
||||||
|
"modules-left": ["custom/app-drawer", "hyprland/workspaces", "cpu", "disk", "memory", "custom/weather"],
|
||||||
|
"modules-center": ["clock", "custom/updates"],
|
||||||
|
"modules-right": ["temperature", "custom/power_profile", "battery", "pulseaudio", "pulseaudio#microphone", "tray"],
|
||||||
|
|
||||||
|
"custom/app-drawer": {
|
||||||
|
"format": "",
|
||||||
|
"on-click": "sleep 0.1 && wofi",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
"hyprland/workspaces": {
|
||||||
|
"persistent-workspaces": {
|
||||||
|
"1": [],
|
||||||
|
"2": [],
|
||||||
|
"3": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"cpu": {
|
||||||
|
"format": " {usage}%",
|
||||||
|
//"format": "{icon0}{icon1}{icon2}{icon3}{icon4}{icon5}{icon6}{icon7}{icon8}{icon9}{icon10}{icon11}{icon12}{icon13}{icon14}{icon15}",
|
||||||
|
"format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"],
|
||||||
|
//"tooltip-format": "CPU Usage\n{usage}% | {load}\n{avg_frequency} GHz\n\n{icon0}{icon1}{icon2}{icon3}{icon4}{icon5}{icon6}{icon7}\n{icon8}{icon9}{icon10}{icon11}{icon12}{icon13}{icon14}{icon15}",
|
||||||
|
"tooltip-format": "bruh",
|
||||||
|
"on-click": "alacritty -o 'window.startup_mode=\"Fullscreen\"' -e btop"
|
||||||
|
},
|
||||||
|
|
||||||
|
"disk": {
|
||||||
|
"format": " {percentage_used}%",
|
||||||
|
"tooltip-format": "Disk Usage\n\nFree: {percentage_free}%\nUsed: {percentage_used}%\nTotal: {total}",
|
||||||
|
"on-click": "alacritty -o 'window.startup_mode=\"Fullscreen\"' -e btop"
|
||||||
|
},
|
||||||
|
|
||||||
|
"memory": {
|
||||||
|
"format": " {percentage}%",
|
||||||
|
"tooltip-format": "Memory Usage\n\nFree: {avail} GiB\nUsed: {used} GiB\nTotal: {total} GiB",
|
||||||
|
"on-click": "alacritty -o 'window.startup_mode=\"Fullscreen\"' -e btop"
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/weather":{
|
||||||
|
"exec": "~/.config/waybar/scripts/weather.py",
|
||||||
|
"interval": 30,
|
||||||
|
"format": "{}",
|
||||||
|
"return-type": "json"
|
||||||
|
},
|
||||||
|
|
||||||
|
"clock": {
|
||||||
|
"format": "{:%I:%M %p • %D}",
|
||||||
|
"tooltip-format": "<big>{:%A, %b %d}</big>\n<tt>{calendar}</tt>",
|
||||||
|
"calendar": {
|
||||||
|
"format": {
|
||||||
|
"months": "",
|
||||||
|
"weekdays": "<span color='#89b4fa'><b><u>{}</u></b></span>",
|
||||||
|
"today": "<span color='#89b4fa'><b><u>{}</u></b></span>"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/updates":{
|
||||||
|
"exec": "~/.config/waybar/scripts/updates.sh json",
|
||||||
|
"interval": 300,
|
||||||
|
"format": "{}",
|
||||||
|
"on-click": "~/.config/waybar/scripts/updates.sh update",
|
||||||
|
"return-type": "json"
|
||||||
|
},
|
||||||
|
|
||||||
|
"temperature": {
|
||||||
|
"thermal-zone": 0,
|
||||||
|
"critical-threshold": 75,
|
||||||
|
"format": " {temperatureC}°C",
|
||||||
|
"format-critical": " {temperatureC}°C",
|
||||||
|
"tooltip-format": "CPU Temp\n{temperatureC}°C | {temperatureF}°F"
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/power_profile":{
|
||||||
|
"exec": "asusctl profile -p | sed s:'Active profile is '::",
|
||||||
|
"interval": 30,
|
||||||
|
"format": " {}",
|
||||||
|
"tooltip-format": "CPU Mode\n{}",
|
||||||
|
"on-click": "asusctl profile -n; pkill -SIGRTMIN+8 waybar",
|
||||||
|
"signal": 8
|
||||||
|
},
|
||||||
|
|
||||||
|
"battery": {
|
||||||
|
"states": {
|
||||||
|
"ok": 50,
|
||||||
|
"warning": 30,
|
||||||
|
"critical": 15
|
||||||
|
},
|
||||||
|
"format": "{icon} {capacity}%",
|
||||||
|
"format-charging": " {capacity}%",
|
||||||
|
"format-plugged": " {capacity}%",
|
||||||
|
"format-icons": ["", "", "", "", "", "", "", "", "", "", ""],
|
||||||
|
"tooltip-format": "Battery\n{capacity}% | {power} W\n\n{timeTo}"
|
||||||
|
},
|
||||||
|
|
||||||
|
"pulseaudio": {
|
||||||
|
"format": "{icon} {volume}%",
|
||||||
|
"tooltip-format": "{icon} {desc}",
|
||||||
|
"format-muted": " Muted",
|
||||||
|
"on-click": "pamixer -t",
|
||||||
|
"on-scroll-up": "pamixer -i 5",
|
||||||
|
"on-scroll-down": "pamixer -d 5",
|
||||||
|
"scroll-step": 5,
|
||||||
|
"format-icons": {
|
||||||
|
"headphone": "",
|
||||||
|
"hands-free": "",
|
||||||
|
"headset": "",
|
||||||
|
"phone": "",
|
||||||
|
"portable": "",
|
||||||
|
"car": "",
|
||||||
|
"default": ["", "", ""]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"pulseaudio#microphone": {
|
||||||
|
"format": "{format_source}",
|
||||||
|
"format-source": " {volume}%",
|
||||||
|
"format-source-muted": " Muted",
|
||||||
|
"tooltip-format": " {desc}",
|
||||||
|
"on-click": "pamixer --default-source -t",
|
||||||
|
"on-scroll-up": "pamixer --default-source -i 5",
|
||||||
|
"on-scroll-down": "pamixer --default-source -d 5",
|
||||||
|
"scroll-step": 5
|
||||||
|
},
|
||||||
|
|
||||||
|
"tray": {
|
||||||
|
"icon-size": 14,
|
||||||
|
"spacing": 10
|
||||||
|
}
|
||||||
|
}
|
27
waybar/scripts/updates.sh
Executable file
@ -0,0 +1,27 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
if [ ! -f /etc/arch-release ]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
AUR=$(paru -Qua | wc -l)
|
||||||
|
OFFICIAL=$(checkupdates | wc -l)
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
aur) echo " $AUR";;
|
||||||
|
official) echo " $OFFICIAL";;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ "$1" = "update" ]; then
|
||||||
|
alacritty -o 'window.startup_mode="Fullscreen"' -e 'paru'
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$1" = "json" ]; then
|
||||||
|
COUNT=$((OFFICIAL+AUR))
|
||||||
|
|
||||||
|
echo "{ \"text\": \" $COUNT\", \"alt\": \"$COUNT Updates\", \"tooltip\": \"Updates Available\n\nAUR: $AUR\nOfficial: $OFFICIAL\nTotal: $COUNT\" }"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$1" = "" ]; then
|
||||||
|
echo " $((OFFICIAL+AUR))"
|
||||||
|
fi
|
115
waybar/scripts/weather.py
Executable file
@ -0,0 +1,115 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
import json
|
||||||
|
import requests
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
|
ZIP_CODE = 38654
|
||||||
|
|
||||||
|
WEATHER_CODES = {
|
||||||
|
'113': '☀️',
|
||||||
|
'116': '⛅',
|
||||||
|
'119': '☁️',
|
||||||
|
'122': '☁️',
|
||||||
|
'143': '☁️',
|
||||||
|
'176': '🌧️',
|
||||||
|
'179': '🌧️',
|
||||||
|
'182': '🌧️',
|
||||||
|
'185': '🌧️',
|
||||||
|
'200': '⛈️',
|
||||||
|
'227': '🌨️',
|
||||||
|
'230': '🌨️',
|
||||||
|
'248': '☁️',
|
||||||
|
'260': '☁️',
|
||||||
|
'263': '🌧️',
|
||||||
|
'266': '🌧️',
|
||||||
|
'281': '🌧️',
|
||||||
|
'284': '🌧️',
|
||||||
|
'293': '🌧️',
|
||||||
|
'296': '🌧️',
|
||||||
|
'299': '🌧️',
|
||||||
|
'302': '🌧️',
|
||||||
|
'305': '🌧️',
|
||||||
|
'308': '🌧️',
|
||||||
|
'311': '🌧️',
|
||||||
|
'314': '🌧️',
|
||||||
|
'317': '🌧️',
|
||||||
|
'320': '🌨️',
|
||||||
|
'323': '🌨️',
|
||||||
|
'326': '🌨️',
|
||||||
|
'329': '❄️',
|
||||||
|
'332': ' ',
|
||||||
|
'335': '❄️',
|
||||||
|
'338': '❄️',
|
||||||
|
'350': '🌧️',
|
||||||
|
'353': '🌧️',
|
||||||
|
'356': '',
|
||||||
|
'359': '',
|
||||||
|
'362': '',
|
||||||
|
'365': '',
|
||||||
|
'368': '',
|
||||||
|
'371': '❄️',
|
||||||
|
'374': '',
|
||||||
|
'377': '',
|
||||||
|
'386': '',
|
||||||
|
'389': '',
|
||||||
|
'392': '',
|
||||||
|
'395': '❄️'
|
||||||
|
}
|
||||||
|
|
||||||
|
data = {}
|
||||||
|
|
||||||
|
weather = requests.get(f"https://wttr.in/{ZIP_CODE}?format=j1").json()
|
||||||
|
|
||||||
|
def format_time(time):
|
||||||
|
return time.replace("00", "").zfill(2)
|
||||||
|
|
||||||
|
def format_temp(temp):
|
||||||
|
return (hour['FeelsLikeF']+"°").ljust(3)
|
||||||
|
|
||||||
|
def format_chances(hour):
|
||||||
|
chances = {
|
||||||
|
"chanceoffog": "Fog",
|
||||||
|
"chanceoffrost": "Frost",
|
||||||
|
"chanceofovercast": "Overcast",
|
||||||
|
"chanceofrain": "Rain",
|
||||||
|
"chanceofsnow": "Snow",
|
||||||
|
"chanceofsunshine": "Sunshine",
|
||||||
|
"chanceofthunder": "Thunder",
|
||||||
|
"chanceofwindy": "Wind"
|
||||||
|
}
|
||||||
|
|
||||||
|
conditions = []
|
||||||
|
for event in chances.keys():
|
||||||
|
if int(hour[event]) > 0:
|
||||||
|
conditions.append(chances[event]+" "+hour[event]+"%")
|
||||||
|
return ", ".join(conditions)
|
||||||
|
|
||||||
|
tempint = int(weather['current_condition'][0]['FeelsLikeF'])
|
||||||
|
extrachar = ''
|
||||||
|
if tempint > 0 and tempint < 10:
|
||||||
|
extrachar = '+'
|
||||||
|
|
||||||
|
data['text'] = ' '+WEATHER_CODES[weather['current_condition'][0]['weatherCode']] + \
|
||||||
|
" "+extrachar+weather['current_condition'][0]['FeelsLikeF']+"°"
|
||||||
|
|
||||||
|
data['tooltip'] = f"<b>{weather['current_condition'][0]['weatherDesc'][0]['value']} {weather['current_condition'][0]['temp_F']}°</b>\n"
|
||||||
|
data['tooltip'] += f"Feels like: {weather['current_condition'][0]['FeelsLikeF']}°\n"
|
||||||
|
data['tooltip'] += f"Wind: {weather['current_condition'][0]['windspeedKmph']}Km/h\n"
|
||||||
|
data['tooltip'] += f"Humidity: {weather['current_condition'][0]['humidity']}%\n"
|
||||||
|
for i, day in enumerate(weather['weather']):
|
||||||
|
data['tooltip'] += f"\n<b>"
|
||||||
|
if i == 0:
|
||||||
|
data['tooltip'] += "Today, "
|
||||||
|
if i == 1:
|
||||||
|
data['tooltip'] += "Tomorrow, "
|
||||||
|
data['tooltip'] += f"{day['date']}</b>\n"
|
||||||
|
data['tooltip'] += f"⬆️ {day['maxtempF']}° ⬇️ {day['mintempF']}° "
|
||||||
|
data['tooltip'] += f"🌅 {day['astronomy'][0]['sunrise']} 🌇 {day['astronomy'][0]['sunset']}\n"
|
||||||
|
for hour in day['hourly']:
|
||||||
|
if i == 0:
|
||||||
|
if int(format_time(hour['time'])) < datetime.now().hour-2:
|
||||||
|
continue
|
||||||
|
data['tooltip'] += f"{format_time(hour['time'])} {WEATHER_CODES[hour['weatherCode']]} {format_temp(hour['FeelsLikeF'])} {hour['weatherDesc'][0]['value'].replace('Clear ', 'Clear')}, {format_chances(hour)}\n"
|
||||||
|
|
||||||
|
print(json.dumps(data))
|
175
waybar/style.css
Normal file
@ -0,0 +1,175 @@
|
|||||||
|
* {
|
||||||
|
border: none;
|
||||||
|
border-radius: 0;
|
||||||
|
font-family: "JetBrainsMono Nerd Font";
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
background: transparent;
|
||||||
|
color: #cdd6f4;
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip {
|
||||||
|
background: #1e1e2e;
|
||||||
|
border-radius: 10px;
|
||||||
|
border: 1px solid #181825;
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip label {
|
||||||
|
color: #cdd6f4;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip > * {
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-app-drawer,
|
||||||
|
#cpu,
|
||||||
|
#disk,
|
||||||
|
#memory,
|
||||||
|
#custom-weather,
|
||||||
|
#workspaces,
|
||||||
|
#clock,
|
||||||
|
#custom-updates,
|
||||||
|
#window,
|
||||||
|
#temperature,
|
||||||
|
#custom-power_profile,
|
||||||
|
#battery,
|
||||||
|
#pulseaudio,
|
||||||
|
#tray {
|
||||||
|
background: #1e1e2e;
|
||||||
|
opacity: 0.9;
|
||||||
|
padding: 0px 10px;
|
||||||
|
margin-top: 10px;
|
||||||
|
border: 1px solid #181825;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-app-drawer {
|
||||||
|
color: #94e2d5;
|
||||||
|
margin-left: 10px;
|
||||||
|
padding: 0 15px;
|
||||||
|
border-radius: 10px 0 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces {
|
||||||
|
margin-right: 10px;
|
||||||
|
padding-right: 5px;
|
||||||
|
border-radius: 0 10px 10px 0;
|
||||||
|
border-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#cpu,
|
||||||
|
#disk,
|
||||||
|
#memory {
|
||||||
|
color: #f2cdcd;
|
||||||
|
}
|
||||||
|
|
||||||
|
#cpu {
|
||||||
|
border-radius: 10px 0 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#disk {
|
||||||
|
border-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#memory {
|
||||||
|
border-left: none;
|
||||||
|
border-radius: 0 10px 10px 0;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-weather {
|
||||||
|
color: #f9e2af;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
color: #6c7086;
|
||||||
|
padding: 5px;
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.active {
|
||||||
|
color: #a6adc8;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.focused {
|
||||||
|
color: #a6adc8;
|
||||||
|
background: #eba0ac;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.urgent {
|
||||||
|
color: #11111b;
|
||||||
|
background: #a6e3a1;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button:hover {
|
||||||
|
background: #11111b;
|
||||||
|
color: #cdd6f4;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock {
|
||||||
|
color: #89b4fa;
|
||||||
|
border-radius: 10px 0 0 10px;
|
||||||
|
margin-left: 60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-updates {
|
||||||
|
border-left: 0;
|
||||||
|
border-radius: 0 10px 10px 0;
|
||||||
|
margin-right: 60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#temperature {
|
||||||
|
color: #94e2d5;
|
||||||
|
border-radius: 10px 0px 0px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#temperature.critical {
|
||||||
|
color: #eba0ac;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-power_profile {
|
||||||
|
color: #a6e3a1;
|
||||||
|
border-left: 0px;
|
||||||
|
border-right: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery {
|
||||||
|
color: #a6e3a1;
|
||||||
|
border-radius: 0 10px 10px 0;
|
||||||
|
margin-right: 10px;
|
||||||
|
border-left: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.ok {
|
||||||
|
color: #f9e2af;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.warning {
|
||||||
|
color: #fab387;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.critical {
|
||||||
|
color: #eba0ac;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pulseaudio {
|
||||||
|
color: #cba6f7;
|
||||||
|
border-radius: 10px 0 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pulseaudio.microphone {
|
||||||
|
color: #cba6f7;
|
||||||
|
border-radius: 0 10px 10px 0;
|
||||||
|
border-left: none;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray {
|
||||||
|
border-radius: 10px;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
BIN
wlogout/icons/active/hibernate.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
wlogout/icons/active/lock.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
wlogout/icons/active/logout.png
Normal file
After Width: | Height: | Size: 9.5 KiB |
BIN
wlogout/icons/active/reboot.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
wlogout/icons/active/shutdown.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
wlogout/icons/active/suspend.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
wlogout/icons/inactive/hibernate.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
wlogout/icons/inactive/lock.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
wlogout/icons/inactive/logout.png
Normal file
After Width: | Height: | Size: 9.2 KiB |
BIN
wlogout/icons/inactive/reboot.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
wlogout/icons/inactive/shutdown.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
wlogout/icons/inactive/suspend.png
Normal file
After Width: | Height: | Size: 19 KiB |
35
wlogout/layout
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"label" : "shutdown",
|
||||||
|
"action" : "systemctl poweroff",
|
||||||
|
"text" : "Shutdown"
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
"label" : "lock",
|
||||||
|
"action" : "loginctl lock-session",
|
||||||
|
"text" : "Lock"
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
"label" : "reboot",
|
||||||
|
"action" : "systemctl reboot",
|
||||||
|
"text" : "Reboot"
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
"label" : "logout",
|
||||||
|
"action" : "hyprctl dispatch exit 0",
|
||||||
|
"text" : "Logout"
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
"label" : "suspend",
|
||||||
|
"action" : "systemctl suspend",
|
||||||
|
"text" : "Suspend"
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
"label": "hibernate",
|
||||||
|
"action": "systemctl hibernate",
|
||||||
|
"text": "Hibernate"
|
||||||
|
}
|
69
wlogout/style.css
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
window {
|
||||||
|
background-color: rgba(17, 17, 17, 0.8);
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
margin: 4px;
|
||||||
|
color: #cdd6f4;
|
||||||
|
background-color: #1e1e2e;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: 50% 32%;
|
||||||
|
background-size: 25%;
|
||||||
|
border-radius: 10px;
|
||||||
|
transition: 0.2s ease-out all;
|
||||||
|
}
|
||||||
|
|
||||||
|
button:focus, button:active, button:hover {
|
||||||
|
background-color: #89b4fa;
|
||||||
|
color: #1e1e2e;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#shutdown {
|
||||||
|
background-image: image(url("./icons/inactive/shutdown.png"), url("./icons/inactive/shutdown.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#reboot {
|
||||||
|
background-image: image(url("./icons/inactive/reboot.png"), url("./icons/inactive/reboot.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#suspend {
|
||||||
|
background-image: image(url("./icons/inactive/suspend.png"), url("./icons/inactive/suspend.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#lock {
|
||||||
|
background-image: image(url("./icons/inactive/lock.png"), url("./icons/inactive/lock.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#logout {
|
||||||
|
background-image: image(url("./icons/inactive/logout.png"), url("./icons/inactive/logout.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#hibernate {
|
||||||
|
background-image: image(url("./icons/inactive/hibernate.png"), url("./icons/inactive/hibernate.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#shutdown:focus, #shutdown:active, #shutdown:hover {
|
||||||
|
background-image: image(url("./icons/active/shutdown.png"), url("./icons/active/shutdown.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#reboot:focus, #reboot:active, #reboot:hover {
|
||||||
|
background-image: image(url("./icons/active/reboot.png"), url("./icons/active/reboot.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#suspend:focus, #suspend:active, #suspend:hover {
|
||||||
|
background-image: image(url("./icons/active/suspend.png"), url("./icons/active/suspend.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#lock:focus, #lock:active, #lock:hover {
|
||||||
|
background-image: image(url("./icons/active/lock.png"), url("./icons/active/lock.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#logout:focus, #logout:active, #logout:hover {
|
||||||
|
background-image: image(url("./icons/active/logout.png"), url("./icons/active/logout.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#hibernate:focus, #hibernate:active, #hibernate:hover {
|
||||||
|
background-image: image(url("./icons/active/hibernate.png"), url("./icons/active/hibernate.png"));
|
||||||
|
}
|
||||||
|
|
15
wofi/config
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
width=600
|
||||||
|
height=400
|
||||||
|
location=center
|
||||||
|
show=drun
|
||||||
|
prompt=Search...
|
||||||
|
filter_rate=100
|
||||||
|
allow_markup=true
|
||||||
|
no_actions=true
|
||||||
|
halign=fill
|
||||||
|
orientation=vertical
|
||||||
|
content_halign=fill
|
||||||
|
insensitive=true
|
||||||
|
allow_images=true
|
||||||
|
image_size=40
|
||||||
|
gtk_dark=true
|
62
wofi/style.css
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
window {
|
||||||
|
border-radius: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#input {
|
||||||
|
margin: 4px;
|
||||||
|
padding: 6px 18px;
|
||||||
|
border: none;
|
||||||
|
color: #cdd6f4;
|
||||||
|
background-color: #1e1e2e;
|
||||||
|
outline: none;
|
||||||
|
border-radius: 8px;
|
||||||
|
margin: 10px;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#input:first-child > :nth-child(1) {
|
||||||
|
margin-right: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#input > * {
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
#input:focus {
|
||||||
|
margin: 12px;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#inner-box {
|
||||||
|
}
|
||||||
|
|
||||||
|
#outer-box {
|
||||||
|
}
|
||||||
|
|
||||||
|
#scroll {
|
||||||
|
margin: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#img {
|
||||||
|
margin-right: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#text {
|
||||||
|
color: #e2e7f9;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
#text:selected {
|
||||||
|
color: #1e1e2e;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry {
|
||||||
|
padding: 6px 8px;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry:selected {
|
||||||
|
background-color: #89b4fa;
|
||||||
|
border: none;
|
||||||
|
outline: none;
|
||||||
|
}
|