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;
|
||||
}
|