hyprland config
|
|
@ -113,8 +113,8 @@ alias lm='ls -alh |more' # pipe through 'more'
|
|||
alias lw='ls -xAh' # wide listing format
|
||||
alias ll='ls -Fls' # long listing format
|
||||
alias labc='ls -lap' #alphabetical sort
|
||||
alias lf="ls -l | egrep -v '^d'" # files only
|
||||
alias ldir="ls -l | egrep '^d'" # directories only
|
||||
alias lf="ls -l | grep -E -v '^d'" # files only
|
||||
alias ldir="ls -l | grep -E '^d'" # directories only
|
||||
|
||||
# alias chmod commands
|
||||
alias mx='chmod a+x'
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@
|
|||
# https://wiki.hyprland.org/Configuring/Configuring-Hyprland/
|
||||
|
||||
# THEME
|
||||
source = ~/.config/hypr/mocha.conf
|
||||
#source = ~/.config/hypr/mocha.conf
|
||||
source = $HOME/.config/hypr/wallust/wallust-hyprland.conf #
|
||||
source = $HOME/.config/hypr/keybinds.conf
|
||||
|
||||
# MONITORS
|
||||
|
||||
|
|
@ -32,8 +34,8 @@ exec-once = mako
|
|||
env = XDG_SESSION_TYPE,wayland
|
||||
env = XDG_CURRENT_DESKTOP,Hyprland
|
||||
env = XDG_SESSION_DESKTOP,Hyprland
|
||||
env = XCURSOR_SIZE,2
|
||||
#env = HYPRCURSOR_SIZE,24
|
||||
env = XCURSOR_SIZE,24
|
||||
env = HYPRCURSOR_SIZE,24
|
||||
|
||||
|
||||
# LOOK AND FEEL
|
||||
|
|
@ -55,22 +57,34 @@ general {
|
|||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#decoration
|
||||
decoration {
|
||||
rounding = 5
|
||||
rounding = 10
|
||||
|
||||
active_opacity = 1.0
|
||||
inactive_opacity = 1.0
|
||||
inactive_opacity = 0.9
|
||||
fullscreen_opacity = 1.0
|
||||
|
||||
dim_inactive = true
|
||||
dim_strength = 0.1
|
||||
dim_special = 0.8
|
||||
|
||||
drop_shadow = true
|
||||
shadow_ignore_window = true
|
||||
shadow_range = 4
|
||||
shadow_offset = 2 2
|
||||
shadow_render_power = 2
|
||||
shadow_range = 6
|
||||
shadow_render_power = 1
|
||||
|
||||
# shadow_ignore_window = true
|
||||
# shadow_range = 4
|
||||
# shadow_offset = 2 2
|
||||
# shadow_render_power = 2
|
||||
col.shadow = 0x66000000
|
||||
col.shadow_inactive = 0x50000000
|
||||
|
||||
blur {
|
||||
enabled = true
|
||||
size = 10
|
||||
passes = 1
|
||||
new_optimizations = on
|
||||
size = 6
|
||||
passes = 2
|
||||
new_optimizations = true
|
||||
ignore_opacity = true #
|
||||
special = true #
|
||||
#vibrancy = 0.1696
|
||||
}
|
||||
}
|
||||
|
|
@ -81,14 +95,30 @@ animations {
|
|||
|
||||
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||
|
||||
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||
# bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||
bezier = wind, 0.05, 0.9, 0.1, 1.05
|
||||
bezier = winIn, 0.1, 1.1, 0.1, 1.1
|
||||
bezier = winOut, 0.3, -0.3, 0, 1
|
||||
bezier = liner, 1, 1, 1, 1
|
||||
bezier = overshot, 0.05, 0.9, 0.1, 1.05
|
||||
bezier = smoothOut, 0.5, 0, 0.99, 0.99
|
||||
bezier = smoothIn, 0.5, -0.5, 0.68, 1.5
|
||||
|
||||
animation = windows, 1, 7, myBezier
|
||||
animation = windowsOut, 1, 7, default, popin 80%
|
||||
animation = border, 1, 10, default
|
||||
animation = borderangle, 1, 8, default
|
||||
animation = fade, 1, 7, default
|
||||
animation = workspaces, 1, 6, default
|
||||
animation = windows, 1, 6, wind, slide
|
||||
animation = windowsIn, 1, 5, winIn, slide
|
||||
animation = windowsOut, 1, 3, smoothOut, slide
|
||||
animation = windowsMove, 1, 5, wind, slide
|
||||
animation = border, 1, 1, liner
|
||||
animation = borderangle, 1, 180, liner, loop #used by rainbow borders and rotating colors
|
||||
animation = fade, 1, 3, smoothOut
|
||||
animation = workspaces, 1, 5, overshot
|
||||
|
||||
# animation = windows, 1, 7, myBezier
|
||||
# animation = windowsOut, 1, 7, default, popin 80%
|
||||
# animation = border, 1, 10, default
|
||||
# animation = borderangle, 1, 8, default
|
||||
# animation = fade, 1, 7, default
|
||||
# animation = workspaces, 1, 6, default
|
||||
}
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||
|
|
@ -106,10 +136,19 @@ master {
|
|||
# https://wiki.hyprland.org/Configuring/Variables/#misc
|
||||
misc {
|
||||
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
|
||||
disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
|
||||
disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :(
|
||||
disable_splash_rendering = true
|
||||
vfr = true
|
||||
#vrr = 0
|
||||
mouse_move_enables_dpms = true
|
||||
enable_swallow = true
|
||||
swallow_regex = ^(kitty)$
|
||||
focus_on_activate = false
|
||||
#no_direct_scanout = true #for fullscreen games - deprecated
|
||||
initial_workspace_tracking = 0
|
||||
middle_click_paste = false
|
||||
}
|
||||
|
||||
|
||||
# INPUT
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#input
|
||||
|
|
@ -119,22 +158,80 @@ input {
|
|||
kb_model =
|
||||
kb_options =
|
||||
kb_rules =
|
||||
repeat_rate = 50 #
|
||||
repeat_delay = 300 #
|
||||
|
||||
numlock_by_default = true
|
||||
|
||||
follow_mouse = 1
|
||||
|
||||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||
numlock_by_default = true
|
||||
left_handed = false
|
||||
follow_mouse = true
|
||||
float_switch_override_focus = false
|
||||
|
||||
touchpad {
|
||||
natural_scroll = false
|
||||
disable_while_typing = true
|
||||
clickfinger_behavior = false
|
||||
middle_button_emulation = true
|
||||
tap-to-click = true
|
||||
drag_lock = false
|
||||
}
|
||||
|
||||
# added
|
||||
touchdevice {
|
||||
enabled = true
|
||||
}
|
||||
|
||||
tablet {
|
||||
transform = 0
|
||||
left_handed = 0
|
||||
}
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
||||
gestures {
|
||||
workspace_swipe = true
|
||||
workspace_swipe_fingers = 3
|
||||
workspace_swipe_distance = 500
|
||||
workspace_swipe_invert = true
|
||||
workspace_swipe_min_speed_to_force = 30
|
||||
workspace_swipe_cancel_ratio = 0.5
|
||||
workspace_swipe_create_new = true
|
||||
workspace_swipe_forever = true
|
||||
#workspace_swipe_use_r = true #uncomment if wanted a forever create a new workspace with swipe right
|
||||
}
|
||||
# added
|
||||
group {
|
||||
col.border_active = $color15
|
||||
groupbar {
|
||||
col.active = $color0
|
||||
}
|
||||
}
|
||||
|
||||
binds {
|
||||
workspace_back_and_forth = true
|
||||
allow_workspace_cycles = true
|
||||
pass_mouse_when_bound = false
|
||||
}
|
||||
|
||||
#Could help when scaling and not pixelating
|
||||
xwayland {
|
||||
force_zero_scaling = true
|
||||
}
|
||||
|
||||
# render section for Hyprland >= v0.42.0
|
||||
render {
|
||||
explicit_sync = 2
|
||||
explicit_sync_kms = 2
|
||||
direct_scanout = false
|
||||
}
|
||||
|
||||
cursor {
|
||||
no_hardware_cursors = false
|
||||
enable_hyprcursor = true
|
||||
warp_on_change_workspace = true
|
||||
no_warps = true
|
||||
}
|
||||
|
||||
# Example per-device config
|
||||
|
|
@ -150,66 +247,66 @@ gestures {
|
|||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||
$mainMod = SUPER # Sets "Windows" key as main modifier
|
||||
|
||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||
bind = $mainMod, RETURN, exec, $terminal
|
||||
bind = $mainMod, C, killactive,
|
||||
bind = $mainMod, M, exit,
|
||||
bind = $mainMod, E, exec, $fileManager
|
||||
bind = $mainMod, V, togglefloating,
|
||||
bind = $mainMod, R, exec, $menu
|
||||
bind = $mainMod, P, pseudo, # dwindle
|
||||
bind = $mainMod, J, togglesplit, # dwindle
|
||||
bind = $mainMod, L, exec, hyprlock
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
bind = $mainMod, left, movefocus, l
|
||||
bind = $mainMod, right, movefocus, r
|
||||
bind = $mainMod, up, movefocus, u
|
||||
bind = $mainMod, down, movefocus, d
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
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
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
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
|
||||
|
||||
# Example special workspace (scratchpad)
|
||||
bind = $mainMod, S, togglespecialworkspace, magic
|
||||
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||||
|
||||
# Scroll through existing workspaces with mainMod + scroll
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
|
||||
# Laptop multimedia keys for volume and LCD brightness
|
||||
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
|
||||
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
||||
bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+
|
||||
bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%-
|
||||
### # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||
### bind = $mainMod, RETURN, exec, $terminal
|
||||
### bind = $mainMod, C, killactive,
|
||||
### bind = $mainMod, M, exit,
|
||||
### bind = $mainMod, E, exec, $fileManager
|
||||
### bind = $mainMod, V, togglefloating,
|
||||
### bind = $mainMod, R, exec, $menu
|
||||
### bind = $mainMod, P, pseudo, # dwindle
|
||||
### bind = $mainMod, J, togglesplit, # dwindle
|
||||
### bind = $mainMod, L, exec, hyprlock
|
||||
###
|
||||
### # Move focus with mainMod + arrow keys
|
||||
### bind = $mainMod, left, movefocus, l
|
||||
### bind = $mainMod, right, movefocus, r
|
||||
### bind = $mainMod, up, movefocus, u
|
||||
### bind = $mainMod, down, movefocus, d
|
||||
###
|
||||
### # Switch workspaces with mainMod + [0-9]
|
||||
### 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
|
||||
###
|
||||
### # Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
### 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
|
||||
###
|
||||
### # Example special workspace (scratchpad)
|
||||
### bind = $mainMod, S, togglespecialworkspace, magic
|
||||
### bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||||
###
|
||||
### # Scroll through existing workspaces with mainMod + scroll
|
||||
### bind = $mainMod, mouse_down, workspace, e+1
|
||||
### bind = $mainMod, mouse_up, workspace, e-1
|
||||
###
|
||||
### # Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
### bindm = $mainMod, mouse:272, movewindow
|
||||
### bindm = $mainMod, mouse:273, resizewindow
|
||||
###
|
||||
### # Laptop multimedia keys for volume and LCD brightness
|
||||
### bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
|
||||
### bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||
### bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||
### bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
||||
### bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+
|
||||
### bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%-
|
||||
|
||||
##############################
|
||||
### WINDOWS AND WORKSPACES ###
|
||||
|
|
|
|||
122
hyprland/.config/hypr/keybinds.conf
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
# Keybinds
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||
#
|
||||
$mainMod = SUPER
|
||||
$files = thunar
|
||||
$term = kitty
|
||||
|
||||
# Default
|
||||
$scriptsDir = $HOME/.config/hypr/scripts
|
||||
$UserScripts = $HOME/.config/hypr/UserScripts
|
||||
|
||||
# Rofi App Launcher
|
||||
bind = $mainMod, D, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,run,window
|
||||
|
||||
## ags overview
|
||||
##bind = $mainMod, A, exec, pkill rofi || true && ags -t 'overview'
|
||||
|
||||
|
||||
bind = $mainMod, Return, exec, $term # Launch terminal
|
||||
bind = $mainMod, E, exec, $files # Launch file manager
|
||||
|
||||
# pyprland
|
||||
bind = $mainMod SHIFT, Return, exec, pypr toggle term # Dropdown terminal
|
||||
bind = $mainMod, Z, exec, pypr zoom # Toggle Zoom
|
||||
|
||||
bind = $mainMod, Q, killactive,
|
||||
bind = $mainMod, F, fullscreen,
|
||||
bind = $mainMod SHIFT, F, togglefloating,
|
||||
bind = $mainMod ALT, F, exec, hyprctl dispatch workspace allfloat
|
||||
|
||||
# Features / Extras
|
||||
bind = $mainMod, H, exec, $scriptsDir/KeyHints.sh #small help file
|
||||
bind = $mainMod ALT, R, exec, $scriptsDir/Refresh.sh # Refresh waybar, swaync, rofi
|
||||
bind = $mainMod ALT, E, exec, $scriptsDir/RofiEmoji.sh # emoji
|
||||
bind = $mainMod SHIFT, B, exec, $scriptsDir/ChangeBlur.sh # Toggle blur settings
|
||||
bind = $mainMod SHIFT, G, exec, $scriptsDir/GameMode.sh # animations ON/OFF
|
||||
bind = $mainMod ALT, L, exec, $scriptsDir/ChangeLayout.sh # Toggle Master or Dwindle Layout
|
||||
bind = $mainMod ALT, V, exec, $scriptsDir/ClipManager.sh # Clipboard Manager
|
||||
bind = $mainMod SHIFT, N, exec, swaync-client -t -sw # swayNC panel
|
||||
|
||||
# Waybar / Bar related
|
||||
bind = $mainMod, B, exec, pkill -SIGUSR1 waybar # Toggle hide/show waybar
|
||||
bind = $mainMod CTRL, B, exec, $scriptsDir/WaybarStyles.sh # Waybar Styles Menu
|
||||
bind = $mainMod ALT, B, exec, $scriptsDir/WaybarLayout.sh # Waybar Layout Menu
|
||||
|
||||
# Resize windows
|
||||
binde = $mainMod SHIFT, left, resizeactive,-50 0
|
||||
binde = $mainMod SHIFT, right, resizeactive,50 0
|
||||
binde = $mainMod SHIFT, up, resizeactive,0 -50
|
||||
binde = $mainMod SHIFT, down, resizeactive,0 50
|
||||
|
||||
# Move windows
|
||||
bind = $mainMod CTRL, left, movewindow, l
|
||||
bind = $mainMod CTRL, right, movewindow, r
|
||||
bind = $mainMod CTRL, up, movewindow, u
|
||||
bind = $mainMod CTRL, down, movewindow, d
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
bind = $mainMod, left, movefocus, l
|
||||
bind = $mainMod, right, movefocus, r
|
||||
bind = $mainMod, up, movefocus, u
|
||||
bind = $mainMod, down, movefocus, d
|
||||
|
||||
# Workspaces related
|
||||
bind = $mainMod, tab, workspace, m+1
|
||||
bind = $mainMod SHIFT, tab, workspace, m-1
|
||||
|
||||
# Special workspace
|
||||
bind = $mainMod SHIFT, U, movetoworkspace, special
|
||||
bind = $mainMod, U, togglespecialworkspace,
|
||||
|
||||
# The following mappings use the key codes to better support various keyboard layouts
|
||||
# 1 is code:10, 2 is code 11, etc
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
bind = $mainMod, code:10, workspace, 1
|
||||
bind = $mainMod, code:11, workspace, 2
|
||||
bind = $mainMod, code:12, workspace, 3
|
||||
bind = $mainMod, code:13, workspace, 4
|
||||
bind = $mainMod, code:14, workspace, 5
|
||||
bind = $mainMod, code:15, workspace, 6
|
||||
bind = $mainMod, code:16, workspace, 7
|
||||
bind = $mainMod, code:17, workspace, 8
|
||||
bind = $mainMod, code:18, workspace, 9
|
||||
bind = $mainMod, code:19, workspace, 10
|
||||
|
||||
# Move active window and follow to workspace mainMod + SHIFT [0-9]
|
||||
bind = $mainMod SHIFT, code:10, movetoworkspace, 1
|
||||
bind = $mainMod SHIFT, code:11, movetoworkspace, 2
|
||||
bind = $mainMod SHIFT, code:12, movetoworkspace, 3
|
||||
bind = $mainMod SHIFT, code:13, movetoworkspace, 4
|
||||
bind = $mainMod SHIFT, code:14, movetoworkspace, 5
|
||||
bind = $mainMod SHIFT, code:15, movetoworkspace, 6
|
||||
bind = $mainMod SHIFT, code:16, movetoworkspace, 7
|
||||
bind = $mainMod SHIFT, code:17, movetoworkspace, 8
|
||||
bind = $mainMod SHIFT, code:18, movetoworkspace, 9
|
||||
bind = $mainMod SHIFT, code:19, movetoworkspace, 10
|
||||
bind = $mainMod SHIFT, bracketleft, movetoworkspace, -1 # brackets [ or ]
|
||||
bind = $mainMod SHIFT, bracketright, movetoworkspace, +1
|
||||
|
||||
# Move active window to a workspace silently mainMod + CTRL [0-9]
|
||||
bind = $mainMod CTRL, code:10, movetoworkspacesilent, 1
|
||||
bind = $mainMod CTRL, code:11, movetoworkspacesilent, 2
|
||||
bind = $mainMod CTRL, code:12, movetoworkspacesilent, 3
|
||||
bind = $mainMod CTRL, code:13, movetoworkspacesilent, 4
|
||||
bind = $mainMod CTRL, code:14, movetoworkspacesilent, 5
|
||||
bind = $mainMod CTRL, code:15, movetoworkspacesilent, 6
|
||||
bind = $mainMod CTRL, code:16, movetoworkspacesilent, 7
|
||||
bind = $mainMod CTRL, code:17, movetoworkspacesilent, 8
|
||||
bind = $mainMod CTRL, code:18, movetoworkspacesilent, 9
|
||||
bind = $mainMod CTRL, code:19, movetoworkspacesilent, 10
|
||||
bind = $mainMod CTRL, bracketleft, movetoworkspacesilent, -1 # brackets [ or ]
|
||||
bind = $mainMod CTRL, bracketright, movetoworkspacesilent, +1
|
||||
|
||||
# Scroll through existing workspaces with mainMod + scroll
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
bind = $mainMod, period, workspace, e+1
|
||||
bind = $mainMod, comma, workspace, e-1
|
||||
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
16
hyprland/.config/hypr/scripts/AirplaneMode.sh
Executable file
|
|
@ -0,0 +1,16 @@
|
|||
#!/bin/bash
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||
# Airplane Mode. Turning on or off all wifi using rfkill.
|
||||
|
||||
notif="$HOME/.config/swaync/images/bell.png"
|
||||
|
||||
# Check if any wireless device is blocked
|
||||
wifi_blocked=$(rfkill list wifi | grep -o "Soft blocked: yes")
|
||||
|
||||
if [ -n "$wifi_blocked" ]; then
|
||||
rfkill unblock wifi
|
||||
notify-send -u low -i "$notif" 'Airplane mode: OFF'
|
||||
else
|
||||
rfkill block wifi
|
||||
notify-send -u low -i "$notif" 'Airplane mode: ON'
|
||||
fi
|
||||
74
hyprland/.config/hypr/scripts/Brightness.sh
Executable file
|
|
@ -0,0 +1,74 @@
|
|||
#!/bin/bash
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||
# Script for Monitor backlights (if supported) using brightnessctl
|
||||
|
||||
iDIR="$HOME/.config/swaync/icons"
|
||||
notification_timeout=1000
|
||||
step=10 # INCREASE/DECREASE BY THIS VALUE
|
||||
|
||||
# Get brightness
|
||||
get_backlight() {
|
||||
brightnessctl -m | cut -d, -f4 | sed 's/%//'
|
||||
}
|
||||
|
||||
# Get icons
|
||||
get_icon() {
|
||||
current=$(get_backlight)
|
||||
if [ "$current" -le "20" ]; then
|
||||
icon="$iDIR/brightness-20.png"
|
||||
elif [ "$current" -le "40" ]; then
|
||||
icon="$iDIR/brightness-40.png"
|
||||
elif [ "$current" -le "60" ]; then
|
||||
icon="$iDIR/brightness-60.png"
|
||||
elif [ "$current" -le "80" ]; then
|
||||
icon="$iDIR/brightness-80.png"
|
||||
else
|
||||
icon="$iDIR/brightness-100.png"
|
||||
fi
|
||||
}
|
||||
|
||||
# Notify
|
||||
notify_user() {
|
||||
notify-send -e -h string:x-canonical-private-synchronous:brightness_notif -h int:value:$current -u low -i "$icon" "Brightness : $current%"
|
||||
}
|
||||
|
||||
# Change brightness
|
||||
change_backlight() {
|
||||
local current_brightness
|
||||
current_brightness=$(get_backlight)
|
||||
|
||||
# Calculate new brightness
|
||||
if [[ "$1" == "+${step}%" ]]; then
|
||||
new_brightness=$((current_brightness + step))
|
||||
elif [[ "$1" == "${step}%-" ]]; then
|
||||
new_brightness=$((current_brightness - step))
|
||||
fi
|
||||
|
||||
# Ensure new brightness is within valid range
|
||||
if (( new_brightness < 5 )); then
|
||||
new_brightness=5
|
||||
elif (( new_brightness > 100 )); then
|
||||
new_brightness=100
|
||||
fi
|
||||
|
||||
brightnessctl set "${new_brightness}%"
|
||||
get_icon
|
||||
current=$new_brightness
|
||||
notify_user
|
||||
}
|
||||
|
||||
# Execute accordingly
|
||||
case "$1" in
|
||||
"--get")
|
||||
get_backlight
|
||||
;;
|
||||
"--inc")
|
||||
change_backlight "+${step}%"
|
||||
;;
|
||||
"--dec")
|
||||
change_backlight "${step}%-"
|
||||
;;
|
||||
*)
|
||||
get_backlight
|
||||
;;
|
||||
esac
|
||||
51
hyprland/.config/hypr/scripts/BrightnessKbd.sh
Executable file
|
|
@ -0,0 +1,51 @@
|
|||
#!/bin/bash
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||
# Script for keyboard backlights (if supported) using brightnessctl
|
||||
|
||||
iDIR="$HOME/.config/swaync/icons"
|
||||
|
||||
# Get keyboard brightness
|
||||
get_kbd_backlight() {
|
||||
echo $(brightnessctl -d '*::kbd_backlight' -m | cut -d, -f4)
|
||||
}
|
||||
|
||||
# Get icons
|
||||
get_icon() {
|
||||
current=$(get_kbd_backlight | sed 's/%//')
|
||||
if [ "$current" -le "20" ]; then
|
||||
icon="$iDIR/brightness-20.png"
|
||||
elif [ "$current" -le "40" ]; then
|
||||
icon="$iDIR/brightness-40.png"
|
||||
elif [ "$current" -le "60" ]; then
|
||||
icon="$iDIR/brightness-60.png"
|
||||
elif [ "$current" -le "80" ]; then
|
||||
icon="$iDIR/brightness-80.png"
|
||||
else
|
||||
icon="$iDIR/brightness-100.png"
|
||||
fi
|
||||
}
|
||||
# Notify
|
||||
notify_user() {
|
||||
notify-send -e -h string:x-canonical-private-synchronous:brightness_notif -h int:value:$current -u low -i "$icon" "Keyboard Brightness : $current%"
|
||||
}
|
||||
|
||||
# Change brightness
|
||||
change_kbd_backlight() {
|
||||
brightnessctl -d *::kbd_backlight set "$1" && get_icon && notify_user
|
||||
}
|
||||
|
||||
# Execute accordingly
|
||||
case "$1" in
|
||||
"--get")
|
||||
get_kbd_backlight
|
||||
;;
|
||||
"--inc")
|
||||
change_kbd_backlight "+30%"
|
||||
;;
|
||||
"--dec")
|
||||
change_kbd_backlight "30%-"
|
||||
;;
|
||||
*)
|
||||
get_kbd_backlight
|
||||
;;
|
||||
esac
|
||||
17
hyprland/.config/hypr/scripts/ChangeBlur.sh
Executable file
|
|
@ -0,0 +1,17 @@
|
|||
#!/bin/bash
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||
# Script for changing blurs on the fly
|
||||
|
||||
notif="$HOME/.config/swaync/images/bell.png"
|
||||
|
||||
STATE=$(hyprctl -j getoption decoration:blur:passes | jq ".int")
|
||||
|
||||
if [ "${STATE}" == "2" ]; then
|
||||
hyprctl keyword decoration:blur:size 2
|
||||
hyprctl keyword decoration:blur:passes 1
|
||||
notify-send -e -u low -i "$notif" "Less blur"
|
||||
else
|
||||
hyprctl keyword decoration:blur:size 5
|
||||
hyprctl keyword decoration:blur:passes 2
|
||||
notify-send -e -u low -i "$notif" "Normal blur"
|
||||
fi
|
||||
30
hyprland/.config/hypr/scripts/ChangeLayout.sh
Executable file
|
|
@ -0,0 +1,30 @@
|
|||
#!/bin/bash
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||
# for changing Hyprland Layouts (Master or Dwindle) on the fly
|
||||
|
||||
notif="$HOME/.config/swaync/images/bell.png"
|
||||
|
||||
LAYOUT=$(hyprctl -j getoption general:layout | jq '.str' | sed 's/"//g')
|
||||
|
||||
case $LAYOUT in
|
||||
"master")
|
||||
hyprctl keyword general:layout dwindle
|
||||
hyprctl keyword unbind SUPER,J
|
||||
hyprctl keyword unbind SUPER,K
|
||||
hyprctl keyword bind SUPER,J,cyclenext
|
||||
hyprctl keyword bind SUPER,K,cyclenext,prev
|
||||
hyprctl keyword bind SUPER,O,togglesplit
|
||||
notify-send -e -u low -i "$notif" "Dwindle Layout"
|
||||
;;
|
||||
"dwindle")
|
||||
hyprctl keyword general:layout master
|
||||
hyprctl keyword unbind SUPER,J
|
||||
hyprctl keyword unbind SUPER,K
|
||||
hyprctl keyword unbind SUPER,O
|
||||
hyprctl keyword bind SUPER,J,layoutmsg,cyclenext
|
||||
hyprctl keyword bind SUPER,K,layoutmsg,cycleprev
|
||||
notify-send -e -u low -i "$notif" "Master Layout"
|
||||
;;
|
||||
*) ;;
|
||||
|
||||
esac
|
||||
40
hyprland/.config/hypr/scripts/ClipManager.sh
Executable file
|
|
@ -0,0 +1,40 @@
|
|||
#!/bin/bash
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||
# Clipboard Manager. This script uses cliphist, rofi, and wl-copy.
|
||||
|
||||
# Actions:
|
||||
# CTRL Del to delete an entry
|
||||
# ALT Del to wipe clipboard contents
|
||||
|
||||
while true; do
|
||||
result=$(
|
||||
rofi -i -dmenu \
|
||||
-kb-custom-1 "Control-Delete" \
|
||||
-kb-custom-2 "Alt-Delete" \
|
||||
-config ~/.config/rofi/config-clipboard.rasi < <(cliphist list)
|
||||
)
|
||||
|
||||
case "$?" in
|
||||
1)
|
||||
exit
|
||||
;;
|
||||
0)
|
||||
case "$result" in
|
||||
"")
|
||||
continue
|
||||
;;
|
||||
*)
|
||||
cliphist decode <<<"$result" | wl-copy
|
||||
exit
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
10)
|
||||
cliphist delete <<<"$result"
|
||||
;;
|
||||
11)
|
||||
cliphist wipe
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
242
hyprland/.config/hypr/scripts/DarkLight.sh
Executable file
|
|
@ -0,0 +1,242 @@
|
|||
#!/bin/bash
|
||||
## /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||
# For Dark and Light switching
|
||||
# Note: Scripts are looking for keywords Light or Dark except for wallpapers as the are in a separate folders
|
||||
|
||||
# Paths
|
||||
wallpaper_base_path="$HOME/Pictures/wallpapers/Dynamic-Wallpapers"
|
||||
dark_wallpapers="$wallpaper_base_path/Dark"
|
||||
light_wallpapers="$wallpaper_base_path/Light"
|
||||
hypr_config_path="$HOME/.config/hypr"
|
||||
swaync_style="$HOME/.config/swaync/style.css"
|
||||
ags_style="$HOME/.config/ags/user/style.css"
|
||||
SCRIPTSDIR="$HOME/.config/hypr/scripts"
|
||||
notif="$HOME/.config/swaync/images/bell.png"
|
||||
wallust_rofi="$HOME/.config/wallust/templates/colors-rofi.rasi"
|
||||
|
||||
kitty_conf="$HOME/.config/kitty/kitty.conf"
|
||||
|
||||
wallust_config="$HOME/.config/wallust/wallust.toml"
|
||||
pallete_dark="dark16"
|
||||
pallete_light="light16"
|
||||
|
||||
# kill swaybg if running
|
||||
pkill swaybg
|
||||
|
||||
# Initialize swww if needed
|
||||
swww query || swww-daemon
|
||||
|
||||
# Set swww options
|
||||
swww="swww img"
|
||||
effect="--transition-bezier .43,1.19,1,.4 --transition-fps 60 --transition-type grow --transition-pos 0.925,0.977 --transition-duration 2"
|
||||
|
||||
# Determine current theme mode
|
||||
if [ "$(cat $HOME/.cache/.theme_mode)" = "Light" ]; then
|
||||
next_mode="Dark"
|
||||
# Logic for Dark mode
|
||||
wallpaper_path="$dark_wallpapers"
|
||||
else
|
||||
next_mode="Light"
|
||||
# Logic for Light mode
|
||||
wallpaper_path="$light_wallpapers"
|
||||
fi
|
||||
|
||||
# Function to update theme mode for the next cycle
|
||||
update_theme_mode() {
|
||||
echo "$next_mode" > ~/.cache/.theme_mode
|
||||
}
|
||||
|
||||
# Function to notify user
|
||||
notify_user() {
|
||||
notify-send -u low -i "$notif" "Switching to $1 mode"
|
||||
}
|
||||
|
||||
# Use sed to replace the palette setting in the wallust config file
|
||||
if [ "$next_mode" = "Dark" ]; then
|
||||
sed -i 's/^palette = .*/palette = "'"$pallete_dark"'"/' "$wallust_config"
|
||||
else
|
||||
sed -i 's/^palette = .*/palette = "'"$pallete_light"'"/' "$wallust_config"
|
||||
fi
|
||||
|
||||
# Function to set Waybar style
|
||||
set_waybar_style() {
|
||||
theme="$1"
|
||||
waybar_styles="$HOME/.config/waybar/style"
|
||||
waybar_style_link="$HOME/.config/waybar/style.css"
|
||||
style_prefix="\\[${theme}\\].*\\.css$"
|
||||
|
||||
style_file=$(find "$waybar_styles" -maxdepth 1 -type f -regex ".*$style_prefix" | shuf -n 1)
|
||||
|
||||
if [ -n "$style_file" ]; then
|
||||
ln -sf "$style_file" "$waybar_style_link"
|
||||
else
|
||||
echo "Style file not found for $theme theme."
|
||||
fi
|
||||
}
|
||||
|
||||
# Call the function after determining the mode
|
||||
set_waybar_style "$next_mode"
|
||||
notify_user "$next_mode"
|
||||
|
||||
|
||||
# swaync color change
|
||||
if [ "$next_mode" = "Dark" ]; then
|
||||
sed -i '/@define-color noti-bg/s/rgba([0-9]*,\s*[0-9]*,\s*[0-9]*,\s*[0-9.]*);/rgba(0, 0, 0, 0.8);/' "${swaync_style}"
|
||||
sed -i '/@define-color noti-bg-alt/s/#.*;/#111111;/' "${swaync_style}"
|
||||
else
|
||||
sed -i '/@define-color noti-bg/s/rgba([0-9]*,\s*[0-9]*,\s*[0-9]*,\s*[0-9.]*);/rgba(255, 255, 255, 0.9);/' "${swaync_style}"
|
||||
sed -i '/@define-color noti-bg-alt/s/#.*;/#F0F0F0;/' "${swaync_style}"
|
||||
fi
|
||||
|
||||
# ags color change
|
||||
if [ "$next_mode" = "Dark" ]; then
|
||||
sed -i '/@define-color noti-bg/s/rgba([0-9]*,\s*[0-9]*,\s*[0-9]*,\s*[0-9.]*);/rgba(0, 0, 0, 0.4);/' "${ags_style}"
|
||||
sed -i '/@define-color text-color/s/rgba([0-9]*,\s*[0-9]*,\s*[0-9]*,\s*[0-9.]*);/rgba(255, 255, 255, 0.7);/' "${ags_style}"
|
||||
sed -i '/@define-color noti-bg-alt/s/#.*;/#111111;/' "${ags_style}"
|
||||
else
|
||||
sed -i '/@define-color noti-bg/s/rgba([0-9]*,\s*[0-9]*,\s*[0-9]*,\s*[0-9.]*);/rgba(255, 255, 255, 0.4);/' "${ags_style}"
|
||||
sed -i '/@define-color text-color/s/rgba([0-9]*,\s*[0-9]*,\s*[0-9]*,\s*[0-9.]*);/rgba(0, 0, 0, 0.7);/' "${ags_style}"
|
||||
sed -i '/@define-color noti-bg-alt/s/#.*;/#F0F0F0;/' "${ags_style}"
|
||||
fi
|
||||
|
||||
# kitty background color change
|
||||
if [ "$next_mode" = "Dark" ]; then
|
||||
sed -i '/^foreground /s/^foreground .*/foreground #dddddd/' "${kitty_conf}"
|
||||
sed -i '/^background /s/^background .*/background #000000/' "${kitty_conf}"
|
||||
sed -i '/^cursor /s/^cursor .*/cursor #dddddd/' "${kitty_conf}"
|
||||
else
|
||||
sed -i '/^foreground /s/^foreground .*/foreground #000000/' "${kitty_conf}"
|
||||
sed -i '/^background /s/^background .*/background #dddddd/' "${kitty_conf}"
|
||||
sed -i '/^cursor /s/^cursor .*/cursor #000000/' "${kitty_conf}"
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
# Set Dynamic Wallpaper for Dark or Light Mode
|
||||
if [ "$next_mode" = "Dark" ]; then
|
||||
next_wallpaper="$(find "${dark_wallpapers}" -type f \( -iname "*.jpg" -o -iname "*.png" \) -print0 | shuf -n1 -z | xargs -0)"
|
||||
else
|
||||
next_wallpaper="$(find "${light_wallpapers}" -type f \( -iname "*.jpg" -o -iname "*.png" \) -print0 | shuf -n1 -z | xargs -0)"
|
||||
fi
|
||||
|
||||
# Update wallpaper using swww command
|
||||
$swww "${next_wallpaper}" $effect
|
||||
|
||||
|
||||
# Set Kvantum Manager theme & QT5/QT6 settings
|
||||
if [ "$next_mode" = "Dark" ]; then
|
||||
kvantum_theme="Catppuccin-Mocha"
|
||||
qt5ct_color_scheme="$HOME/.config/qt5ct/colors/Catppuccin-Mocha.conf"
|
||||
qt6ct_color_scheme="$HOME/.config/qt6ct/colors/Catppuccin-Mocha.conf"
|
||||
else
|
||||
kvantum_theme="Catppuccin-Latte"
|
||||
qt5ct_color_scheme="$HOME/.config/qt5ct/colors/Catppuccin-Latte.conf"
|
||||
qt6ct_color_scheme="$HOME/.config/qt6ct/colors/Catppuccin-Latte.conf"
|
||||
fi
|
||||
|
||||
sed -i "s|^color_scheme_path=.*$|color_scheme_path=$qt5ct_color_scheme|" "$HOME/.config/qt5ct/qt5ct.conf"
|
||||
sed -i "s|^color_scheme_path=.*$|color_scheme_path=$qt6ct_color_scheme|" "$HOME/.config/qt6ct/qt6ct.conf"
|
||||
kvantummanager --set "$kvantum_theme"
|
||||
|
||||
|
||||
# set the rofi color for background
|
||||
if [ "$next_mode" = "Dark" ]; then
|
||||
sed -i '24s/.*/background: rgba(0,0,0,0.7);/' $wallust_rofi
|
||||
else
|
||||
sed -i '24s/.*/background: rgba(255,255,255,0.9);/' $wallust_rofi
|
||||
fi
|
||||
|
||||
|
||||
# GTK themes and icons switching
|
||||
set_custom_gtk_theme() {
|
||||
mode=$1
|
||||
gtk_themes_directory="$HOME/.themes"
|
||||
icon_directory="$HOME/.icons"
|
||||
color_setting="org.gnome.desktop.interface color-scheme"
|
||||
theme_setting="org.gnome.desktop.interface gtk-theme"
|
||||
icon_setting="org.gnome.desktop.interface icon-theme"
|
||||
|
||||
if [ "$mode" == "Light" ]; then
|
||||
search_keywords="*Light*"
|
||||
gsettings set $color_setting 'prefer-light'
|
||||
elif [ "$mode" == "Dark" ]; then
|
||||
search_keywords="*Dark*"
|
||||
gsettings set $color_setting 'prefer-dark'
|
||||
else
|
||||
echo "Invalid mode provided."
|
||||
return 1
|
||||
fi
|
||||
|
||||
themes=()
|
||||
icons=()
|
||||
|
||||
while IFS= read -r -d '' theme_search; do
|
||||
themes+=("$(basename "$theme_search")")
|
||||
done < <(find "$gtk_themes_directory" -maxdepth 1 -type d -iname "$search_keywords" -print0)
|
||||
|
||||
while IFS= read -r -d '' icon_search; do
|
||||
icons+=("$(basename "$icon_search")")
|
||||
done < <(find "$icon_directory" -maxdepth 1 -type d -iname "$search_keywords" -print0)
|
||||
|
||||
if [ ${#themes[@]} -gt 0 ]; then
|
||||
if [ "$mode" == "Dark" ]; then
|
||||
selected_theme=${themes[RANDOM % ${#themes[@]}]}
|
||||
else
|
||||
selected_theme=${themes[$RANDOM % ${#themes[@]}]}
|
||||
fi
|
||||
echo "Selected GTK theme for $mode mode: $selected_theme"
|
||||
gsettings set $theme_setting "$selected_theme"
|
||||
|
||||
# Flatpak GTK apps (themes)
|
||||
if command -v flatpak &> /dev/null; then
|
||||
flatpak --user override --filesystem=$HOME/.themes
|
||||
sleep 0.5
|
||||
flatpak --user override --env=GTK_THEME="$selected_theme"
|
||||
fi
|
||||
else
|
||||
echo "No $mode GTK theme found"
|
||||
fi
|
||||
|
||||
if [ ${#icons[@]} -gt 0 ]; then
|
||||
if [ "$mode" == "Dark" ]; then
|
||||
selected_icon=${icons[RANDOM % ${#icons[@]}]}
|
||||
else
|
||||
selected_icon=${icons[$RANDOM % ${#icons[@]}]}
|
||||
fi
|
||||
echo "Selected icon theme for $mode mode: $selected_icon"
|
||||
gsettings set $icon_setting "$selected_icon"
|
||||
|
||||
## QT5ct icon_theme
|
||||
sed -i "s|^icon_theme=.*$|icon_theme=$selected_icon|" "$HOME/.config/qt5ct/qt5ct.conf"
|
||||
sed -i "s|^icon_theme=.*$|icon_theme=$selected_icon|" "$HOME/.config/qt6ct/qt6ct.conf"
|
||||
|
||||
# Flatpak GTK apps (icons)
|
||||
if command -v flatpak &> /dev/null; then
|
||||
flatpak --user override --filesystem=$HOME/.icons
|
||||
sleep 0.5
|
||||
flatpak --user override --env=ICON_THEME="$selected_icon"
|
||||
fi
|
||||
else
|
||||
echo "No $mode icon theme found"
|
||||
fi
|
||||
}
|
||||
|
||||
# Call the function to set GTK theme and icon theme based on mode
|
||||
set_custom_gtk_theme "$next_mode"
|
||||
|
||||
# Update theme mode for the next cycle
|
||||
update_theme_mode
|
||||
|
||||
sleep 0.5
|
||||
# Run remaining scripts
|
||||
${SCRIPTSDIR}/WallustSwww.sh
|
||||
sleep 1
|
||||
${SCRIPTSDIR}/Refresh.sh
|
||||
|
||||
sleep 0.3
|
||||
# Display notifications for theme and icon changes
|
||||
notify-send -u normal -i "$notif" "Themes in $next_mode Mode"
|
||||
|
||||
exit 0
|
||||
|
||||
33
hyprland/.config/hypr/scripts/GameMode.sh
Executable file
|
|
@ -0,0 +1,33 @@
|
|||
#!/bin/bash
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||
# Game Mode. Turning off all animations
|
||||
|
||||
notif="$HOME/.config/swaync/images/bell.png"
|
||||
SCRIPTSDIR="$HOME/.config/hypr/scripts"
|
||||
|
||||
|
||||
HYPRGAMEMODE=$(hyprctl getoption animations:enabled | awk 'NR==1{print $2}')
|
||||
if [ "$HYPRGAMEMODE" = 1 ] ; then
|
||||
hyprctl --batch "\
|
||||
keyword animations:enabled 0;\
|
||||
keyword decoration:drop_shadow 0;\
|
||||
keyword decoration:blur:passes 0;\
|
||||
keyword general:gaps_in 0;\
|
||||
keyword general:gaps_out 0;\
|
||||
keyword general:border_size 1;\
|
||||
keyword decoration:rounding 0"
|
||||
|
||||
hyprctl keyword "windowrule opacity 1 override 1 override 1 override, ^(.*)$"
|
||||
swww kill
|
||||
notify-send -e -u low -i "$notif" "gamemode enabled. All animations off"
|
||||
exit
|
||||
else
|
||||
swww-daemon --format xrgb && swww img "$HOME/.config/rofi/.current_wallpaper" &
|
||||
sleep 0.1
|
||||
${SCRIPTSDIR}/WallustSwww.sh
|
||||
sleep 0.5
|
||||
${SCRIPTSDIR}/Refresh.sh
|
||||
notify-send -e -u normal -i "$notif" "gamemode disabled. All animations normal"
|
||||
exit
|
||||
fi
|
||||
hyprctl reload
|
||||
23
hyprland/.config/hypr/scripts/Hypridle.sh
Executable file
|
|
@ -0,0 +1,23 @@
|
|||
#!/bin/bash
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||
# This is for custom version of waybar idle_inhibitor which activates / deactivates hypridle instead
|
||||
|
||||
PROCESS="hypridle"
|
||||
|
||||
if [[ "$1" == "status" ]]; then
|
||||
sleep 1
|
||||
if pgrep -x "$PROCESS" >/dev/null; then
|
||||
echo '{"text": "RUNNING", "class": "active", "tooltip": "idle_inhibitor NOT ACTIVE\nLeft Click: Activate\nRight Click: Lock Screen"}'
|
||||
else
|
||||
echo '{"text": "NOT RUNNING", "class": "notactive", "tooltip": "idle_inhibitor is ACTIVE\nLeft Click: Deactivate\nRight Click: Lock Screen"}'
|
||||
fi
|
||||
elif [[ "$1" == "toggle" ]]; then
|
||||
if pgrep -x "$PROCESS" >/dev/null; then
|
||||
pkill "$PROCESS"
|
||||
else
|
||||
"$PROCESS"
|
||||
fi
|
||||
else
|
||||
echo "Usage: $0 {status|toggle}"
|
||||
exit 1
|
||||
fi
|
||||
82
hyprland/.config/hypr/scripts/KeyHints.sh
Executable file
|
|
@ -0,0 +1,82 @@
|
|||
#!/bin/bash
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||
# Keyhints. Idea got from Garuda Hyprland
|
||||
|
||||
# GDK BACKEND. Change to either wayland or x11 if having issues
|
||||
BACKEND=wayland
|
||||
|
||||
# Detect monitor resolution and scale
|
||||
x_mon=$(hyprctl -j monitors | jq '.[] | select(.focused==true) | .width')
|
||||
y_mon=$(hyprctl -j monitors | jq '.[] | select(.focused==true) | .height')
|
||||
hypr_scale=$(hyprctl -j monitors | jq '.[] | select (.focused == true) | .scale' | sed 's/\.//')
|
||||
|
||||
# Calculate width and height based on percentages and monitor resolution
|
||||
width=$((x_mon * hypr_scale / 100))
|
||||
height=$((y_mon * hypr_scale / 100))
|
||||
|
||||
# Set maximum width and height
|
||||
max_width=1200
|
||||
max_height=1000
|
||||
|
||||
# Set percentage of screen size for dynamic adjustment
|
||||
percentage_width=70
|
||||
percentage_height=70
|
||||
|
||||
# Calculate dynamic width and height
|
||||
dynamic_width=$((width * percentage_width / 100))
|
||||
dynamic_height=$((height * percentage_height / 100))
|
||||
|
||||
# Limit width and height to maximum values
|
||||
dynamic_width=$(($dynamic_width > $max_width ? $max_width : $dynamic_width))
|
||||
dynamic_height=$(($dynamic_height > $max_height ? $max_height : $dynamic_height))
|
||||
|
||||
# Launch yad with calculated width and height
|
||||
GDK_BACKEND=$BACKEND yad --width=$dynamic_width --height=$dynamic_height \
|
||||
--center \
|
||||
--title="Keybindings" \
|
||||
--no-buttons \
|
||||
--list \
|
||||
--column=Key: \
|
||||
--column=Description: \
|
||||
--column=Command: \
|
||||
--timeout-indicator=bottom \
|
||||
"ESC" "close this app" "" "=" "SUPER KEY (Windows Key)" "(SUPER KEY)" \
|
||||
" enter" "Terminal" "(kitty)" \
|
||||
" SHIFT enter" "DropDown Terminal" "(kitty-pyprland)" \
|
||||
" A" "Desktop Overview" "(AGS Overview)" \
|
||||
" D" "App Launcher" "(rofi-wayland)" \
|
||||
" T" "Open File Manager" "(Thunar)" \
|
||||
" S" "Google Search" "(rofi)" \
|
||||
" Q" "close active window" "(not kill)" \
|
||||
" Shift Q " "kills an active window" "(kill)" \
|
||||
" Z" "Desktop Zoom" "(pyprland)" \
|
||||
" Alt V" "Clipboard Manager" "(cliphist)" \
|
||||
" W" "Choose wallpaper" "(Wallpaper Menu)" \
|
||||
" Shift W" "Choose wallpaper effects" "(imagemagick + swww)" \
|
||||
"CTRL ALT W" "Random wallpaper" "(via swww)" \
|
||||
" B" "Hide/UnHide Waybar" "waybar" \
|
||||
" CTRL B" "Choose waybar styles" "(waybar styles)" \
|
||||
" ALT B" "Choose waybar layout" "(waybar layout)" \
|
||||
" ALT R" "Reload Waybar swaync Rofi" "CHECK NOTIFICATION FIRST!!!" \
|
||||
" SHIFT N" "Launch Notification Panel" "swaync Notification Center" \
|
||||
" Print" "screenshot" "(grim)" \
|
||||
" Shift Print" "screenshot region" "(grim + slurp)" \
|
||||
" Shift S" "screenshot region" "(swappy)" \
|
||||
" CTRL Print" "screenshot timer 5 secs " "(grim)" \
|
||||
" CTRL SHIFT Print" "screenshot timer 10 secs " "(grim)" \
|
||||
"ALT Print" "Screenshot active window" "active window only" \
|
||||
"CTRL ALT P" "power-menu" "(wlogout)" \
|
||||
"CTRL ALT L" "screen lock" "(hyprlock)" \
|
||||
"CTRL ALT Del" "Hyprland Exit" "(SAVE YOUR WORK!!!)" \
|
||||
" F" "Fullscreen" "Toggles to full screen" \
|
||||
" ALT L" "Toggle Dwindle | Master Layout" "Hyprland Layout" \
|
||||
" Shift F" "Toggle float" "single window" \
|
||||
" ALT F" "Toggle all windows to float" "all windows" \
|
||||
" Shift B" "Toggle Blur" "normal or less blur" \
|
||||
" SHIFT G" "Gamemode! All animations OFF or ON" "toggle" \
|
||||
" ALT E" "Rofi Emoticons" "Emoticon" \
|
||||
" ALT V" "Clipboard Manager" "cliphist" \
|
||||
" H" "Launch this app" "" \
|
||||
" E" "View or EDIT Keybinds, Settings, Monitor" "" \
|
||||
"" "" "" \
|
||||
"More tips:" "https://github.com/JaKooLit/Hyprland-Dots/wiki" ""\
|
||||
11
hyprland/.config/hypr/scripts/KillActiveProcess.sh
Executable file
|
|
@ -0,0 +1,11 @@
|
|||
#!/bin/bash
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||
|
||||
# Copied from Discord post. Thanks to @Zorg
|
||||
|
||||
|
||||
# Get id of an active window
|
||||
active_pid=$(hyprctl activewindow | grep -o 'pid: [0-9]*' | cut -d' ' -f2)
|
||||
|
||||
# Close active window
|
||||
kill "$active_pid"
|
||||
6
hyprland/.config/hypr/scripts/LockScreen.sh
Executable file
|
|
@ -0,0 +1,6 @@
|
|||
#!/bin/bash
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||
|
||||
# For Hyprlock
|
||||
|
||||
pidof hyprlock || hyprlock -q
|
||||
61
hyprland/.config/hypr/scripts/MediaCtrl.sh
Executable file
|
|
@ -0,0 +1,61 @@
|
|||
#!/bin/bash
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||
# Playerctl
|
||||
|
||||
music_icon="$HOME/.config/swaync/icons/music.png"
|
||||
|
||||
# Play the next track
|
||||
play_next() {
|
||||
playerctl next
|
||||
show_music_notification
|
||||
}
|
||||
|
||||
# Play the previous track
|
||||
play_previous() {
|
||||
playerctl previous
|
||||
show_music_notification
|
||||
}
|
||||
|
||||
# Toggle play/pause
|
||||
toggle_play_pause() {
|
||||
playerctl play-pause
|
||||
show_music_notification
|
||||
}
|
||||
|
||||
# Stop playback
|
||||
stop_playback() {
|
||||
playerctl stop
|
||||
notify-send -e -u low -i "$music_icon" "Playback Stopped"
|
||||
}
|
||||
|
||||
# Display notification with song information
|
||||
show_music_notification() {
|
||||
status=$(playerctl status)
|
||||
if [[ "$status" == "Playing" ]]; then
|
||||
song_title=$(playerctl metadata title)
|
||||
song_artist=$(playerctl metadata artist)
|
||||
notify-send -e -u low -i "$music_icon" "Now Playing:" "$song_title\nby $song_artist"
|
||||
elif [[ "$status" == "Paused" ]]; then
|
||||
notify-send -e -u low -i "$music_icon" "Playback Paused"
|
||||
fi
|
||||
}
|
||||
|
||||
# Get media control action from command line argument
|
||||
case "$1" in
|
||||
"--nxt")
|
||||
play_next
|
||||
;;
|
||||
"--prv")
|
||||
play_previous
|
||||
;;
|
||||
"--pause")
|
||||
toggle_play_pause
|
||||
;;
|
||||
"--stop")
|
||||
stop_playback
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 [--nxt|--prv|--pause|--stop]"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
31
hyprland/.config/hypr/scripts/Polkit.sh
Executable file
|
|
@ -0,0 +1,31 @@
|
|||
#!/bin/bash
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||
# This is for polkits, it will start from top and will stop if the top is executed
|
||||
|
||||
# Polkit possible paths files to check
|
||||
polkit=(
|
||||
"/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1"
|
||||
"/usr/lib/polkit-kde-authentication-agent-1"
|
||||
"/usr/lib/polkit-gnome-authentication-agent-1"
|
||||
"/usr/libexec/polkit-gnome-authentication-agent-1"
|
||||
"/usr/libexec/polkit-mate-authentication-agent-1"
|
||||
"/usr/lib/x86_64-linux-gnu/libexec/polkit-kde-authentication-agent-1"
|
||||
"/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1"
|
||||
)
|
||||
|
||||
executed=false # Flag to track if a file has been executed
|
||||
|
||||
# Loop through the list of files
|
||||
for file in "${polkit[@]}"; do
|
||||
if [ -e "$file" ]; then
|
||||
echo "File $file found, executing command..."
|
||||
exec "$file"
|
||||
executed=true
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
# If none of the files were found, you can add a fallback command here
|
||||
if [ "$executed" == false ]; then
|
||||
echo "None of the specified files were found. Install a Polkit"
|
||||
fi
|
||||
16
hyprland/.config/hypr/scripts/PortalHyprland.sh
Executable file
|
|
@ -0,0 +1,16 @@
|
|||
#!/bin/bash
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||
# For manually starting xdg-desktop-portal
|
||||
|
||||
sleep 1
|
||||
killall xdg-desktop-portal-hyprland
|
||||
killall xdg-desktop-portal-wlr
|
||||
killall xdg-desktop-portal-gnome
|
||||
killall xdg-desktop-portal
|
||||
sleep 1
|
||||
/usr/lib/xdg-desktop-portal-hyprland &
|
||||
/usr/libexec/xdg-desktop-portal-hyprland &
|
||||
sleep 2
|
||||
/usr/lib/xdg-desktop-portal &
|
||||
/usr/libexec/xdg-desktop-portal &
|
||||
|
||||
46
hyprland/.config/hypr/scripts/Refresh.sh
Executable file
|
|
@ -0,0 +1,46 @@
|
|||
#!/bin/bash
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||
# Scripts for refreshing ags waybar, rofi, swaync, wallust
|
||||
|
||||
SCRIPTSDIR=$HOME/.config/hypr/scripts
|
||||
UserScripts=$HOME/.config/hypr/UserScripts
|
||||
|
||||
# Define file_exists function
|
||||
file_exists() {
|
||||
if [ -e "$1" ]; then
|
||||
return 0 # File exists
|
||||
else
|
||||
return 1 # File does not exist
|
||||
fi
|
||||
}
|
||||
|
||||
# Kill already running processes
|
||||
_ps=(waybar rofi swaync ags)
|
||||
for _prs in "${_ps[@]}"; do
|
||||
if pidof "${_prs}" >/dev/null; then
|
||||
pkill "${_prs}"
|
||||
fi
|
||||
done
|
||||
|
||||
# quit ags
|
||||
ags -q
|
||||
|
||||
sleep 0.3
|
||||
#Restart waybar
|
||||
waybar &
|
||||
|
||||
# relaunch swaync
|
||||
sleep 0.5
|
||||
swaync > /dev/null 2>&1 &
|
||||
|
||||
# relaunch ags
|
||||
ags &
|
||||
|
||||
# Relaunching rainbow borders if the script exists
|
||||
sleep 1
|
||||
if file_exists "${UserScripts}/RainbowBorders.sh"; then
|
||||
${UserScripts}/RainbowBorders.sh &
|
||||
fi
|
||||
|
||||
|
||||
exit 0
|
||||
4949
hyprland/.config/hypr/scripts/RofiEmoji.sh
Executable file
129
hyprland/.config/hypr/scripts/ScreenShot.sh
Executable file
|
|
@ -0,0 +1,129 @@
|
|||
#!/bin/bash
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||
# Screenshots scripts
|
||||
|
||||
iDIR="$HOME/.config/swaync/icons"
|
||||
sDIR="$HOME/.config/hypr/scripts"
|
||||
notify_cmd_shot="notify-send -h string:x-canonical-private-synchronous:shot-notify -u low -i ${iDIR}/picture.png"
|
||||
|
||||
time=$(date "+%d-%b_%H-%M-%S")
|
||||
dir="$(xdg-user-dir)/Pictures/Screenshots"
|
||||
file="Screenshot_${time}_${RANDOM}.png"
|
||||
|
||||
active_window_class=$(hyprctl -j activewindow | jq -r '(.class)')
|
||||
active_window_file="Screenshot_${time}_${active_window_class}.png"
|
||||
active_window_path="${dir}/${active_window_file}"
|
||||
|
||||
# notify and view screenshot
|
||||
notify_view() {
|
||||
if [[ "$1" == "active" ]]; then
|
||||
if [[ -e "${active_window_path}" ]]; then
|
||||
${notify_cmd_shot} "Screenshot of '${active_window_class}' Saved."
|
||||
"${sDIR}/Sounds.sh" --screenshot
|
||||
else
|
||||
${notify_cmd_shot} "Screenshot of '${active_window_class}' not Saved"
|
||||
"${sDIR}/Sounds.sh" --error
|
||||
fi
|
||||
elif [[ "$1" == "swappy" ]]; then
|
||||
${notify_cmd_shot} "Screenshot Captured."
|
||||
else
|
||||
local check_file="$dir/$file"
|
||||
if [[ -e "$check_file" ]]; then
|
||||
${notify_cmd_shot} "Screenshot Saved."
|
||||
"${sDIR}/Sounds.sh" --screenshot
|
||||
else
|
||||
${notify_cmd_shot} "Screenshot NOT Saved."
|
||||
"${sDIR}/Sounds.sh" --error
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
|
||||
# countdown
|
||||
countdown() {
|
||||
for sec in $(seq $1 -1 1); do
|
||||
notify-send -h string:x-canonical-private-synchronous:shot-notify -t 1000 -i "$iDIR"/timer.png "Taking shot in : $sec"
|
||||
sleep 1
|
||||
done
|
||||
}
|
||||
|
||||
# take shots
|
||||
shotnow() {
|
||||
cd ${dir} && grim - | tee "$file" | wl-copy
|
||||
sleep 2
|
||||
notify_view
|
||||
}
|
||||
|
||||
shot5() {
|
||||
countdown '5'
|
||||
sleep 1 && cd ${dir} && grim - | tee "$file" | wl-copy
|
||||
sleep 1
|
||||
notify_view
|
||||
|
||||
}
|
||||
|
||||
shot10() {
|
||||
countdown '10'
|
||||
sleep 1 && cd ${dir} && grim - | tee "$file" | wl-copy
|
||||
notify_view
|
||||
}
|
||||
|
||||
shotwin() {
|
||||
w_pos=$(hyprctl activewindow | grep 'at:' | cut -d':' -f2 | tr -d ' ' | tail -n1)
|
||||
w_size=$(hyprctl activewindow | grep 'size:' | cut -d':' -f2 | tr -d ' ' | tail -n1 | sed s/,/x/g)
|
||||
cd ${dir} && grim -g "$w_pos $w_size" - | tee "$file" | wl-copy
|
||||
notify_view
|
||||
}
|
||||
|
||||
shotarea() {
|
||||
tmpfile=$(mktemp)
|
||||
grim -g "$(slurp)" - >"$tmpfile"
|
||||
if [[ -s "$tmpfile" ]]; then
|
||||
wl-copy <"$tmpfile"
|
||||
mv "$tmpfile" "$dir/$file"
|
||||
fi
|
||||
notify_view
|
||||
}
|
||||
|
||||
shotactive() {
|
||||
active_window_class=$(hyprctl -j activewindow | jq -r '(.class)')
|
||||
active_window_file="Screenshot_${time}_${active_window_class}.png"
|
||||
active_window_path="${dir}/${active_window_file}"
|
||||
|
||||
hyprctl -j activewindow | jq -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"' | grim -g - "${active_window_path}"
|
||||
sleep 1
|
||||
notify_view "active"
|
||||
}
|
||||
|
||||
shotswappy() {
|
||||
tmpfile=$(mktemp)
|
||||
grim -g "$(slurp)" - >"$tmpfile" && "${sDIR}/Sounds.sh" --screenshot && notify_view "swappy"
|
||||
swappy -f - <"$tmpfile"
|
||||
rm "$tmpfile"
|
||||
}
|
||||
|
||||
|
||||
if [[ ! -d "$dir" ]]; then
|
||||
mkdir -p "$dir"
|
||||
fi
|
||||
|
||||
if [[ "$1" == "--now" ]]; then
|
||||
shotnow
|
||||
elif [[ "$1" == "--in5" ]]; then
|
||||
shot5
|
||||
elif [[ "$1" == "--in10" ]]; then
|
||||
shot10
|
||||
elif [[ "$1" == "--win" ]]; then
|
||||
shotwin
|
||||
elif [[ "$1" == "--area" ]]; then
|
||||
shotarea
|
||||
elif [[ "$1" == "--active" ]]; then
|
||||
shotactive
|
||||
elif [[ "$1" == "--swappy" ]]; then
|
||||
shotswappy
|
||||
else
|
||||
echo -e "Available Options : --now --in5 --in10 --win --area --active --swappy"
|
||||
fi
|
||||
|
||||
exit 0
|
||||
77
hyprland/.config/hypr/scripts/Sounds.sh
Executable file
|
|
@ -0,0 +1,77 @@
|
|||
#!/bin/bash
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||
# This script is used to play system sounds.
|
||||
# Script is used by Volume.Sh and ScreenShots.sh
|
||||
|
||||
theme="freedesktop" # Set the theme for the system sounds.
|
||||
mute=false # Set to true to mute the system sounds.
|
||||
|
||||
# Mute individual sounds here.
|
||||
muteScreenshots=false
|
||||
muteVolume=false
|
||||
|
||||
# Exit if the system sounds are muted.
|
||||
if [[ "$mute" = true ]]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Choose the sound to play.
|
||||
if [[ "$1" == "--screenshot" ]]; then
|
||||
if [[ "$muteScreenshots" = true ]]; then
|
||||
exit 0
|
||||
fi
|
||||
soundoption="screen-capture.*"
|
||||
elif [[ "$1" == "--volume" ]]; then
|
||||
if [[ "$muteVolume" = true ]]; then
|
||||
exit 0
|
||||
fi
|
||||
soundoption="audio-volume-change.*"
|
||||
elif [[ "$1" == "--error" ]]; then
|
||||
if [[ "$muteScreenshots" = true ]]; then
|
||||
exit 0
|
||||
fi
|
||||
soundoption="dialog-error.*"
|
||||
else
|
||||
echo -e "Available sounds: --screenshot, --volume, --error"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Set the directory defaults for system sounds.
|
||||
if [ -d "/run/current-system/sw/share/sounds" ]; then
|
||||
systemDIR="/run/current-system/sw/share/sounds" # NixOS
|
||||
else
|
||||
systemDIR="/usr/share/sounds"
|
||||
fi
|
||||
userDIR="$HOME/.local/share/sounds"
|
||||
defaultTheme="freedesktop"
|
||||
|
||||
# Prefer the user's theme, but use the system's if it doesn't exist.
|
||||
sDIR="$systemDIR/$defaultTheme"
|
||||
if [ -d "$userDIR/$theme" ]; then
|
||||
sDIR="$userDIR/$theme"
|
||||
elif [ -d "$systemDIR/$theme" ]; then
|
||||
sDIR="$systemDIR/$theme"
|
||||
fi
|
||||
|
||||
# Get the theme that it inherits.
|
||||
iTheme=$(cat "$sDIR/index.theme" | grep -i "inherits" | cut -d "=" -f 2)
|
||||
iDIR="$sDIR/../$iTheme"
|
||||
|
||||
# Find the sound file and play it.
|
||||
sound_file=$(find $sDIR/stereo -name "$soundoption" -print -quit)
|
||||
if ! test -f "$sound_file"; then
|
||||
sound_file=$(find $iDIR/stereo -name "$soundoption" -print -quit)
|
||||
if ! test -f "$sound_file"; then
|
||||
sound_file=$(find $userDIR/$defaultTheme/stereo -name "$soundoption" -print -quit)
|
||||
if ! test -f "$sound_file"; then
|
||||
sound_file=$(find $systemDIR/$defaultTheme/stereo -name "$soundoption" -print -quit)
|
||||
if ! test -f "$sound_file"; then
|
||||
echo "Error: Sound file not found."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# pipewire priority, fallback pulseaudio
|
||||
pw-play "$sound_file" || pa-play "$sound_file"
|
||||
104
hyprland/.config/hypr/scripts/SwitchKeyboardLayout.sh
Executable file
|
|
@ -0,0 +1,104 @@
|
|||
#!/bin/bash
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||
# This is for changing kb_layouts. Set kb_layouts in $settings_file
|
||||
|
||||
layout_file="$HOME/.cache/kb_layout"
|
||||
settings_file="$HOME/.config/hypr/UserConfigs/UserSettings.conf"
|
||||
notif_icon="$HOME/.config/swaync/images/bell.png"
|
||||
|
||||
# Refined ignore list with patterns or specific device names
|
||||
ignore_patterns=(
|
||||
"--(avrcp)"
|
||||
"Bluetooth Speaker"
|
||||
"Other Device
|
||||
Name"
|
||||
)
|
||||
|
||||
|
||||
# Create layout file with default layout if it does not exist
|
||||
if [ ! -f "$layout_file" ]; then
|
||||
echo "Creating layout file..."
|
||||
default_layout=$(grep 'kb_layout = ' "$settings_file" | cut -d '=' -f 2 | tr -d '[:space:]' | cut -d ',' -f 1 2>/dev/null)
|
||||
default_layout=${default_layout:-"us"} # Default to 'us' layout
|
||||
echo "$default_layout" > "$layout_file"
|
||||
echo "Default layout set to $default_layout"
|
||||
fi
|
||||
|
||||
current_layout=$(cat "$layout_file")
|
||||
echo "Current layout: $current_layout"
|
||||
|
||||
# Read available layouts from settings file
|
||||
if [ -f "$settings_file" ]; then
|
||||
kb_layout_line=$(grep 'kb_layout = ' "$settings_file" | cut -d '=' -f 2)
|
||||
# Remove leading and trailing spaces around each layout
|
||||
kb_layout_line=$(echo "$kb_layout_line" | tr -d '[:space:]')
|
||||
IFS=',' read -r -a layout_mapping <<< "$kb_layout_line"
|
||||
else
|
||||
echo "Settings file not found!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
layout_count=${#layout_mapping[@]}
|
||||
echo "Number of layouts: $layout_count"
|
||||
|
||||
# Find current layout index and calculate next layout
|
||||
for ((i = 0; i < layout_count; i++)); do
|
||||
if [ "$current_layout" == "${layout_mapping[i]}" ]; then
|
||||
current_index=$i
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
next_index=$(( (current_index + 1) % layout_count ))
|
||||
new_layout="${layout_mapping[next_index]}"
|
||||
echo "Next layout: $new_layout"
|
||||
|
||||
# Function to get keyboard names
|
||||
get_keyboard_names() {
|
||||
hyprctl devices -j | jq -r '.keyboards[].name'
|
||||
}
|
||||
|
||||
# Function to check if a device matches any ignore pattern
|
||||
is_ignored() {
|
||||
local device_name=$1
|
||||
for pattern in "${ignore_patterns[@]}"; do
|
||||
if [[ "$device_name" == *"$pattern"* ]]; then
|
||||
return 0 # Device matches ignore pattern
|
||||
fi
|
||||
done
|
||||
return 1 # Device does not match any ignore pattern
|
||||
}
|
||||
|
||||
# Function to change keyboard layout
|
||||
change_layout() {
|
||||
local error_found=false
|
||||
|
||||
while read -r name; do
|
||||
if is_ignored "$name"; then
|
||||
echo "Skipping ignored device: $name"
|
||||
continue
|
||||
fi
|
||||
|
||||
echo "Switching layout for $name to $new_layout..."
|
||||
hyprctl switchxkblayout "$name" next
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Error while switching layout for $name." >&2
|
||||
error_found=true
|
||||
fi
|
||||
done <<< "$(get_keyboard_names)"
|
||||
|
||||
$error_found && return 1
|
||||
return 0
|
||||
}
|
||||
|
||||
# Execute layout change and notify
|
||||
if ! change_layout; then
|
||||
notify-send -u low -t 2000 'kb_layout' 'Error: Layout change failed'
|
||||
echo "Layout change failed." >&2
|
||||
exit 1
|
||||
else
|
||||
notify-send -u low -i "$notif_icon" "New kb_layout: $new_layout"
|
||||
echo "Layout change notification sent."
|
||||
fi
|
||||
|
||||
echo "$new_layout" > "$layout_file"
|
||||
32
hyprland/.config/hypr/scripts/TouchPad.sh
Executable file
|
|
@ -0,0 +1,32 @@
|
|||
#!/bin/bash
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||
# For disabling touchpad.
|
||||
# Edit the Touchpad_Device on ~/.config/hypr/UserConfigs/Laptops.conf according to your system
|
||||
# use hyprctl devices to get your system touchpad device name
|
||||
# source https://github.com/hyprwm/Hyprland/discussions/4283?sort=new#discussioncomment-8648109
|
||||
|
||||
notif="$HOME/.config/swaync/images/bell.png"
|
||||
|
||||
export STATUS_FILE="$XDG_RUNTIME_DIR/touchpad.status"
|
||||
|
||||
enable_touchpad() {
|
||||
printf "true" >"$STATUS_FILE"
|
||||
notify-send -u low -i $notif "Enabling touchpad"
|
||||
hyprctl keyword '$TOUCHPAD_ENABLED' "true" -r
|
||||
}
|
||||
|
||||
disable_touchpad() {
|
||||
printf "false" >"$STATUS_FILE"
|
||||
notify-send -u low -i $notif "Disabling touchpad"
|
||||
hyprctl keyword '$TOUCHPAD_ENABLED' "false" -r
|
||||
}
|
||||
|
||||
if ! [ -f "$STATUS_FILE" ]; then
|
||||
enable_touchpad
|
||||
else
|
||||
if [ $(cat "$STATUS_FILE") = "true" ]; then
|
||||
disable_touchpad
|
||||
elif [ $(cat "$STATUS_FILE") = "false" ]; then
|
||||
enable_touchpad
|
||||
fi
|
||||
fi
|
||||
143
hyprland/.config/hypr/scripts/Volume.sh
Executable file
|
|
@ -0,0 +1,143 @@
|
|||
#!/bin/bash
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||
# Scripts for volume controls for audio and mic
|
||||
|
||||
iDIR="$HOME/.config/swaync/icons"
|
||||
sDIR="$HOME/.config/hypr/scripts"
|
||||
|
||||
# Get Volume
|
||||
get_volume() {
|
||||
volume=$(pamixer --get-volume)
|
||||
if [[ "$volume" -eq "0" ]]; then
|
||||
echo "Muted"
|
||||
else
|
||||
echo "$volume%"
|
||||
fi
|
||||
}
|
||||
|
||||
# Get icons
|
||||
get_icon() {
|
||||
current=$(get_volume)
|
||||
if [[ "$current" == "Muted" ]]; then
|
||||
echo "$iDIR/volume-mute.png"
|
||||
elif [[ "${current%\%}" -le 30 ]]; then
|
||||
echo "$iDIR/volume-low.png"
|
||||
elif [[ "${current%\%}" -le 60 ]]; then
|
||||
echo "$iDIR/volume-mid.png"
|
||||
else
|
||||
echo "$iDIR/volume-high.png"
|
||||
fi
|
||||
}
|
||||
|
||||
# Notify
|
||||
notify_user() {
|
||||
if [[ "$(get_volume)" == "Muted" ]]; then
|
||||
notify-send -e -h string:x-canonical-private-synchronous:volume_notif -u low -i "$(get_icon)" "Volume: Muted"
|
||||
else
|
||||
notify-send -e -h int:value:"$(get_volume | sed 's/%//')" -h string:x-canonical-private-synchronous:volume_notif -u low -i "$(get_icon)" "Volume: $(get_volume)"
|
||||
"$sDIR/Sounds.sh" --volume
|
||||
fi
|
||||
}
|
||||
|
||||
# Increase Volume
|
||||
inc_volume() {
|
||||
if [ "$(pamixer --get-mute)" == "true" ]; then
|
||||
toggle_mute
|
||||
else
|
||||
pamixer -i 5 --allow-boost --set-limit 150 && notify_user
|
||||
fi
|
||||
}
|
||||
|
||||
# Decrease Volume
|
||||
dec_volume() {
|
||||
if [ "$(pamixer --get-mute)" == "true" ]; then
|
||||
toggle_mute
|
||||
else
|
||||
pamixer -d 5 && notify_user
|
||||
fi
|
||||
}
|
||||
|
||||
# Toggle Mute
|
||||
toggle_mute() {
|
||||
if [ "$(pamixer --get-mute)" == "false" ]; then
|
||||
pamixer -m && notify-send -e -u low -i "$iDIR/volume-mute.png" "Volume Switched OFF"
|
||||
elif [ "$(pamixer --get-mute)" == "true" ]; then
|
||||
pamixer -u && notify-send -e -u low -i "$(get_icon)" "Volume Switched ON"
|
||||
fi
|
||||
}
|
||||
|
||||
# Toggle Mic
|
||||
toggle_mic() {
|
||||
if [ "$(pamixer --default-source --get-mute)" == "false" ]; then
|
||||
pamixer --default-source -m && notify-send -e -u low -i "$iDIR/microphone-mute.png" "Microphone Switched OFF"
|
||||
elif [ "$(pamixer --default-source --get-mute)" == "true" ]; then
|
||||
pamixer -u --default-source u && notify-send -e -u low -i "$iDIR/microphone.png" "Microphone Switched ON"
|
||||
fi
|
||||
}
|
||||
# Get Mic Icon
|
||||
get_mic_icon() {
|
||||
current=$(pamixer --default-source --get-volume)
|
||||
if [[ "$current" -eq "0" ]]; then
|
||||
echo "$iDIR/microphone-mute.png"
|
||||
else
|
||||
echo "$iDIR/microphone.png"
|
||||
fi
|
||||
}
|
||||
|
||||
# Get Microphone Volume
|
||||
get_mic_volume() {
|
||||
volume=$(pamixer --default-source --get-volume)
|
||||
if [[ "$volume" -eq "0" ]]; then
|
||||
echo "Muted"
|
||||
else
|
||||
echo "$volume%"
|
||||
fi
|
||||
}
|
||||
|
||||
# Notify for Microphone
|
||||
notify_mic_user() {
|
||||
volume=$(get_mic_volume)
|
||||
icon=$(get_mic_icon)
|
||||
notify-send -e -h int:value:"$volume" -h "string:x-canonical-private-synchronous:volume_notif" -u low -i "$icon" "Mic-Level: $volume"
|
||||
}
|
||||
|
||||
# Increase MIC Volume
|
||||
inc_mic_volume() {
|
||||
if [ "$(pamixer --default-source --get-mute)" == "true" ]; then
|
||||
toggle_mic
|
||||
else
|
||||
pamixer --default-source -i 5 && notify_mic_user
|
||||
fi
|
||||
}
|
||||
|
||||
# Decrease MIC Volume
|
||||
dec_mic_volume() {
|
||||
if [ "$(pamixer --default-source --get-mute)" == "true" ]; then
|
||||
toggle-mic
|
||||
else
|
||||
pamixer --default-source -d 5 && notify_mic_user
|
||||
fi
|
||||
}
|
||||
|
||||
# Execute accordingly
|
||||
if [[ "$1" == "--get" ]]; then
|
||||
get_volume
|
||||
elif [[ "$1" == "--inc" ]]; then
|
||||
inc_volume
|
||||
elif [[ "$1" == "--dec" ]]; then
|
||||
dec_volume
|
||||
elif [[ "$1" == "--toggle" ]]; then
|
||||
toggle_mute
|
||||
elif [[ "$1" == "--toggle-mic" ]]; then
|
||||
toggle_mic
|
||||
elif [[ "$1" == "--get-icon" ]]; then
|
||||
get_icon
|
||||
elif [[ "$1" == "--get-mic-icon" ]]; then
|
||||
get_mic_icon
|
||||
elif [[ "$1" == "--mic-inc" ]]; then
|
||||
inc_mic_volume
|
||||
elif [[ "$1" == "--mic-dec" ]]; then
|
||||
dec_mic_volume
|
||||
else
|
||||
get_volume
|
||||
fi
|
||||
39
hyprland/.config/hypr/scripts/WallustSwww.sh
Executable file
|
|
@ -0,0 +1,39 @@
|
|||
#!/bin/bash
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||
# Wallust Colors for current wallpaper
|
||||
|
||||
# Define the path to the swww cache directory
|
||||
cache_dir="$HOME/.cache/swww/"
|
||||
|
||||
# Get a list of monitor outputs
|
||||
monitor_outputs=($(ls "$cache_dir"))
|
||||
|
||||
# Initialize a flag to determine if the ln command was executed
|
||||
ln_success=false
|
||||
|
||||
# Get current focused monitor
|
||||
current_monitor=$(hyprctl monitors | awk '/^Monitor/{name=$2} /focused: yes/{print name}')
|
||||
echo $current_monitor
|
||||
# Construct the full path to the cache file
|
||||
cache_file="$cache_dir$current_monitor"
|
||||
echo $cache_file
|
||||
# Check if the cache file exists for the current monitor output
|
||||
if [ -f "$cache_file" ]; then
|
||||
# Get the wallpaper path from the cache file
|
||||
wallpaper_path=$(cat "$cache_file")
|
||||
echo $wallpaper_path
|
||||
# symlink the wallpaper to the location Rofi can access
|
||||
if ln -sf "$wallpaper_path" "$HOME/.config/rofi/.current_wallpaper"; then
|
||||
ln_success=true # Set the flag to true upon successful execution
|
||||
fi
|
||||
# copy the wallpaper for wallpaper effects
|
||||
cp -r "$wallpaper_path" "$HOME/.config/hypr/wallpaper_effects/.wallpaper_current"
|
||||
fi
|
||||
|
||||
# Check the flag before executing further commands
|
||||
if [ "$ln_success" = true ]; then
|
||||
# execute wallust
|
||||
echo 'about to execute wallust'
|
||||
# execute wallust skipping tty and terminal changes
|
||||
wallust run "$wallpaper_path" -s &
|
||||
fi
|
||||
39
hyprland/.config/hypr/scripts/WaybarCava.sh
Executable file
|
|
@ -0,0 +1,39 @@
|
|||
#!/bin/bash
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||
|
||||
# Not my own work. This was added through Github PR. Credit to original author
|
||||
|
||||
#----- Optimized bars animation without much CPU usage increase --------
|
||||
bar="▁▂▃▄▅▆▇█"
|
||||
dict="s/;//g"
|
||||
|
||||
# Calculate the length of the bar outside the loop
|
||||
bar_length=${#bar}
|
||||
|
||||
# Create dictionary to replace char with bar
|
||||
for ((i = 0; i < bar_length; i++)); do
|
||||
dict+=";s/$i/${bar:$i:1}/g"
|
||||
done
|
||||
|
||||
# Create cava config
|
||||
config_file="/tmp/bar_cava_config"
|
||||
cat >"$config_file" <<EOF
|
||||
[general]
|
||||
bars = 10
|
||||
|
||||
[input]
|
||||
method = pulse
|
||||
source = auto
|
||||
|
||||
[output]
|
||||
method = raw
|
||||
raw_target = /dev/stdout
|
||||
data_format = ascii
|
||||
ascii_max_range = 7
|
||||
EOF
|
||||
|
||||
# Kill cava if it's already running
|
||||
pkill -f "cava -p $config_file"
|
||||
|
||||
# Read stdout from cava and perform substitution in a single sed command
|
||||
cava -p "$config_file" | sed -u "$dict"
|
||||
56
hyprland/.config/hypr/scripts/WaybarLayout.sh
Executable file
|
|
@ -0,0 +1,56 @@
|
|||
#!/bin/bash
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||
# Script for waybar layout or configs
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
# Define directories
|
||||
waybar_layouts="$HOME/.config/waybar/configs"
|
||||
waybar_config="$HOME/.config/waybar/config"
|
||||
SCRIPTSDIR="$HOME/.config/hypr/scripts"
|
||||
rofi_config="$HOME/.config/rofi/config-waybar-layout.rasi"
|
||||
|
||||
# Function to display menu options
|
||||
menu() {
|
||||
options=()
|
||||
while IFS= read -r file; do
|
||||
options+=("$(basename "$file")")
|
||||
done < <(find "$waybar_layouts" -maxdepth 1 -type f -exec basename {} \; | sort)
|
||||
|
||||
printf '%s\n' "${options[@]}"
|
||||
}
|
||||
|
||||
# Apply selected configuration
|
||||
apply_config() {
|
||||
ln -sf "$waybar_layouts/$1" "$waybar_config"
|
||||
#restart_waybar_if_needed
|
||||
"${SCRIPTSDIR}/Refresh.sh" &
|
||||
}
|
||||
|
||||
# Main function
|
||||
main() {
|
||||
choice=$(menu | rofi -i -dmenu -config "$rofi_config")
|
||||
|
||||
if [[ -z "$choice" ]]; then
|
||||
echo "No option selected. Exiting."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
case $choice in
|
||||
"no panel")
|
||||
pgrep -x "waybar" && pkill waybar || true
|
||||
;;
|
||||
*)
|
||||
apply_config "$choice"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Kill Rofi if already running before execution
|
||||
if pgrep -x "rofi" >/dev/null; then
|
||||
pkill rofi
|
||||
exit 0
|
||||
fi
|
||||
|
||||
main
|
||||
50
hyprland/.config/hypr/scripts/WaybarStyles.sh
Executable file
|
|
@ -0,0 +1,50 @@
|
|||
#!/bin/bash
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||
# Script for waybar styles
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
# Define directories
|
||||
waybar_styles="$HOME/.config/waybar/style"
|
||||
waybar_style="$HOME/.config/waybar/style.css"
|
||||
SCRIPTSDIR="$HOME/.config/hypr/scripts"
|
||||
rofi_config="$HOME/.config/rofi/config-waybar-style.rasi"
|
||||
|
||||
# Function to display menu options
|
||||
menu() {
|
||||
options=()
|
||||
while IFS= read -r file; do
|
||||
if [ -f "$waybar_styles/$file" ]; then
|
||||
options+=("$(basename "$file" .css)")
|
||||
fi
|
||||
done < <(find "$waybar_styles" -maxdepth 1 -type f -name '*.css' -exec basename {} \; | sort)
|
||||
|
||||
printf '%s\n' "${options[@]}"
|
||||
}
|
||||
|
||||
# Apply selected style
|
||||
apply_style() {
|
||||
ln -sf "$waybar_styles/$1.css" "$waybar_style"
|
||||
"${SCRIPTSDIR}/Refresh.sh" &
|
||||
}
|
||||
|
||||
# Main function
|
||||
main() {
|
||||
choice=$(menu | rofi -i -dmenu -config "$rofi_config")
|
||||
|
||||
if [[ -z "$choice" ]]; then
|
||||
echo "No option selected. Exiting."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
apply_style "$choice"
|
||||
}
|
||||
|
||||
# Kill Rofi if already running before execution
|
||||
if pgrep -x "rofi" >/dev/null; then
|
||||
pkill rofi
|
||||
exit 0
|
||||
fi
|
||||
|
||||
main
|
||||
57
hyprland/.config/hypr/scripts/Wlogout.sh
Executable file
|
|
@ -0,0 +1,57 @@
|
|||
#!/bin/bash
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||
|
||||
# wlogout (Power, Screen Lock, Suspend, etc)
|
||||
|
||||
# Set variables for parameters
|
||||
A_2160=700
|
||||
B_2160=700
|
||||
A_1600=480
|
||||
B_1600=480
|
||||
A_1440=450
|
||||
B_1440=450
|
||||
A_1080=350
|
||||
B_1080=350
|
||||
A_720=50
|
||||
B_720=50
|
||||
|
||||
# Check if wlogout is already running
|
||||
if pgrep -x "wlogout" > /dev/null; then
|
||||
pkill -x "wlogout"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Detect monitor resolution and scaling factor
|
||||
resolution=$(hyprctl -j monitors | jq -r '.[] | select(.focused==true) | .height / .scale' | awk -F'.' '{print $1}')
|
||||
hypr_scale=$(hyprctl -j monitors | jq -r '.[] | select(.focused==true) | .scale')
|
||||
|
||||
# Set parameters based on screen resolution and scaling factor
|
||||
if ((resolution >= 2160)); then
|
||||
T_val=$(awk "BEGIN {printf \"%.0f\", $A_2160 * 2160 * $hypr_scale / $resolution}")
|
||||
B_val=$(awk "BEGIN {printf \"%.0f\", $B_2160 * 2160 * $hypr_scale / $resolution}")
|
||||
echo "Setting parameters for resolution >= 4k"
|
||||
wlogout --protocol layer-shell -b 6 -T $T_val -B $B_val &
|
||||
elif ((resolution >= 1600 && resolution < 2160)); then
|
||||
T_val=$(awk "BEGIN {printf \"%.0f\", $A_1600 * 1600 * $hypr_scale / $resolution}")
|
||||
B_val=$(awk "BEGIN {printf \"%.0f\", $B_1600 * 1600 * $hypr_scale / $resolution}")
|
||||
echo "Setting parameters for resolution >= 2.5k and < 4k"
|
||||
wlogout --protocol layer-shell -b 6 -T $T_val -B $B_val &
|
||||
elif ((resolution >= 1440 && resolution < 1600)); then
|
||||
T_val=$(awk "BEGIN {printf \"%.0f\", $A_1440 * 1440 * $hypr_scale / $resolution}")
|
||||
B_val=$(awk "BEGIN {printf \"%.0f\", $B_1440 * 1440 * $hypr_scale / $resolution}")
|
||||
echo "Setting parameters for resolution >= 2k and < 2.5k"
|
||||
wlogout --protocol layer-shell -b 6 -T $T_val -B $B_val &
|
||||
elif ((resolution >= 1080 && resolution < 1440)); then
|
||||
T_val=$(awk "BEGIN {printf \"%.0f\", $A_1080 * 1080 * $hypr_scale / $resolution}")
|
||||
B_val=$(awk "BEGIN {printf \"%.0f\", $B_1080 * 1080 * $hypr_scale / $resolution}")
|
||||
echo "Setting parameters for resolution >= 1080p and < 2k"
|
||||
wlogout --protocol layer-shell -b 6 -T $T_val -B $B_val &
|
||||
elif ((resolution >= 720 && resolution < 1080)); then
|
||||
T_val=$(awk "BEGIN {printf \"%.0f\", $A_720 * 720 * $hypr_scale / $resolution}")
|
||||
B_val=$(awk "BEGIN {printf \"%.0f\", $B_720 * 720 * $hypr_scale / $resolution}")
|
||||
echo "Setting parameters for resolution >= 720p and < 1080p"
|
||||
wlogout --protocol layer-shell -b 3 -T $T_val -B $B_val &
|
||||
else
|
||||
echo "Setting default parameters"
|
||||
wlogout &
|
||||
fi
|
||||
113
hyprland/.config/hypr/userScripts/RofiBeats.sh
Executable file
|
|
@ -0,0 +1,113 @@
|
|||
#!/bin/bash
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||
# For Rofi Beats to play online Music or Locally save media files
|
||||
|
||||
# Directory local music folder
|
||||
mDIR="$HOME/Music/"
|
||||
|
||||
# Directory for icons
|
||||
iDIR="$HOME/.config/swaync/icons"
|
||||
|
||||
# Online Stations. Edit as required
|
||||
declare -A online_music=(
|
||||
["Radio - Lofi Girl 🎧🎶"]="https://play.streamafrica.net/lofiradio"
|
||||
["Radio - Chillhop 🎧🎶"]="http://stream.zeno.fm/fyn8eh3h5f8uv"
|
||||
["FM - Easy Rock 96.3 📻🎶"]="https://radio-stations-philippines.com/easy-rock"
|
||||
["FM - Love Radio 90.7 📻🎶"]="https://radio-stations-philippines.com/love"
|
||||
["FM - WRock - CEBU 96.3 📻🎶"]="https://onlineradio.ph/126-96-3-wrock.html"
|
||||
["FM - Fresh Philippines 📻🎶"]="https://onlineradio.ph/553-fresh-fm.html"
|
||||
["YT - Wish 107.5 YT Pinoy HipHop 📻🎶"]="https://youtube.com/playlist?list=PLkrzfEDjeYJnmgMYwCKid4XIFqUKBVWEs&si=vahW_noh4UDJ5d37"
|
||||
["YT - Top Youtube Music 2023 📹🎶"]="https://youtube.com/playlist?list=PLDIoUOhQQPlXr63I_vwF9GD8sAKh77dWU&si=y7qNeEVFNgA-XxKy"
|
||||
["YT - Wish 107.5 YT Wishclusives 📹🎶"]="https://youtube.com/playlist?list=PLkrzfEDjeYJn5B22H9HOWP3Kxxs-DkPSM&si=d_Ld2OKhGvpH48WO"
|
||||
["YT - Relaxing Music 📹🎶"]="https://youtube.com/playlist?list=PLMIbmfP_9vb8BCxRoraJpoo4q1yMFg4CE"
|
||||
["YT - Youtube Remix 📹🎶"]="https://youtube.com/playlist?list=PLeqTkIUlrZXlSNn3tcXAa-zbo95j0iN-0"
|
||||
["YT - Korean Drama OST 📹🎶"]="https://youtube.com/playlist?list=PLUge_o9AIFp4HuA-A3e3ZqENh63LuRRlQ"
|
||||
["YT - AfroBeatz 2024 📹🎶"]="https://www.youtube.com/watch?v=7uB-Eh9XVZQ"
|
||||
["YT - Relaxing Piano Jazz Music 🎹🎶"]="https://youtu.be/85UEqRat6E4?si=jXQL1Yp2VP_G6NSn"
|
||||
)
|
||||
|
||||
# Populate local_music array with files from music directory and subdirectories
|
||||
populate_local_music() {
|
||||
local_music=()
|
||||
filenames=()
|
||||
while IFS= read -r file; do
|
||||
local_music+=("$file")
|
||||
filenames+=("$(basename "$file")")
|
||||
done < <(find "$mDIR" -type f \( -iname "*.mp3" -o -iname "*.flac" -o -iname "*.wav" -o -iname "*.ogg" -o -iname "*.mp4" \))
|
||||
}
|
||||
|
||||
# Function for displaying notifications
|
||||
notification() {
|
||||
notify-send -u normal -i "$iDIR/music.png" "Playing: $@"
|
||||
}
|
||||
|
||||
# Main function for playing local music
|
||||
play_local_music() {
|
||||
populate_local_music
|
||||
|
||||
# Prompt the user to select a song
|
||||
choice=$(printf "%s\n" "${filenames[@]}" | rofi -i -dmenu -config ~/.config/rofi/config-rofi-Beats.rasi -p "Local Music")
|
||||
|
||||
if [ -z "$choice" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Find the corresponding file path based on user's choice and set that to play the song then continue on the list
|
||||
for (( i=0; i<"${#filenames[@]}"; ++i )); do
|
||||
if [ "${filenames[$i]}" = "$choice" ]; then
|
||||
|
||||
notification "$choice"
|
||||
|
||||
# Play the selected local music file using mpv
|
||||
mpv --playlist-start="$i" --loop-playlist --vid=no "${local_music[@]}"
|
||||
|
||||
break
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# Main function for shuffling local music
|
||||
shuffle_local_music() {
|
||||
notification "Shuffle local music"
|
||||
|
||||
# Play music in $mDIR on shuffle
|
||||
mpv --shuffle --loop-playlist --vid=no "$mDIR"
|
||||
}
|
||||
|
||||
# Main function for playing online music
|
||||
play_online_music() {
|
||||
choice=$(printf "%s\n" "${!online_music[@]}" | rofi -i -dmenu -config ~/.config/rofi/config-rofi-Beats.rasi -p "Online Music")
|
||||
|
||||
if [ -z "$choice" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
link="${online_music[$choice]}"
|
||||
|
||||
notification "$choice"
|
||||
|
||||
# Play the selected online music using mpv
|
||||
mpv --shuffle --vid=no "$link"
|
||||
}
|
||||
|
||||
# Check if an online music process is running and send a notification, otherwise run the main function
|
||||
pkill mpv && notify-send -u low -i "$iDIR/music.png" "Music stopped" || {
|
||||
|
||||
# Prompt the user to choose between local and online music
|
||||
user_choice=$(printf "Play from Online Stations\nPlay from Music Folder\nShuffle Play from Music Folder" | rofi -dmenu -config ~/.config/rofi/config-rofi-Beats-menu.rasi -p "Select music source")
|
||||
|
||||
case "$user_choice" in
|
||||
"Play from Music Folder")
|
||||
play_local_music
|
||||
;;
|
||||
"Play from Online Stations")
|
||||
play_online_music
|
||||
;;
|
||||
"Shuffle Play from Music Folder")
|
||||
shuffle_local_music
|
||||
;;
|
||||
*)
|
||||
echo "Invalid choice"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
31
hyprland/.config/hypr/userScripts/RofiCalc.sh
Executable file
|
|
@ -0,0 +1,31 @@
|
|||
#!/bin/bash
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */
|
||||
# /* Calculator (using qalculate) and rofi */
|
||||
# /* Submitted by: https://github.com/JosephArmas */
|
||||
|
||||
rofi_config="$HOME/.config/rofi/config-calc.rasi"
|
||||
|
||||
# Kill Rofi if already running before execution
|
||||
if pgrep -x "rofi" >/dev/null; then
|
||||
pkill rofi
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# main function
|
||||
|
||||
while true; do
|
||||
result=$(
|
||||
rofi -i -dmenu \
|
||||
-config "$rofi_config" \
|
||||
-mesg "$result = $calc_result"
|
||||
)
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ -n "$result" ]; then
|
||||
calc_result=$(qalc -t "$result")
|
||||
echo "$calc_result" | wl-copy
|
||||
fi
|
||||
done
|
||||
39
hyprland/.config/hypr/userScripts/WallpaperAutoChange.sh
Executable file
|
|
@ -0,0 +1,39 @@
|
|||
#!/bin/bash
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||
# source https://wiki.archlinux.org/title/Hyprland#Using_a_script_to_change_wallpaper_every_X_minutes
|
||||
|
||||
# This script will randomly go through the files of a directory, setting it
|
||||
# up as the wallpaper at regular intervals
|
||||
#
|
||||
# NOTE: this script uses bash (not POSIX shell) for the RANDOM variable
|
||||
|
||||
wallust_refresh=$HOME/.config/hypr/scripts/RefreshNoWaybar.sh
|
||||
|
||||
focused_monitor=$(hyprctl monitors | awk '/^Monitor/{name=$2} /focused: yes/{print name}')
|
||||
|
||||
if [[ $# -lt 1 ]] || [[ ! -d $1 ]]; then
|
||||
echo "Usage:
|
||||
$0 <dir containing images>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Edit below to control the images transition
|
||||
export SWWW_TRANSITION_FPS=60
|
||||
export SWWW_TRANSITION_TYPE=simple
|
||||
|
||||
# This controls (in seconds) when to switch to the next image
|
||||
INTERVAL=1800
|
||||
|
||||
while true; do
|
||||
find "$1" \
|
||||
| while read -r img; do
|
||||
echo "$((RANDOM % 1000)):$img"
|
||||
done \
|
||||
| sort -n | cut -d':' -f2- \
|
||||
| while read -r img; do
|
||||
swww img -o $focused_monitor "$img"
|
||||
$wallust_refresh
|
||||
sleep $INTERVAL
|
||||
|
||||
done
|
||||
done
|
||||
101
hyprland/.config/hypr/userScripts/WallpaperEffects.sh
Executable file
|
|
@ -0,0 +1,101 @@
|
|||
#!/bin/bash
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||
# Wallpaper Effects using ImageMagick
|
||||
# Inspiration from ML4W - Stephan Raabe https://gitlab.com/stephan-raabe/dotfiles
|
||||
|
||||
# Variables
|
||||
current_wallpaper="$HOME/.config/hypr/wallpaper_effects/.wallpaper_current"
|
||||
wallpaper_output="$HOME/.config/hypr/wallpaper_effects/.wallpaper_modified"
|
||||
SCRIPTSDIR="$HOME/.config/hypr/scripts"
|
||||
focused_monitor=$(hyprctl monitors | awk '/^Monitor/{name=$2} /focused: yes/{print name}')
|
||||
|
||||
# Directory for swaync
|
||||
iDIR="$HOME/.config/swaync/images"
|
||||
|
||||
# swww transition config
|
||||
FPS=60
|
||||
TYPE="wipe"
|
||||
DURATION=2
|
||||
BEZIER=".43,1.19,1,.4"
|
||||
SWWW_PARAMS="--transition-fps $FPS --transition-type $TYPE --transition-duration $DURATION"
|
||||
|
||||
# Define ImageMagick effects
|
||||
declare -A effects=(
|
||||
["No Effects"]="no-effects"
|
||||
["Black & White"]="magick $current_wallpaper -colorspace gray -sigmoidal-contrast 10,40% $wallpaper_output"
|
||||
["Blurred"]="magick $current_wallpaper -blur 0x10 $wallpaper_output"
|
||||
["Charcoal"]="magick $current_wallpaper -charcoal 0x5 $wallpaper_output"
|
||||
["Edge Detect"]="magick $current_wallpaper -edge 1 $wallpaper_output"
|
||||
["Emboss"]="magick $current_wallpaper -emboss 0x5 $wallpaper_output"
|
||||
["Negate"]="magick $current_wallpaper -negate $wallpaper_output"
|
||||
["Oil Paint"]="magick $current_wallpaper -paint 4 $wallpaper_output"
|
||||
["Posterize"]="magick $current_wallpaper -posterize 4 $wallpaper_output"
|
||||
["Polaroid"]="magick $current_wallpaper -polaroid 0 $wallpaper_output"
|
||||
["Sepia Tone"]="magick $current_wallpaper -sepia-tone 65% $wallpaper_output"
|
||||
["Solarize"]="magick $current_wallpaper -solarize 80% $wallpaper_output"
|
||||
["Sharpen"]="magick $current_wallpaper -sharpen 0x5 $wallpaper_output"
|
||||
["Vignette"]="magick $current_wallpaper -vignette 0x5 $wallpaper_output"
|
||||
["Zoomed"]="magick $current_wallpaper -gravity Center -extent 1:1 $wallpaper_output"
|
||||
)
|
||||
|
||||
# Function to apply no effects
|
||||
no-effects() {
|
||||
swww img -o "$focused_monitor" "$current_wallpaper" $SWWW_PARAMS &
|
||||
# Wait for swww command to complete
|
||||
wait $!
|
||||
# Run other commands after swww
|
||||
wallust run "$current_wallpaper" -s &
|
||||
# Wait to complete
|
||||
wait $!
|
||||
# Refresh rofi, waybar, wallust palettes
|
||||
"${SCRIPTSDIR}/Refresh.sh"
|
||||
notify-send -u low -i "$iDIR/bell.png" "No wallpaper effects"
|
||||
# copying wallpaper for rofi menu
|
||||
cp "$current_wallpaper" "$wallpaper_output"
|
||||
}
|
||||
|
||||
# Function to run rofi menu
|
||||
main() {
|
||||
# Populate rofi menu options
|
||||
options=("No Effects")
|
||||
for effect in "${!effects[@]}"; do
|
||||
[[ "$effect" != "No Effects" ]] && options+=("$effect")
|
||||
done
|
||||
|
||||
# Show rofi menu and handle user choice
|
||||
choice=$(printf "%s\n" "${options[@]}" | LC_COLLATE=C sort | rofi -dmenu -p "Choose effect" -i -config ~/.config/rofi/config-wallpaper-effect.rasi)
|
||||
|
||||
# Process user choice
|
||||
if [[ -n "$choice" ]]; then
|
||||
if [[ "$choice" == "No Effects" ]]; then
|
||||
no-effects
|
||||
elif [[ "${effects[$choice]+exists}" ]]; then
|
||||
# Apply selected effect
|
||||
notify-send -u normal -i "$iDIR/bell.png" "Applying $choice effects"
|
||||
eval "${effects[$choice]}"
|
||||
# Wait for effects to be applied
|
||||
sleep 1
|
||||
# Execute swww command after image conversion
|
||||
swww img -o "$focused_monitor" "$wallpaper_output" $SWWW_PARAMS &
|
||||
# Wait for swww command to complete
|
||||
wait $!
|
||||
# Wait for other commands to finish
|
||||
wallust run "$wallpaper_output" -s &
|
||||
# Wait for other commands to finish
|
||||
wait $!
|
||||
# Refresh rofi, waybar, wallust palettes
|
||||
"${SCRIPTSDIR}/Refresh.sh"
|
||||
notify-send -u low -i "$iDIR/bell.png" "$choice effects applied"
|
||||
else
|
||||
echo "Effect '$choice' not recognized."
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# Check if rofi is already running and kill it
|
||||
if pidof rofi > /dev/null; then
|
||||
pkill rofi
|
||||
exit 0
|
||||
fi
|
||||
|
||||
main
|
||||
28
hyprland/.config/hypr/userScripts/WallpaperRandom.sh
Executable file
|
|
@ -0,0 +1,28 @@
|
|||
#!/bin/bash
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
|
||||
# Script for Random Wallpaper ( CTRL ALT W)
|
||||
|
||||
wallDIR="$HOME/Pictures/wallpapers"
|
||||
scriptsDir="$HOME/.config/hypr/scripts"
|
||||
|
||||
focused_monitor=$(hyprctl monitors | awk '/^Monitor/{name=$2} /focused: yes/{print name}')
|
||||
|
||||
PICS=($(find ${wallDIR} -type f \( -name "*.jpg" -o -name "*.jpeg" -o -name "*.png" -o -name "*.gif" \)))
|
||||
RANDOMPICS=${PICS[ $RANDOM % ${#PICS[@]} ]}
|
||||
|
||||
|
||||
# Transition config
|
||||
FPS=60
|
||||
TYPE="random"
|
||||
DURATION=1
|
||||
BEZIER=".43,1.19,1,.4"
|
||||
SWWW_PARAMS="--transition-fps $FPS --transition-type $TYPE --transition-duration $DURATION --transition-bezier $BEZIER"
|
||||
|
||||
|
||||
swww query || swww-daemon --format xrgb && swww img -o $focused_monitor ${RANDOMPICS} $SWWW_PARAMS
|
||||
|
||||
|
||||
${scriptsDir}/WallustSwww.sh
|
||||
sleep 1
|
||||
${scriptsDir}/Refresh.sh
|
||||
|
||||
110
hyprland/.config/hypr/userScripts/WallpaperSelect.sh
Executable file
|
|
@ -0,0 +1,110 @@
|
|||
#!/bin/bash
|
||||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */
|
||||
# This script for selecting wallpapers (SUPER W)
|
||||
|
||||
# WALLPAPERS PATH
|
||||
wallDIR="$HOME/Pictures/wallpapers"
|
||||
SCRIPTSDIR="$HOME/.config/hypr/scripts"
|
||||
|
||||
# variables
|
||||
focused_monitor=$(hyprctl monitors | awk '/^Monitor/{name=$2} /focused: yes/{print name}')
|
||||
# swww transition config
|
||||
FPS=60
|
||||
TYPE="any"
|
||||
DURATION=2
|
||||
BEZIER=".43,1.19,1,.4"
|
||||
SWWW_PARAMS="--transition-fps $FPS --transition-type $TYPE --transition-duration $DURATION"
|
||||
|
||||
# Check if swaybg is running
|
||||
if pidof swaybg > /dev/null; then
|
||||
pkill swaybg
|
||||
fi
|
||||
|
||||
# Retrieve image files using null delimiter to handle spaces in filenames
|
||||
mapfile -d '' PICS < <(find "${wallDIR}" -type f \( -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.png" -o -iname "*.gif" \) -print0)
|
||||
|
||||
RANDOM_PIC="${PICS[$((RANDOM % ${#PICS[@]}))]}"
|
||||
RANDOM_PIC_NAME=". random"
|
||||
|
||||
# Rofi command
|
||||
rofi_command="rofi -i -show -dmenu -config ~/.config/rofi/config-wallpaper.rasi"
|
||||
|
||||
# Sorting Wallpapers
|
||||
menu() {
|
||||
# Sort the PICS array
|
||||
IFS=$'\n' sorted_options=($(sort <<<"${PICS[*]}"))
|
||||
|
||||
# Place ". random" at the beginning with the random picture as an icon
|
||||
printf "%s\x00icon\x1f%s\n" "$RANDOM_PIC_NAME" "$RANDOM_PIC"
|
||||
|
||||
for pic_path in "${sorted_options[@]}"; do
|
||||
pic_name=$(basename "$pic_path")
|
||||
|
||||
# Displaying .gif to indicate animated images
|
||||
if [[ ! "$pic_name" =~ \.gif$ ]]; then
|
||||
printf "%s\x00icon\x1f%s\n" "$(echo "$pic_name" | cut -d. -f1)" "$pic_path"
|
||||
else
|
||||
printf "%s\n" "$pic_name"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# initiate swww if not running
|
||||
swww query || swww-daemon --format xrgb
|
||||
|
||||
# Choice of wallpapers
|
||||
main() {
|
||||
choice=$(menu | $rofi_command)
|
||||
|
||||
# Trim any potential whitespace or hidden characters
|
||||
choice=$(echo "$choice" | xargs)
|
||||
RANDOM_PIC_NAME=$(echo "$RANDOM_PIC_NAME" | xargs)
|
||||
|
||||
# No choice case
|
||||
if [[ -z "$choice" ]]; then
|
||||
echo "No choice selected. Exiting."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Random choice case
|
||||
if [[ "$choice" == "$RANDOM_PIC_NAME" ]]; then
|
||||
swww img -o "$focused_monitor" "$RANDOM_PIC" $SWWW_PARAMS;
|
||||
sleep 0.5
|
||||
"$SCRIPTSDIR/WallustSwww.sh"
|
||||
sleep 0.2
|
||||
"$SCRIPTSDIR/Refresh.sh"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Find the index of the selected file
|
||||
pic_index=-1
|
||||
for i in "${!PICS[@]}"; do
|
||||
filename=$(basename "${PICS[$i]}")
|
||||
if [[ "$filename" == "$choice"* ]]; then
|
||||
pic_index=$i
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ $pic_index -ne -1 ]]; then
|
||||
swww img -o "$focused_monitor" "${PICS[$pic_index]}" $SWWW_PARAMS
|
||||
else
|
||||
echo "Image not found."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Check if rofi is already running
|
||||
if pidof rofi > /dev/null; then
|
||||
pkill rofi
|
||||
sleep 1 # Allow some time for rofi to close
|
||||
fi
|
||||
|
||||
main
|
||||
|
||||
sleep 0.5
|
||||
"$SCRIPTSDIR/WallustSwww.sh"
|
||||
|
||||
sleep 0.2
|
||||
"$SCRIPTSDIR/Refresh.sh"
|
||||
|
||||
136
hyprland/.config/hypr/userScripts/Weather.py
Executable file
|
|
@ -0,0 +1,136 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
import subprocess
|
||||
from pyquery import PyQuery # install using `pip install pyquery`
|
||||
import json
|
||||
import os
|
||||
|
||||
# original code https://gist.github.com/Surendrajat/ff3876fd2166dd86fb71180f4e9342d7
|
||||
# weather icons
|
||||
weather_icons = {
|
||||
"sunnyDay": "",
|
||||
"clearNight": "",
|
||||
"cloudyFoggyDay": "",
|
||||
"cloudyFoggyNight": "",
|
||||
"rainyDay": "",
|
||||
"rainyNight": "",
|
||||
"snowyIcyDay": "",
|
||||
"snowyIcyNight": "",
|
||||
"severe": "",
|
||||
"default": "",
|
||||
}
|
||||
|
||||
# get location_id
|
||||
# to get your own location_id, go to https://weather.com & search your location.
|
||||
# once you choose your location, you can see the location_id in the URL(64 chars long hex string)
|
||||
# like this: https://weather.com/en-PH/weather/today/l/bca47d1099e762a012b9a139c36f30a0b1e647f69c0c4ac28b537e7ae9c1c200
|
||||
location_id = "356027e85e89a4694c0b4e01b6db1d8f3349b6882964fe3748ef4a0d8abbcf02" # TODO
|
||||
|
||||
# NOTE to change to deg F, change the URL to your preffered location after weather.com
|
||||
# Default is English-Philippines with Busan, South Korea as location_id
|
||||
# get html page
|
||||
url = "https://weather.com/en-PH/weather/today/l/" + location_id
|
||||
html_data = PyQuery(url=url)
|
||||
|
||||
# current temperature
|
||||
temp = html_data("span[data-testid='TemperatureValue']").eq(0).text()
|
||||
# print(temp)
|
||||
|
||||
# current status phrase
|
||||
status = html_data("div[data-testid='wxPhrase']").text()
|
||||
status = f"{status[:16]}.." if len(status) > 17 else status
|
||||
# print(status)
|
||||
|
||||
# status code
|
||||
status_code = html_data("#regionHeader").attr("class").split(" ")[2].split("-")[2]
|
||||
# print(status_code)
|
||||
|
||||
# status icon
|
||||
icon = (
|
||||
weather_icons[status_code]
|
||||
if status_code in weather_icons
|
||||
else weather_icons["default"]
|
||||
)
|
||||
# print(icon)
|
||||
|
||||
# temperature feels like
|
||||
temp_feel = html_data(
|
||||
"div[data-testid='FeelsLikeSection'] > span > span[data-testid='TemperatureValue']"
|
||||
).text()
|
||||
temp_feel_text = f"Feels like {temp_feel}c"
|
||||
# print(temp_feel_text)
|
||||
|
||||
# min-max temperature
|
||||
temp_min = (
|
||||
html_data("div[data-testid='wxData'] > span[data-testid='TemperatureValue']")
|
||||
.eq(1)
|
||||
.text()
|
||||
)
|
||||
temp_max = (
|
||||
html_data("div[data-testid='wxData'] > span[data-testid='TemperatureValue']")
|
||||
.eq(0)
|
||||
.text()
|
||||
)
|
||||
temp_min_max = f" {temp_min}\t\t {temp_max}"
|
||||
# print(temp_min_max)
|
||||
|
||||
# wind speed
|
||||
wind_speed = html_data("span[data-testid='Wind']").text().split("\n")[1]
|
||||
wind_text = f" {wind_speed}"
|
||||
# print(wind_text)
|
||||
|
||||
# humidity
|
||||
humidity = html_data("span[data-testid='PercentageValue']").text()
|
||||
humidity_text = f" {humidity}"
|
||||
# print(humidity_text)
|
||||
|
||||
# visibility
|
||||
visbility = html_data("span[data-testid='VisibilityValue']").text()
|
||||
visbility_text = f" {visbility}"
|
||||
# print(visbility_text)
|
||||
|
||||
# air quality index
|
||||
air_quality_index = html_data("text[data-testid='DonutChartValue']").text()
|
||||
# print(air_quality_index)
|
||||
|
||||
# hourly rain prediction
|
||||
prediction = html_data("section[aria-label='Hourly Forecast']")(
|
||||
"div[data-testid='SegmentPrecipPercentage'] > span"
|
||||
).text()
|
||||
prediction = prediction.replace("Chance of Rain", "")
|
||||
prediction = f"\n\n (hourly) {prediction}" if len(prediction) > 0 else prediction
|
||||
# print(prediction)
|
||||
|
||||
# tooltip text
|
||||
tooltip_text = str.format(
|
||||
"\t\t{}\t\t\n{}\n{}\n{}\n\n{}\n{}\n{}{}",
|
||||
f'<span size="xx-large">{temp}</span>',
|
||||
f"<big> {icon}</big>",
|
||||
f"<b>{status}</b>",
|
||||
f"<small>{temp_feel_text}</small>",
|
||||
f"<b>{temp_min_max}</b>",
|
||||
f"{wind_text}\t{humidity_text}",
|
||||
f"{visbility_text}\tAQI {air_quality_index}",
|
||||
f"<i> {prediction}</i>",
|
||||
)
|
||||
|
||||
# print waybar module data
|
||||
out_data = {
|
||||
"text": f"{icon} {temp}",
|
||||
"alt": status,
|
||||
"tooltip": tooltip_text,
|
||||
"class": status_code,
|
||||
}
|
||||
print(json.dumps(out_data))
|
||||
|
||||
simple_weather =f"{icon} {status}\n" + \
|
||||
f" {temp} ({temp_feel_text})\n" + \
|
||||
f"{wind_text} \n" + \
|
||||
f"{humidity_text} \n" + \
|
||||
f"{visbility_text} AQI{air_quality_index}\n"
|
||||
|
||||
try:
|
||||
with open(os.path.expanduser("~/.cache/.weather_cache"), "w") as file:
|
||||
file.write(simple_weather)
|
||||
except:
|
||||
pass
|
||||
84
hyprland/.config/hypr/userScripts/Weather.sh
Executable file
|
|
@ -0,0 +1,84 @@
|
|||
#!/bin/bash
|
||||
|
||||
city=Ottawa
|
||||
cachedir=~/.cache/rbn
|
||||
cachefile=${0##*/}-$1
|
||||
|
||||
if [ ! -d $cachedir ]; then
|
||||
mkdir -p $cachedir
|
||||
fi
|
||||
|
||||
if [ ! -f $cachedir/$cachefile ]; then
|
||||
touch $cachedir/$cachefile
|
||||
fi
|
||||
|
||||
# Save current IFS
|
||||
SAVEIFS=$IFS
|
||||
# Change IFS to new line.
|
||||
IFS=$'\n'
|
||||
|
||||
cacheage=$(($(date +%s) - $(stat -c '%Y' "$cachedir/$cachefile")))
|
||||
if [ $cacheage -gt 1740 ] || [ ! -s $cachedir/$cachefile ]; then
|
||||
data=($(curl -s https://en.wttr.in/"$city"$1\?0qnT 2>&1))
|
||||
echo ${data[0]} | cut -f1 -d, > $cachedir/$cachefile
|
||||
echo ${data[1]} | sed -E 's/^.{15}//' >> $cachedir/$cachefile
|
||||
echo ${data[2]} | sed -E 's/^.{15}//' >> $cachedir/$cachefile
|
||||
fi
|
||||
|
||||
weather=($(cat $cachedir/$cachefile))
|
||||
|
||||
# Restore IFSClear
|
||||
IFS=$SAVEIFS
|
||||
|
||||
temperature=$(echo ${weather[2]} | sed -E 's/([[:digit:]]+)\.\./\1 to /g')
|
||||
|
||||
#echo ${weather[1]##*,}
|
||||
|
||||
# https://fontawesome.com/icons?s=solid&c=weather
|
||||
case $(echo ${weather[1]##*,} | tr '[:upper:]' '[:lower:]') in
|
||||
"clear" | "sunny")
|
||||
condition=""
|
||||
;;
|
||||
"partly cloudy")
|
||||
condition=""
|
||||
;;
|
||||
"cloudy")
|
||||
condition=""
|
||||
;;
|
||||
"overcast")
|
||||
condition=""
|
||||
;;
|
||||
"fog" | "freezing fog")
|
||||
condition=""
|
||||
;;
|
||||
"patchy rain possible" | "patchy light drizzle" | "light drizzle" | "patchy light rain" | "light rain" | "light rain shower" | "mist" | "rain")
|
||||
condition=""
|
||||
;;
|
||||
"moderate rain at times" | "moderate rain" | "heavy rain at times" | "heavy rain" | "moderate or heavy rain shower" | "torrential rain shower" | "rain shower")
|
||||
condition=""
|
||||
;;
|
||||
"patchy snow possible" | "patchy sleet possible" | "patchy freezing drizzle possible" | "freezing drizzle" | "heavy freezing drizzle" | "light freezing rain" | "moderate or heavy freezing rain" | "light sleet" | "ice pellets" | "light sleet showers" | "moderate or heavy sleet showers")
|
||||
condition=""
|
||||
;;
|
||||
"blowing snow" | "moderate or heavy sleet" | "patchy light snow" | "light snow" | "light snow showers")
|
||||
condition=""
|
||||
;;
|
||||
"blizzard" | "patchy moderate snow" | "moderate snow" | "patchy heavy snow" | "heavy snow" | "moderate or heavy snow with thunder" | "moderate or heavy snow showers")
|
||||
condition=""
|
||||
;;
|
||||
"thundery outbreaks possible" | "patchy light rain with thunder" | "moderate or heavy rain with thunder" | "patchy light snow with thunder")
|
||||
condition=""
|
||||
;;
|
||||
*)
|
||||
condition=""
|
||||
echo -e "{\"text\":\""$condition"\", \"alt\":\""${weather[0]}"\", \"tooltip\":\""${weather[0]}: $temperature ${weather[1]}"\"}"
|
||||
;;
|
||||
esac
|
||||
|
||||
#echo $temp $condition
|
||||
|
||||
echo -e "{\"text\":\""$temperature $condition"\", \"alt\":\""${weather[0]}"\", \"tooltip\":\""${weather[0]}: $temperature ${weather[1]}"\"}"
|
||||
|
||||
cached_weather=" $temperature \n$condition ${weather[1]}"
|
||||
|
||||
echo -e $cached_weather > ~/.cache/.weather_cache
|
||||
38
hyprland/.config/hypr/userScripts/ZshChangeTheme.sh
Executable file
|
|
@ -0,0 +1,38 @@
|
|||
#!/bin/bash
|
||||
|
||||
themes_dir="$HOME/.oh-my-zsh/themes"
|
||||
file_extension=".zsh-theme"
|
||||
|
||||
themes_array=($(find "$themes_dir" -type f -name "*$file_extension" -exec basename {} \; | sed -e "s/$file_extension//"))
|
||||
|
||||
rofi_command="rofi -i -dmenu -config ~/.config/rofi/config-zsh-theme.rasi"
|
||||
|
||||
menu() {
|
||||
for theme in "${themes_array[@]}"; do
|
||||
echo "$theme"
|
||||
done
|
||||
}
|
||||
|
||||
main() {
|
||||
choice=$(menu | ${rofi_command})
|
||||
|
||||
# if nothing selected, script wont change anything
|
||||
if [ -z "$choice" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
zsh_path="$HOME/.zshrc"
|
||||
var_name="ZSH_THEME"
|
||||
for i in "${themes_array[@]}"; do
|
||||
if [[ "$i" == "$choice"* ]]; then
|
||||
if [ -f "$zsh_path" ]; then
|
||||
sed -i "s/^$var_name=.*/$var_name=\"$i\"/" "$zsh_path"
|
||||
else
|
||||
echo "File not found"
|
||||
fi
|
||||
break
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
main
|
||||
21
hyprland/.config/hypr/wallust/wallust-hyprland.conf
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */
|
||||
# /* wallust template - colors-hyprland */
|
||||
|
||||
$background = rgb(1F1F22)
|
||||
$foreground = rgb(D3E2F1)
|
||||
$color0 = rgb(464549)
|
||||
$color1 = rgb(171623)
|
||||
$color2 = rgb(1B1D2A)
|
||||
$color3 = rgb(37455A)
|
||||
$color4 = rgb(40546A)
|
||||
$color5 = rgb(4E6781)
|
||||
$color6 = rgb(6082A0)
|
||||
$color7 = rgb(B7CDE2)
|
||||
$color8 = rgb(80909E)
|
||||
$color9 = rgb(1E1E2E)
|
||||
$color10 = rgb(242738)
|
||||
$color11 = rgb(495D77)
|
||||
$color12 = rgb(56708E)
|
||||
$color13 = rgb(6889AC)
|
||||
$color14 = rgb(80ADD6)
|
||||
$color15 = rgb(B7CDE2)
|
||||
9
hyprland/.config/swappy/config
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
[Default]
|
||||
save_dir=$HOME/Pictures/Screenshots
|
||||
save_filename_format=swappy-%Y%m%d-%H%M%S.png
|
||||
show_pannel=false
|
||||
line_size=5
|
||||
text-size=20
|
||||
paint_mode=brush
|
||||
early_exit=false
|
||||
fill_shape=false
|
||||
92
hyprland/.config/swaync/config.json
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
{
|
||||
"$schema": "/etc/xdg/swaync/configSchema.json",
|
||||
"positionX": "center",
|
||||
"positionY": "top",
|
||||
"layer": "overlay",
|
||||
"control-center-layer": "top",
|
||||
"layer-shell": true,
|
||||
"cssPriority": "application",
|
||||
"control-center-margin-top": 5,
|
||||
"control-center-margin-bottom": 0,
|
||||
"control-center-margin-right": 0,
|
||||
"control-center-margin-left": 0,
|
||||
"notification-2fa-action": true,
|
||||
"notification-inline-replies": false,
|
||||
"notification-icon-size": 24,
|
||||
"notification-body-image-height": 100,
|
||||
"notification-body-image-width": 200,
|
||||
"timeout": 6,
|
||||
"timeout-low": 3,
|
||||
"timeout-critical": 0,
|
||||
"fit-to-screen": false,
|
||||
"control-center-width": 400,
|
||||
"control-center-height": 720,
|
||||
"notification-window-width": 400,
|
||||
"keyboard-shortcuts": true,
|
||||
"image-visibility": "when available",
|
||||
"transition-time": 200,
|
||||
"hide-on-clear": false,
|
||||
"hide-on-action": true,
|
||||
"script-fail-notify": true,
|
||||
"widgets": [
|
||||
"dnd",
|
||||
"buttons-grid",
|
||||
"mpris",
|
||||
"volume",
|
||||
"backlight",
|
||||
"title",
|
||||
"notifications"
|
||||
],
|
||||
"widget-config": {
|
||||
"title": {
|
||||
"text": "Notifications",
|
||||
"clear-all-button": true,
|
||||
"button-text": "Clear"
|
||||
},
|
||||
"dnd": {
|
||||
"text": "Do Not Disturb"
|
||||
},
|
||||
"label": {
|
||||
"max-lines": 1,
|
||||
"text": "Notification"
|
||||
},
|
||||
"mpris": {
|
||||
"image-size": 10,
|
||||
"image-radius": 0
|
||||
},
|
||||
"volume": {
|
||||
"label": ""
|
||||
},
|
||||
"backlight": {
|
||||
"label": ""
|
||||
},
|
||||
"buttons-grid": {
|
||||
"actions": [
|
||||
{
|
||||
"label": "",
|
||||
"command": "bash -c $HOME/.config/hypr/scripts/Wlogout.sh"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"command": "bash -c $HOME/.config/hypr/scripts/LockScreen.sh"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"command": "hyprctl dispatch exit"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"command": "bash -c $HOME/.config/hypr/scripts/AirplaneMode.sh"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"command": "pactl set-sink-mute @DEFAULT_SINK@ toggle"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"command": "blueman-manager"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
hyprland/.config/swaync/icons/backup.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
1
hyprland/.config/swaync/icons/battery-quarter-solid.svg
Normal file
|
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M0 176c0-44.2 35.8-80 80-80H464c44.2 0 80 35.8 80 80v16c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32v16c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V176zm80-16c-8.8 0-16 7.2-16 16V336c0 8.8 7.2 16 16 16H464c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H80zm112 32V320H96V192h96z"/></svg>
|
||||
|
After Width: | Height: | Size: 523 B |
BIN
hyprland/.config/swaync/icons/battery-status.png
Normal file
|
After Width: | Height: | Size: 8.5 KiB |
BIN
hyprland/.config/swaync/icons/brightness-100.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
hyprland/.config/swaync/icons/brightness-20.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
hyprland/.config/swaync/icons/brightness-40.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
hyprland/.config/swaync/icons/brightness-60.png
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
hyprland/.config/swaync/icons/brightness-80.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
hyprland/.config/swaync/icons/dropper.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
hyprland/.config/swaync/icons/microphone-mute.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
hyprland/.config/swaync/icons/microphone.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
hyprland/.config/swaync/icons/music.png
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
hyprland/.config/swaync/icons/palette.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
hyprland/.config/swaync/icons/picture.png
Normal file
|
After Width: | Height: | Size: 29 KiB |
BIN
hyprland/.config/swaync/icons/timer.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
hyprland/.config/swaync/icons/uptime.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
hyprland/.config/swaync/icons/volume-high.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
hyprland/.config/swaync/icons/volume-low.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
hyprland/.config/swaync/icons/volume-mid.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
hyprland/.config/swaync/icons/volume-mute.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
hyprland/.config/swaync/icons/vpn.png
Normal file
|
After Width: | Height: | Size: 42 KiB |
BIN
hyprland/.config/swaync/images/bell.png
Normal file
|
After Width: | Height: | Size: 50 KiB |
350
hyprland/.config/swaync/style.css
Normal file
|
|
@ -0,0 +1,350 @@
|
|||
/* ----------- 💫 https://github.com/JaKooLit 💫 -------- */
|
||||
/* swaync colors - wallust from waybar.css */
|
||||
|
||||
@import '../../.config/waybar/wallust/colors-waybar.css';
|
||||
|
||||
@define-color noti-border-color @color12;
|
||||
@define-color noti-bg rgba(0, 0, 0, 0.8);
|
||||
@define-color noti-bg-alt #111111;
|
||||
@define-color noti-bg-hover @color9;
|
||||
@define-color text-color @foreground;
|
||||
@define-color text-color-alt @foreground;
|
||||
@define-color text-color-disabled rgba(150, 150, 150, 0.8);
|
||||
* {
|
||||
font-family: "JetBrains Mono Nerd Font";
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.control-center .notification-row:focus,
|
||||
.control-center .notification-row:hover {
|
||||
opacity: 1;
|
||||
background: @noti-bg;
|
||||
border-radius: 10px
|
||||
}
|
||||
|
||||
.notification-row {
|
||||
outline: none;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.notification {
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.notification-content{
|
||||
color: @text-color;
|
||||
background: @noti-bg;
|
||||
padding: 3px 10px 3px 6px;
|
||||
border-radius: 10px;
|
||||
border: 1px solid @noti-border-color;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.notification-default-action {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.close-button {
|
||||
background: #f7768e;
|
||||
color: @noti-bg;
|
||||
text-shadow: none;
|
||||
padding: 0;
|
||||
border-radius: 10px;
|
||||
margin-top: 5px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.close-button:hover {
|
||||
box-shadow: none;
|
||||
background: #f7768e;
|
||||
transition: all .15s ease-in-out;
|
||||
border: none
|
||||
}
|
||||
|
||||
|
||||
.notification-action {
|
||||
border: 1px solid @noti-border-color;
|
||||
border-top: none;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
|
||||
.notification-default-action:hover,
|
||||
.notification-action:hover {
|
||||
color: @text-color;
|
||||
background: @color1
|
||||
}
|
||||
|
||||
.notification-default-action {
|
||||
border-radius: 10px;
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
.notification-default-action:not(:only-child) {
|
||||
border-bottom-left-radius: 7px;
|
||||
border-bottom-right-radius: 7px
|
||||
}
|
||||
|
||||
.notification-action:first-child {
|
||||
border-bottom-left-radius: 10px;
|
||||
background: @noti-bg
|
||||
}
|
||||
|
||||
.notification-action:last-child {
|
||||
border-bottom-right-radius: 10px;
|
||||
background: @noti-bg-alt
|
||||
}
|
||||
|
||||
.inline-reply {
|
||||
margin-top: 8px
|
||||
}
|
||||
|
||||
.inline-reply-entry {
|
||||
background: @noti-bg;
|
||||
color: @text-color;
|
||||
caret-color: @text-color;
|
||||
border: 1px solid @noti-border-color;
|
||||
border-radius: 10px
|
||||
}
|
||||
|
||||
.inline-reply-button {
|
||||
font-size: 0.5rem;
|
||||
margin-left: 4px;
|
||||
background: @noti-bg;
|
||||
border: 1px solid @noti-border-color;
|
||||
border-radius: 10px;
|
||||
color: @text-color
|
||||
}
|
||||
|
||||
.inline-reply-button:disabled {
|
||||
background: initial;
|
||||
color: @text-color-disabled;
|
||||
border: 1px solid transparent
|
||||
}
|
||||
|
||||
.inline-reply-button:hover {
|
||||
background: @noti-bg-hover
|
||||
}
|
||||
|
||||
.body-image {
|
||||
margin-top: 6px;
|
||||
color: @text-color-alt;
|
||||
border-radius: 10px
|
||||
}
|
||||
|
||||
.summary {
|
||||
font-size: 1rem;
|
||||
font-weight: bold;
|
||||
background: transparent;
|
||||
color: @text-color-alt;
|
||||
text-shadow: none
|
||||
}
|
||||
|
||||
.time {
|
||||
font-size: 1rem;
|
||||
font-weight: bold;
|
||||
background: transparent;
|
||||
color: @text-color;
|
||||
text-shadow: none;
|
||||
margin-right: 18px
|
||||
}
|
||||
|
||||
.body {
|
||||
font-size: 1rem;
|
||||
font-weight: bold;
|
||||
background: transparent;
|
||||
color: @text-color;
|
||||
text-shadow: none
|
||||
}
|
||||
|
||||
.control-center {
|
||||
background: @noti-bg;
|
||||
border: 1.5px solid @noti-border-color;
|
||||
color: @text-color;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.control-center-list {
|
||||
background: transparent
|
||||
}
|
||||
|
||||
.control-center-list-placeholder {
|
||||
opacity: 0.5
|
||||
}
|
||||
|
||||
.floating-notifications {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.blank-window {
|
||||
background: alpha(black, 0.1)
|
||||
}
|
||||
|
||||
.widget-title {
|
||||
color: @noti-border-color;
|
||||
background: @noti-bg-alt;
|
||||
padding: 3px 6px;
|
||||
margin: 5px;
|
||||
font-size: 1rem;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.widget-title>button {
|
||||
font-size: 0.75rem;
|
||||
color: @text-color;
|
||||
border-radius: 10px;
|
||||
background: transparent;
|
||||
border: 0.5px solid @noti-border-color;
|
||||
}
|
||||
|
||||
.widget-title>button:hover {
|
||||
background: #f7768e;
|
||||
color: @noti-border-color;
|
||||
}
|
||||
|
||||
.widget-dnd {
|
||||
background: @noti-bg-alt;
|
||||
padding: 3px 6px;
|
||||
margin: 5px;
|
||||
border-radius: 10px;
|
||||
font-size: 1rem;
|
||||
color: @noti-border-color;
|
||||
}
|
||||
|
||||
.widget-dnd>switch {
|
||||
border-radius: 10px;
|
||||
/* border: 1px solid #7aa2f7; */
|
||||
background: @noti-border-color;
|
||||
}
|
||||
|
||||
.widget-dnd>switch:checked {
|
||||
background: #f7768e;
|
||||
border: 1px solid #f7768e;
|
||||
}
|
||||
|
||||
.widget-dnd>switch slider {
|
||||
background: @noti-bg;
|
||||
border-radius: 10px
|
||||
}
|
||||
|
||||
.widget-dnd>switch:checked slider {
|
||||
background: @noti-bg;
|
||||
border-radius: 10px
|
||||
}
|
||||
|
||||
.widget-label {
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
.widget-label>label {
|
||||
font-size: 1rem;
|
||||
color: @text-color;
|
||||
}
|
||||
|
||||
.widget-mpris {
|
||||
color: @text-color;
|
||||
background: @noti-bg-alt;
|
||||
padding: 3px 6px;
|
||||
margin: 5px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.widget-mpris > box > button {
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.widget-mpris-player {
|
||||
padding: 3px 6px;
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
.widget-mpris-title {
|
||||
font-weight: 100;
|
||||
font-size: 1rem
|
||||
}
|
||||
|
||||
.widget-mpris-subtitle {
|
||||
font-size: 0.75rem
|
||||
}
|
||||
|
||||
.widget-buttons-grid {
|
||||
font-size: large;
|
||||
color: @noti-border-color;
|
||||
padding: 2px;
|
||||
margin: 5px;
|
||||
border-radius: 10px;
|
||||
background: @noti-bg-alt;
|
||||
}
|
||||
|
||||
.widget-buttons-grid>flowbox>flowboxchild>button {
|
||||
margin: 1px;
|
||||
background: @noti-bg;
|
||||
border-radius: 10px;
|
||||
color: @text-color
|
||||
}
|
||||
|
||||
.widget-buttons-grid>flowbox>flowboxchild>button:hover {
|
||||
background: @noti-border-color;
|
||||
color: @noti-bg-hover
|
||||
}
|
||||
|
||||
.widget-menubar>box>.menu-button-bar>button {
|
||||
border: none;
|
||||
background: transparent
|
||||
}
|
||||
|
||||
.topbar-buttons>button {
|
||||
border: none;
|
||||
background: transparent
|
||||
}
|
||||
|
||||
.widget-volume {
|
||||
background: @noti-bg-alt;
|
||||
padding: 2px;
|
||||
margin: 10px 10px 5px 10px;
|
||||
border-radius: 10px;
|
||||
font-size: x-large;
|
||||
color: @text-color
|
||||
}
|
||||
|
||||
.widget-volume>box>button {
|
||||
background: @noti-border-color;
|
||||
border: none
|
||||
}
|
||||
|
||||
.per-app-volume {
|
||||
background-color: @noti-bg;
|
||||
padding: 4px 8px 8px;
|
||||
margin: 0 8px 8px;
|
||||
border-radius: 10px;
|
||||
color: @text-color
|
||||
}
|
||||
|
||||
.widget-backlight {
|
||||
background: @noti-bg-alt;
|
||||
padding: 5px;
|
||||
margin: 10px 10px 5px 10px;
|
||||
border-radius: 10px;
|
||||
font-size: x-large;
|
||||
color: @text-color
|
||||
}
|
||||
|
||||
.low {
|
||||
background: @text-color;
|
||||
padding: 0px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.normal {
|
||||
background: @text-color;
|
||||
padding: 0px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.critical {
|
||||
background: red;
|
||||
padding: 0px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
292
hyprland/.config/wallust/templates/colors-cava
Normal file
|
|
@ -0,0 +1,292 @@
|
|||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||
# /* wallust template - colors-cava */
|
||||
|
||||
## Configuration file for CAVA.
|
||||
# Remove the ; to change parameters.
|
||||
|
||||
[general]
|
||||
|
||||
# Smoothing mode. Can be 'normal', 'scientific' or 'waves'. DEPRECATED as of 0.6.0
|
||||
; mode = normal
|
||||
|
||||
# Accepts only non-negative values.
|
||||
; framerate = 60
|
||||
|
||||
# 'autosens' will attempt to decrease sensitivity if the bars peak. 1 = on, 0 = off
|
||||
# new as of 0.6.0 autosens of low values (dynamic range)
|
||||
# 'overshoot' allows bars to overshoot (in % of terminal height) without initiating autosens. DEPRECATED as of 0.6.0
|
||||
; autosens = 1
|
||||
; overshoot = 20
|
||||
|
||||
# Manual sensitivity in %. If autosens is enabled, this will only be the initial value.
|
||||
# 200 means double height. Accepts only non-negative values.
|
||||
; sensitivity = 100
|
||||
|
||||
# The number of bars (0-512). 0 sets it to auto (fill up console).
|
||||
# Bars' width and space between bars in number of characters.
|
||||
; bars = 0
|
||||
; bar_width = 2
|
||||
; bar_spacing = 1
|
||||
# bar_height is only used for output in "noritake" format
|
||||
; bar_height = 32
|
||||
|
||||
# For SDL width and space between bars is in pixels, defaults are:
|
||||
; bar_width = 20
|
||||
; bar_spacing = 5
|
||||
|
||||
# sdl_glsl have these default values, they are only used to calulate max number of bars.
|
||||
; bar_width = 1
|
||||
; bar_spacing = 0
|
||||
|
||||
|
||||
# Lower and higher cutoff frequencies for lowest and highest bars
|
||||
# the bandwidth of the visualizer.
|
||||
# Note: there is a minimum total bandwidth of 43Mhz x number of bars.
|
||||
# Cava will automatically increase the higher cutoff if a too low band is specified.
|
||||
; lower_cutoff_freq = 50
|
||||
; higher_cutoff_freq = 10000
|
||||
|
||||
|
||||
# Seconds with no input before cava goes to sleep mode. Cava will not perform FFT or drawing and
|
||||
# only check for input once per second. Cava will wake up once input is detected. 0 = disable.
|
||||
; sleep_timer = 0
|
||||
|
||||
|
||||
[input]
|
||||
|
||||
# Audio capturing method. Possible methods are: 'fifo', 'portaudio', 'pipewire', 'alsa', 'pulse', 'sndio', 'oss', 'jack' or 'shmem'
|
||||
# Defaults to 'oss', 'pipewire', 'sndio', 'jack', 'pulse', 'alsa', 'portaudio' or 'fifo', in that order, dependent on what support cava was built with.
|
||||
# On Mac it defaults to 'portaudio' or 'fifo'
|
||||
# On windows this is automatic and no input settings are needed.
|
||||
#
|
||||
# All input methods uses the same config variable 'source'
|
||||
# to define where it should get the audio.
|
||||
#
|
||||
# For pulseaudio and pipewire 'source' will be the source. Default: 'auto', which uses the monitor source of the default sink
|
||||
# (all pulseaudio sinks(outputs) have 'monitor' sources(inputs) associated with them).
|
||||
#
|
||||
# For pipewire 'source' will be the object name or object.serial of the device to capture from.
|
||||
# Both input and output devices are supported.
|
||||
#
|
||||
# For alsa 'source' will be the capture device.
|
||||
# For fifo 'source' will be the path to fifo-file.
|
||||
# For shmem 'source' will be /squeezelite-AA:BB:CC:DD:EE:FF where 'AA:BB:CC:DD:EE:FF' will be squeezelite's MAC address
|
||||
#
|
||||
# For sndio 'source' will be a raw recording audio descriptor or a monitoring sub-device, e.g. 'rsnd/2' or 'snd/1'. Default: 'default'.
|
||||
# README.md contains further information on how to setup CAVA for sndio.
|
||||
#
|
||||
# For oss 'source' will be the path to a audio device, e.g. '/dev/dsp2'. Default: '/dev/dsp', i.e. the default audio device.
|
||||
# README.md contains further information on how to setup CAVA for OSS on FreeBSD.
|
||||
#
|
||||
# For jack 'source' will be the name of the JACK server to connect to, e.g. 'foobar'. Default: 'default'.
|
||||
# README.md contains further information on how to setup CAVA for JACK.
|
||||
#
|
||||
method = pulse
|
||||
source = auto
|
||||
|
||||
method = pipewire
|
||||
source = auto
|
||||
|
||||
; method = alsa
|
||||
; source = hw:Loopback,1
|
||||
|
||||
; method = fifo
|
||||
; source = /tmp/mpd.fifo
|
||||
|
||||
; method = shmem
|
||||
; source = /squeezelite-AA:BB:CC:DD:EE:FF
|
||||
|
||||
; method = portaudio
|
||||
; source = auto
|
||||
|
||||
; method = sndio
|
||||
; source = default
|
||||
|
||||
; method = oss
|
||||
; source = /dev/dsp
|
||||
|
||||
; method = jack
|
||||
; source = default
|
||||
|
||||
# The options 'sample_rate', 'sample_bits', 'channels' and 'autoconnect' can be configured for some input methods:
|
||||
# sample_rate: fifo, pipewire, sndio, oss
|
||||
# sample_bits: fifo, pipewire, sndio, oss
|
||||
# channels: sndio, oss, jack
|
||||
# autoconnect: jack
|
||||
# Other methods ignore these settings.
|
||||
#
|
||||
# For 'sndio' and 'oss' they are only preferred values, i.e. if the values are not supported
|
||||
# by the chosen audio device, the device will use other supported values instead.
|
||||
# Example: 48000, 32 and 2, but the device only supports 44100, 16 and 1, then it
|
||||
# will use 44100, 16 and 1.
|
||||
#
|
||||
; sample_rate = 44100
|
||||
; sample_bits = 16
|
||||
; channels = 2
|
||||
; autoconnect = 2
|
||||
|
||||
|
||||
[output]
|
||||
|
||||
# Output method. Can be 'ncurses', 'noncurses', 'raw', 'noritake', 'sdl'
|
||||
# or 'sdl_glsl'.
|
||||
# 'noncurses' (default) uses a buffer and cursor movements to only print
|
||||
# changes from frame to frame in the terminal. Uses less resources and is less
|
||||
# prone to tearing (vsync issues) than 'ncurses'.
|
||||
#
|
||||
# 'raw' is an 8 or 16 bit (configurable via the 'bit_format' option) data
|
||||
# stream of the bar heights that can be used to send to other applications.
|
||||
# 'raw' defaults to 200 bars, which can be adjusted in the 'bars' option above.
|
||||
#
|
||||
# 'noritake' outputs a bitmap in the format expected by a Noritake VFD display
|
||||
# in graphic mode. It only support the 3000 series graphical VFDs for now.
|
||||
#
|
||||
# 'sdl' uses the Simple DirectMedia Layer to render in a graphical context.
|
||||
# 'sdl_glsl' uses SDL to create an OpenGL context. Write your own shaders or
|
||||
# use one of the predefined ones.
|
||||
; method = noncurses
|
||||
|
||||
# Orientation of the visualization. Can be 'bottom', 'top', 'left' or 'right'.
|
||||
# Default is 'bottom'. Other orientations are only supported on sdl and ncruses
|
||||
# output. Note: many fonts have weird glyphs for 'top' and 'right' characters,
|
||||
# which can make ncurses not look right.
|
||||
; orientation = bottom
|
||||
|
||||
# Visual channels. Can be 'stereo' or 'mono'.
|
||||
# 'stereo' mirrors both channels with low frequencies in center.
|
||||
# 'mono' outputs left to right lowest to highest frequencies.
|
||||
# 'mono_option' set mono to either take input from 'left', 'right' or 'average'.
|
||||
# set 'reverse' to 1 to display frequencies the other way around.
|
||||
; channels = stereo
|
||||
; mono_option = average
|
||||
; reverse = 0
|
||||
|
||||
# Raw output target. A fifo will be created if target does not exist.
|
||||
; raw_target = /dev/stdout
|
||||
|
||||
# Raw data format. Can be 'binary' or 'ascii'.
|
||||
; data_format = binary
|
||||
|
||||
# Binary bit format, can be '8bit' (0-255) or '16bit' (0-65530).
|
||||
; bit_format = 16bit
|
||||
|
||||
# Ascii max value. In 'ascii' mode range will run from 0 to value specified here
|
||||
; ascii_max_range = 1000
|
||||
|
||||
# Ascii delimiters. In ascii format each bar and frame is separated by a delimiters.
|
||||
# Use decimal value in ascii table (i.e. 59 = ';' and 10 = '\n' (line feed)).
|
||||
; bar_delimiter = 59
|
||||
; frame_delimiter = 10
|
||||
|
||||
# sdl window size and position. -1,-1 is centered.
|
||||
; sdl_width = 1000
|
||||
; sdl_height = 500
|
||||
; sdl_x = -1
|
||||
; sdl_y= -1
|
||||
; sdl_full_screen = 0
|
||||
|
||||
# set label on bars on the x-axis. Can be 'frequency' or 'none'. Default: 'none'
|
||||
# 'frequency' displays the lower cut off frequency of the bar above.
|
||||
# Only supported on ncurses and noncurses output.
|
||||
; xaxis = none
|
||||
|
||||
# enable alacritty synchronized updates. 1 = on, 0 = off
|
||||
# removes flickering in alacritty terminal emulator.
|
||||
# defaults to off since the behaviour in other terminal emulators is unknown
|
||||
; alacritty_sync = 0
|
||||
|
||||
# Shaders for sdl_glsl, located in $HOME/.config/cava/shaders
|
||||
; vertex_shader = pass_through.vert
|
||||
; fragment_shader = bar_spectrum.frag
|
||||
|
||||
; for glsl output mode, keep rendering even if no audio
|
||||
; continuous_rendering = 0
|
||||
|
||||
# disable console blank (screen saver) in tty
|
||||
# (Not supported on FreeBSD)
|
||||
; disable_blanking = 0
|
||||
|
||||
# show a flat bar at the bottom of the screen when idle, 1 = on, 0 = off
|
||||
; show_idle_bar_heads = 1
|
||||
|
||||
# show waveform instead of frequency spectrum, 1 = on, 0 = off
|
||||
; waveform = 0
|
||||
|
||||
[color]
|
||||
|
||||
# Colors can be one of seven predefined: black, blue, cyan, green, magenta, red, white, yellow.
|
||||
# Or defined by hex code '#xxxxxx' (hex code must be within ''). User defined colors requires
|
||||
# a terminal that can change color definitions such as Gnome-terminal or rxvt.
|
||||
# default is to keep current terminal color
|
||||
; background = default
|
||||
; foreground = default
|
||||
|
||||
# SDL and sdl_glsl only support hex code colors, these are the default:
|
||||
; background = '#111111'
|
||||
; foreground = '#33ffff'
|
||||
|
||||
# these are default
|
||||
# Gradient mode, only hex defined colors are supported,
|
||||
# background must also be defined in hex or remain commented out. 1 = on, 0 = off.
|
||||
# You can define as many as 8 different colors. They range from bottom to top of screen
|
||||
; gradient = 0
|
||||
; gradient_count = 8
|
||||
; gradient_color_1 = '#59cc33'
|
||||
; gradient_color_2 = '#80cc33'
|
||||
; gradient_color_3 = '#a6cc33'
|
||||
; gradient_color_4 = '#cccc33'
|
||||
; gradient_color_5 = '#cca633'
|
||||
; gradient_color_6 = '#cc8033'
|
||||
; gradient_color_7 = '#cc5933'
|
||||
; gradient_color_8 = '#cc3333'
|
||||
|
||||
# for wallust
|
||||
gradient = 1
|
||||
gradient_count = 8
|
||||
gradient_color_1 = '{{color0}}'
|
||||
gradient_color_2 = '{{color2}}'
|
||||
gradient_color_3 = '{{color3}}'
|
||||
gradient_color_4 = '{{color5}}'
|
||||
gradient_color_5 = '{{color7}}'
|
||||
gradient_color_6 = '{{color12}}'
|
||||
gradient_color_7 = '{{color13}}'
|
||||
gradient_color_8 = '{{color15}}'
|
||||
|
||||
|
||||
[smoothing]
|
||||
|
||||
# Percentage value for integral smoothing. Takes values from 0 - 100.
|
||||
# Higher values means smoother, but less precise. 0 to disable.
|
||||
# DEPRECATED as of 0.8.0, use noise_reduction instead
|
||||
; integral = 77
|
||||
|
||||
# Disables or enables the so-called "Monstercat smoothing" with or without "waves". Set to 0 to disable.
|
||||
; monstercat = 0
|
||||
; waves = 0
|
||||
|
||||
# Set gravity percentage for "drop off". Higher values means bars will drop faster.
|
||||
# Accepts only non-negative values. 50 means half gravity, 200 means double. Set to 0 to disable "drop off".
|
||||
# DEPRECATED as of 0.8.0, use noise_reduction instead
|
||||
; gravity = 100
|
||||
|
||||
|
||||
# In bar height, bars that would have been lower that this will not be drawn.
|
||||
# DEPRECATED as of 0.8.0
|
||||
; ignore = 0
|
||||
|
||||
# Noise reduction, int 0 - 100. default 77
|
||||
# the raw visualization is very noisy, this factor adjusts the integral and gravity filters to keep the signal smooth
|
||||
# 100 will be very slow and smooth, 0 will be fast but noisy.
|
||||
; noise_reduction = 77
|
||||
|
||||
|
||||
[eq]
|
||||
|
||||
# This one is tricky. You can have as much keys as you want.
|
||||
# Remember to uncomment more than one key! More keys = more precision.
|
||||
# Look at readme.md on github for further explanations and examples.
|
||||
; 1 = 1 # bass
|
||||
; 2 = 1
|
||||
; 3 = 1 # midtone
|
||||
; 4 = 1
|
||||
; 5 = 1 # treble
|
||||
21
hyprland/.config/wallust/templates/colors-hyprland.conf
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */
|
||||
# /* wallust template - colors-hyprland */
|
||||
|
||||
$background = rgb({{background | strip}})
|
||||
$foreground = rgb({{foreground | strip}})
|
||||
$color0 = rgb({{color0 | strip}})
|
||||
$color1 = rgb({{color1 | strip}})
|
||||
$color2 = rgb({{color2 | strip}})
|
||||
$color3 = rgb({{color3 | strip}})
|
||||
$color4 = rgb({{color4 | strip}})
|
||||
$color5 = rgb({{color5 | strip}})
|
||||
$color6 = rgb({{color6 | strip}})
|
||||
$color7 = rgb({{color7 | strip}})
|
||||
$color8 = rgb({{color8 | strip}})
|
||||
$color9 = rgb({{color9 | strip}})
|
||||
$color10 = rgb({{color10 | strip}})
|
||||
$color11 = rgb({{color11 | strip}})
|
||||
$color12 = rgb({{color12 | strip}})
|
||||
$color13 = rgb({{color13 | strip}})
|
||||
$color14 = rgb({{color14 | strip}})
|
||||
$color15 = rgb({{color15 | strip}})
|
||||
54
hyprland/.config/wallust/templates/colors-kitty.conf
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||
# /* wallust template - colors-kitty */
|
||||
|
||||
font_family Fira Code SemiBold
|
||||
font_size 16.0
|
||||
bold_font auto
|
||||
italic_font auto
|
||||
bold_italic_font auto
|
||||
|
||||
#background_opacity 0.7
|
||||
confirm_os_window_close 0
|
||||
|
||||
# change to x11 or wayland or leave auto
|
||||
linux_display_server auto
|
||||
|
||||
scrollback_lines 2000
|
||||
wheel_scroll_min_lines 1
|
||||
|
||||
enable_audio_bell no
|
||||
|
||||
window_padding_width 4
|
||||
|
||||
selection_foreground none
|
||||
selection_background none
|
||||
|
||||
foreground {{foreground}}
|
||||
background {{background}}
|
||||
cursor {{cursor}}
|
||||
|
||||
active_tab_foreground {{background}}
|
||||
active_tab_background {{foreground}}
|
||||
inactive_tab_foreground {{foreground}}
|
||||
inactive_tab_background {{background}}
|
||||
|
||||
active_border_color {{foreground}}
|
||||
inactive_border_color {{background}}
|
||||
bell_border_color {{color1}}
|
||||
|
||||
color0 {{color0}}
|
||||
color1 {{color1}}
|
||||
color2 {{color2}}
|
||||
color3 {{color3}}
|
||||
color4 {{color4}}
|
||||
color5 {{color5}}
|
||||
color6 {{color6}}
|
||||
color7 {{color7}}
|
||||
color8 {{color8}}
|
||||
color9 {{color9}}
|
||||
color10 {{color10}}
|
||||
color11 {{color11}}
|
||||
color12 {{color12}}
|
||||
color13 {{color13}}
|
||||
color14 {{color14}}
|
||||
color15 {{color15}}
|
||||
31
hyprland/.config/wallust/templates/colors-rofi.rasi
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
/* ---- 💫 https://github.com/JaKooLit 💫 ---- */
|
||||
/* wallust template - colors-rofi */
|
||||
|
||||
* {
|
||||
active-background: {{color9}};
|
||||
active-foreground: {{foreground}};
|
||||
normal-background: {{background}};
|
||||
normal-foreground: {{foreground}};
|
||||
urgent-background: {{color12}};
|
||||
urgent-foreground: {{foreground}};
|
||||
|
||||
alternate-active-background: {{color5}};
|
||||
alternate-active-foreground: {{foreground}};
|
||||
alternate-normal-background: {{background}};
|
||||
alternate-normal-foreground: {{foreground}};
|
||||
alternate-urgent-background: {{background}};
|
||||
alternate-urgent-foreground: {{foreground}};
|
||||
|
||||
selected-active-background: {{color9}};
|
||||
selected-active-foreground: {{foreground}};
|
||||
selected-normal-background: {{color7}};
|
||||
selected-normal-foreground: {{foreground}};
|
||||
selected-urgent-background: {{color12}};
|
||||
selected-urgent-foreground: {{foreground}};
|
||||
|
||||
background-color: {{background}};
|
||||
background: rgba(0,0,0,0.7);
|
||||
foreground: {{color15}};
|
||||
border-color: {{color9}};
|
||||
}
|
||||
|
||||
12
hyprland/.config/wallust/templates/colors-swaync.css
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
/* ---- 💫 https://github.com/JaKooLit 💫 ---- */
|
||||
/* wallust template - colors-swaync */
|
||||
|
||||
@define-color text {{foreground}};
|
||||
@define-color background rgba({{background | rgb}},0.25);
|
||||
@define-color background-alt {{background}};
|
||||
@define-color cursor {{cursor}};
|
||||
@define-color hovered {{color12}};
|
||||
@define-color button-background {{color6}};
|
||||
@define-color button-active {{color2}};
|
||||
@define-color border {{color9}};
|
||||
@define-color urgent {{color15}};
|
||||
23
hyprland/.config/wallust/templates/colors-waybar.css
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
/* ---- 💫 https://github.com/JaKooLit 💫 ---- */
|
||||
/* wallust template - colors-waybar */
|
||||
|
||||
@define-color foreground {{foreground}};
|
||||
@define-color background rgba({{background | rgb}},0.25);
|
||||
@define-color cursor {{cursor}};
|
||||
|
||||
@define-color color0 {{color0}};
|
||||
@define-color color1 {{color1}};
|
||||
@define-color color2 {{color2}};
|
||||
@define-color color3 {{color3}};
|
||||
@define-color color4 {{color4}};
|
||||
@define-color color5 {{color5}};
|
||||
@define-color color6 {{color6}};
|
||||
@define-color color7 {{color7}};
|
||||
@define-color color8 {{color8}};
|
||||
@define-color color9 {{color9}};
|
||||
@define-color color10 {{color10}};
|
||||
@define-color color11 {{color11}};
|
||||
@define-color color12 {{color12}};
|
||||
@define-color color13 {{color13}};
|
||||
@define-color color14 {{color14}};
|
||||
@define-color color15 {{color15}};
|
||||
62
hyprland/.config/wallust/wallust.toml
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||
# wallust configuration - for wallust version 3.0
|
||||
|
||||
# How the image is parse, in order to get the colors:
|
||||
# full - resized - wal - thumb - fastresize - kmeans
|
||||
backend = "kmeans"
|
||||
|
||||
# What color space to use to produce and select the most prominent colors:
|
||||
# lab - labmixed - lch - lchmixed
|
||||
color_space = "labmixed"
|
||||
|
||||
# NOTE: All filters will fill 16 colors (from color0 to color15), 16 color
|
||||
# variations are the 'ilusion' of more colors by opaquing color1 to color5.
|
||||
# Use the most prominent colors in a way that makes sense, a scheme:
|
||||
# * dark - 8 dark colors, dark background and light contrast
|
||||
# * dark16 - Same as `dark` but uses the 16 colors trick
|
||||
# * harddark - Same as `dark` with hard hue colors
|
||||
# * harddark16 - Harddark with 16 color variation
|
||||
# * light - Light bg, dark fg
|
||||
# * light16 - Same as `light` but uses the 16 color trick
|
||||
# * softdark - Variant of softlight, uses the lightest colors and a dark
|
||||
# background (could be interpreted as `dark` inversed)
|
||||
# * softdark16 - softdark with 16 color variation
|
||||
# * softlight - Light with soft pastel colors, counterpart of `harddark`
|
||||
# * softlight16 - softlight with 16 color variation
|
||||
palette = "dark16"
|
||||
|
||||
# Difference between similar colors, used by the colorspace:
|
||||
# 1 Not perceptible by human eyes.
|
||||
# 1 - 2 Perceptible through close observation.
|
||||
# 2 - 10 Perceptible at a glance.
|
||||
# 11 - 49 Colors are more similar than opposite
|
||||
# 100 Colors are exact opposite
|
||||
threshold = 10
|
||||
|
||||
[templates]
|
||||
cava.template = 'colors-cava'
|
||||
cava.target = '~/.config/cava/config'
|
||||
|
||||
hypr.template = 'colors-hyprland.conf'
|
||||
hypr.target = '~/.config/hypr/wallust/wallust-hyprland.conf'
|
||||
|
||||
rofi.template = 'colors-rofi.rasi'
|
||||
rofi.target = '~/.config/rofi/wallust/colors-rofi.rasi'
|
||||
|
||||
waybar.template = 'colors-waybar.css'
|
||||
waybar.target = '~/.config/waybar/wallust/colors-waybar.css'
|
||||
|
||||
#kitty.template = 'colors-kitty.conf'
|
||||
#kitty.target = '~/.config/kitty/kitty.conf'
|
||||
|
||||
#swaync.template = 'colors-swaync.css'
|
||||
#swaync.target = '~/.config/swaync/wallust/colors-wallust.css'
|
||||
|
||||
#macchina.template = 'colors-macchina.toml'
|
||||
#macchina.target = '~/.config/macchina/themes/wallust.toml'
|
||||
|
||||
#wezterm.template = 'colors-wezterm.toml'
|
||||
#wezterm.target = '~/.config/wezterm/colors/wallust.toml'
|
||||
|
||||
#zathura.template = 'colors-zathura'
|
||||
#zathura.target = '~/.config/zathura/zathurarc'
|
||||
696
hyprland/.config/waybar/Modules
Normal file
|
|
@ -0,0 +1,696 @@
|
|||
//* ---- 💫 https://github.com/JaKooLit 💫 ---- *//
|
||||
/* Waybar Modules */
|
||||
|
||||
{
|
||||
/* NOTE: hyprland-workspaces on a separate file */
|
||||
// Weather and Temperature Modules as this is most like to change always.
|
||||
// Result is of course easier to edit
|
||||
"custom/weather": {
|
||||
"format": "{}",
|
||||
"format-alt": "{alt}: {}",
|
||||
"format-alt-click": "click",
|
||||
"interval": 3600,
|
||||
"return-type": "json",
|
||||
"exec": "$HOME/.config/hypr/UserScripts/Weather.sh",
|
||||
//"exec": "$HOME/.config/hypr/UserScripts/Weather.py",
|
||||
"exec-if": "ping wttr.in -c1",
|
||||
"tooltip": true,
|
||||
},
|
||||
"temperature": {
|
||||
"interval": 10,
|
||||
"tooltip": true,
|
||||
"hwmon-path": [
|
||||
"/sys/class/hwmon/hwmon1/temp1_input",
|
||||
"/sys/class/thermal/thermal_zone0/temp"
|
||||
],
|
||||
//"thermal-zone": 0,
|
||||
"critical-threshold": 82,
|
||||
"format-critical": "{temperatureC}°C {icon}",
|
||||
"format": "{temperatureC}°C {icon}",
|
||||
"format-icons": [
|
||||
""
|
||||
],
|
||||
"on-click-right": "kitty --title nvtop sh -c 'nvtop'"
|
||||
},
|
||||
"temperature#vertical": {
|
||||
"interval": 10,
|
||||
"tooltip": true,
|
||||
"hwmon-path": [
|
||||
"/sys/class/hwmon/hwmon1/temp1_input",
|
||||
"/sys/class/thermal/thermal_zone0/temp"
|
||||
],
|
||||
//"thermal-zone": 0,
|
||||
"critical-threshold": 80,
|
||||
"format-critical": "{icon}\n{temperatureC}°C",
|
||||
"format": " {icon}",
|
||||
"format-icons": [
|
||||
""
|
||||
],
|
||||
"on-click-right": "kitty --title nvtop sh -c 'nvtop'"
|
||||
},
|
||||
|
||||
|
||||
// GROUP
|
||||
"group/motherboard": {
|
||||
"orientation": "horizontal",
|
||||
"modules": [
|
||||
"cpu",
|
||||
"memory",
|
||||
"temperature",
|
||||
"disk",
|
||||
]
|
||||
},
|
||||
"group/mobo_drawer": {
|
||||
"orientation": "inherit",
|
||||
"drawer": {
|
||||
"transition-duration": 500,
|
||||
"children-class": "cpu",
|
||||
"transition-left-to-right": true
|
||||
},
|
||||
"modules": [
|
||||
"temperature",
|
||||
"cpu",
|
||||
"memory",
|
||||
"disk",
|
||||
]
|
||||
},
|
||||
"group/laptop": {
|
||||
"orientation": "inherit",
|
||||
"modules": [
|
||||
"backlight",
|
||||
"battery",
|
||||
]
|
||||
},
|
||||
"group/audio": {
|
||||
"orientation": "inherit",
|
||||
"drawer": {
|
||||
"transition-duration": 500,
|
||||
"children-class": "pulseaudio",
|
||||
"transition-left-to-right": true
|
||||
},
|
||||
"modules": [
|
||||
"pulseaudio",
|
||||
"pulseaudio#microphone",
|
||||
]
|
||||
},
|
||||
"group/connections": {
|
||||
"orientation": "inherit",
|
||||
"drawer": {
|
||||
"transition-duration": 500,
|
||||
"children-class": "bluetooth",
|
||||
"transition-left-to-right": true
|
||||
},
|
||||
"modules": [
|
||||
"network",
|
||||
"bluetooth",
|
||||
]
|
||||
},
|
||||
"backlight": {
|
||||
"interval": 2,
|
||||
"align": 0,
|
||||
"rotate": 0,
|
||||
//"format": "{icon} {percent}%",
|
||||
"format-icons": [
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" "
|
||||
],
|
||||
"format": "{icon}",
|
||||
//"format-icons": ["","","","","","","","","","","","","","",""],
|
||||
"tooltip-format": "backlight {percent}%",
|
||||
"icon-size": 10,
|
||||
"on-click": "",
|
||||
"on-click-middle": "",
|
||||
"on-click-right": "",
|
||||
"on-update": "",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Brightness.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Brightness.sh --dec",
|
||||
"smooth-scrolling-threshold": 1,
|
||||
},
|
||||
"backlight#2": {
|
||||
"device": "intel_backlight",
|
||||
"format": "{icon} {percent}%",
|
||||
"format-icons": ["", ""]
|
||||
},
|
||||
"battery": {
|
||||
//"interval": 5,
|
||||
"align": 0,
|
||||
"rotate": 0,
|
||||
//"bat": "BAT1",
|
||||
//"adapter": "ACAD",
|
||||
"full-at": 100,
|
||||
"design-capacity": false,
|
||||
"states": {
|
||||
"good": 95,
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format": "{icon} {capacity}%",
|
||||
"format-charging": " {capacity}%",
|
||||
"format-plugged": " {capacity}%",
|
||||
"format-alt-click": "click",
|
||||
"format-full": "{icon} Full",
|
||||
"format-alt": "{icon} {time}",
|
||||
"format-icons": [
|
||||
"", "", "", "", "", "", "", "", "", "", ""
|
||||
],
|
||||
"format-time": "{H}h {M}min",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{timeTo} {power}w",
|
||||
"on-click-middle": "$HOME/.config/hypr/scripts/ChangeBlur.sh",
|
||||
"on-click-right": "$HOME/.config/hypr/scripts/Wlogout.sh",
|
||||
},
|
||||
"bluetooth": {
|
||||
"format": "",
|
||||
"format-disabled": "",
|
||||
"format-connected": " {num_connections}",
|
||||
"tooltip-format": " {device_alias}",
|
||||
"tooltip-format-connected": "{device_enumerate}",
|
||||
"tooltip-format-enumerate-connected": " {device_alias} {device_battery_percentage}%",
|
||||
"tooltip": true,
|
||||
"on-click": "blueman-manager",
|
||||
},
|
||||
"clock": {
|
||||
"interval": 1,
|
||||
//"format": " {:%I:%M %p}", // AM PM format
|
||||
"format": " {:%H:%M:%S}", // 24H
|
||||
"format-alt": " {:%H:%M %Y, %d %B, %A}",
|
||||
"tooltip-format": "<tt><small>{calendar}</small></tt>",
|
||||
"calendar": {
|
||||
"mode": "year",
|
||||
"mode-mon-col": 3,
|
||||
"weeks-pos": "right",
|
||||
"on-scroll": 1,
|
||||
"format": {
|
||||
"months": "<span color='#ffead3'><b>{}</b></span>",
|
||||
"days": "<span color='#ecc6d9'><b>{}</b></span>",
|
||||
"weeks": "<span color='#99ffdd'><b>W{}</b></span>",
|
||||
"weekdays": "<span color='#ffcc66'><b>{}</b></span>",
|
||||
"today": "<span color='#ff6699'><b><u>{}</u></b></span>"
|
||||
}
|
||||
}
|
||||
},
|
||||
"actions": {
|
||||
"on-click-right": "mode",
|
||||
"on-click-forward": "tz_up",
|
||||
"on-click-backward": "tz_down",
|
||||
"on-scroll-up": "shift_up",
|
||||
"on-scroll-down": "shift_down"
|
||||
},
|
||||
"clock#2": {
|
||||
//"format": " {:%I:%M %p}", // AM PM format
|
||||
"format": " {:%H:%M}", // 24H
|
||||
"format-alt": "{:%A | %H:%M | %e %B}",
|
||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>"
|
||||
},
|
||||
"clock#3": {
|
||||
//"format": "{:%I:%M %p - %d/%b}", //for AM/PM
|
||||
"format": "{:%H:%M - %d/%b}", // 24H
|
||||
"tooltip": false
|
||||
},
|
||||
"clock#4": {
|
||||
"interval": 60,
|
||||
//"format": "{:%B | %a %d, %Y | %I:%M %p}", // AM PM format
|
||||
"format": "{:%B | %a %d, %Y | %H:%M}", // 24H
|
||||
"format-alt": "{:%a %b %d, %G}",
|
||||
"tooltip-format": "<big>{:%B %Y}</big>\n<tt><small>{calendar}</small></tt>",
|
||||
},
|
||||
"clock#5": {
|
||||
//"format": "{:%A, %I:%M %P}", // AM PM format
|
||||
"format": "{:%a %d | %H:%M}", // 24H
|
||||
"format-alt": "{:%A, %d %B, %Y (%R)}"
|
||||
},
|
||||
"cpu": {
|
||||
"format": "{usage}% ",
|
||||
"interval": 1,
|
||||
"min-length": 5,
|
||||
"format-alt-click": "click",
|
||||
"format-alt": "{icon0}{icon1}{icon2}{icon3} {usage:>2}% ",
|
||||
"format-icons": [
|
||||
"▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"
|
||||
],
|
||||
"on-click-right": "gnome-system-monitor",
|
||||
},
|
||||
"disk": {
|
||||
"interval": 30,
|
||||
//"format": "",
|
||||
"path": "/",
|
||||
//"format-alt-click": "click",
|
||||
"format": "{percentage_used}% ",
|
||||
//"tooltip": true,
|
||||
"tooltip-format": "{used} used out of {total} on {path} ({percentage_used}%)",
|
||||
},
|
||||
"hyprland/language": {
|
||||
"format": "Lang: {}",
|
||||
"format-en": "US",
|
||||
"format-tr": "Korea",
|
||||
"keyboard-name": "at-translated-set-2-keyboard",
|
||||
"on-click": "hyprctl switchxkblayout $SET_KB next"
|
||||
},
|
||||
"hyprland/submap": {
|
||||
"format": "<span style=\"italic\"> {}</span>", // Icon: expand-arrows-alt
|
||||
"tooltip": false,
|
||||
},
|
||||
"hyprland/window": {
|
||||
"format": "{}",
|
||||
"max-length": 20,
|
||||
"separate-outputs": true,
|
||||
"offscreen-css": true,
|
||||
"offscreen-css-text": "(inactive)",
|
||||
"rewrite": {
|
||||
"(.*) — Mozilla Firefox": " $1",
|
||||
"(.*) - fish": "> [$1]",
|
||||
"(.*) - zsh": "> [$1]",
|
||||
"(.*) - $term": "> [$1]",
|
||||
},
|
||||
},
|
||||
"idle_inhibitor": {
|
||||
"tooltip": true,
|
||||
"tooltip-format-activated": "Idle_inhibitor active",
|
||||
"tooltip-format-deactivated": "Idle_inhibitor not active",
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"activated": " ",
|
||||
"deactivated": " ",
|
||||
}
|
||||
},
|
||||
"keyboard-state": {
|
||||
//"numlock": true,
|
||||
"capslock": true,
|
||||
"format": {
|
||||
"numlock": "N {icon}",
|
||||
"capslock": " {icon}",
|
||||
},
|
||||
"format-icons": {
|
||||
"locked": "",
|
||||
"unlocked": ""
|
||||
},
|
||||
},
|
||||
"memory": {
|
||||
"interval": 10,
|
||||
"format": "{used:0.1f}G ",
|
||||
"format-alt": "{percentage}% ",
|
||||
"format-alt-click": "click",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{used:0.1f}GB/{total:0.1f}G",
|
||||
"on-click-right": "kitty --title btop sh -c 'btop'"
|
||||
},
|
||||
"mpris": {
|
||||
"interval": 10,
|
||||
"format": "{player_icon} ",
|
||||
"format-paused": "{status_icon} <i>{dynamic}</i>",
|
||||
"on-click-middle": "playerctl play-pause",
|
||||
"on-click": "playerctl previous",
|
||||
"on-click-right": "playerctl next",
|
||||
"scroll-step": 5.0,
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --dec",
|
||||
"smooth-scrolling-threshold": 1,
|
||||
"player-icons": {
|
||||
"chromium": "",
|
||||
"default": "",
|
||||
"firefox": "",
|
||||
"kdeconnect": "",
|
||||
"mopidy": "",
|
||||
"mpv": "",
|
||||
"spotify": "",
|
||||
"vlc": "",
|
||||
},
|
||||
"status-icons": {
|
||||
"paused": "",
|
||||
"playing": "",
|
||||
"stopped": "",
|
||||
},
|
||||
// "ignored-players": ["firefox"]
|
||||
"max-length": 30,
|
||||
},
|
||||
"network": {
|
||||
"format": "{ifname}",
|
||||
"format-wifi": "{icon}",
|
||||
"format-ethernet": "",
|
||||
"format-disconnected": "",
|
||||
"tooltip-format": "{ipaddr} {bandwidthUpBits} {bandwidthDownBits}",
|
||||
"format-linked": " {ifname} (No IP)",
|
||||
"tooltip-format-wifi": "{essid} {icon} {signalStrength}%",
|
||||
"tooltip-format-ethernet": "{ifname} ",
|
||||
"tooltip-format-disconnected": " Disconnected",
|
||||
"max-length": 30,
|
||||
"format-icons": [
|
||||
"", "", "", "", ""
|
||||
],
|
||||
"on-click-right": "kitty nmtui"
|
||||
},
|
||||
"network#speed": {
|
||||
"interval": 1,
|
||||
"format": "{ifname}",
|
||||
"format-wifi": "{icon} {bandwidthUpBytes} {bandwidthDownBytes}",
|
||||
"format-ethernet": " {bandwidthUpBytes} {bandwidthDownBytes}",
|
||||
"format-disconnected": "",
|
||||
"tooltip-format": "{ipaddr}",
|
||||
"format-linked": " {ifname} (No IP)",
|
||||
"tooltip-format-wifi": "{essid} {icon} {signalStrength}%",
|
||||
"tooltip-format-ethernet": "{ifname} ",
|
||||
"tooltip-format-disconnected": " Disconnected",
|
||||
"min-length": 24,
|
||||
"max-length": 24,
|
||||
"format-icons": [
|
||||
"", "", "", "", ""
|
||||
]
|
||||
},
|
||||
"power-profiles-daemon": {
|
||||
"format": "{icon}",
|
||||
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
|
||||
"tooltip": true,
|
||||
"format-icons": {
|
||||
"default": "",
|
||||
"performance": "",
|
||||
"balanced": "",
|
||||
"power-saver": ""
|
||||
}
|
||||
},
|
||||
"pulseaudio": {
|
||||
"format": "{icon} {volume}%",
|
||||
"format-bluetooth": "{icon} {volume}%",
|
||||
"format-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": [
|
||||
"", "", "", ""
|
||||
],
|
||||
"ignored-sinks": [
|
||||
"Easy Effects Sink"
|
||||
],
|
||||
},
|
||||
"scroll-step": 5.0,
|
||||
"on-click": "$HOME/.config/hypr/scripts/Volume.sh --toggle",
|
||||
"on-click-right": "pavucontrol -t 3",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --dec",
|
||||
"tooltip-format": "{icon} {desc} | {volume}%",
|
||||
"smooth-scrolling-threshold": 1,
|
||||
},
|
||||
"pulseaudio#1": {
|
||||
"format": "{icon} {volume}%",
|
||||
"format-bluetooth": "{icon} {volume}%",
|
||||
"format-bluetooth-muted": " {icon}",
|
||||
"format-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": ["", "", ""]
|
||||
},
|
||||
"on-click": "pamixer --toggle-mute",
|
||||
"on-click-right": "pavucontrol -t 3",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{icon} {desc} | {volume}%",
|
||||
},
|
||||
"pulseaudio#microphone": {
|
||||
"format": "{format_source}",
|
||||
"format-source": " {volume}%",
|
||||
"format-source-muted": "",
|
||||
"on-click": "$HOME/.config/hypr/scripts/Volume.sh --toggle-mic",
|
||||
"on-click-right": "pavucontrol -t 4",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --mic-inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --mic-dec",
|
||||
"tooltip-format": "{source_desc} | {source_volume}%",
|
||||
"scroll-step": 5,
|
||||
},
|
||||
"tray": {
|
||||
"icon-size": 20,
|
||||
"spacing": 4,
|
||||
},
|
||||
"wireplumber": {
|
||||
"format": "{icon} {volume} %",
|
||||
"format-muted": " Mute",
|
||||
"on-click": "$HOME/.config/hypr/scripts/Volume.sh --toggle",
|
||||
"on-click-right": "pavucontrol -t 3",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --dec",
|
||||
"format-icons": [
|
||||
"", "", "", ""
|
||||
],
|
||||
},
|
||||
"wlr/taskbar": {
|
||||
"format": "{icon} {name}",
|
||||
"icon-size": 16,
|
||||
"all-outputs": false,
|
||||
"tooltip-format": "{title}",
|
||||
"on-click": "activate",
|
||||
"on-click-middle": "close",
|
||||
"ignore-list": [
|
||||
"wofi",
|
||||
"rofi",
|
||||
"kitty",
|
||||
"kitty-dropterm"
|
||||
],
|
||||
},
|
||||
"custom/cycle_wall": {
|
||||
"format": " ",
|
||||
"on-click": "$HOME/.config/hypr/UserScripts/WallpaperSelect.sh",
|
||||
"on-click-right": "$HOME/.config/hypr/UserScripts/WallpaperRandom.sh",
|
||||
"on-click-middle": "$HOME/.config/hypr/scripts/WaybarStyles.sh",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Left Click: Wallpaper Menu\nMiddle Click: Random wallpaper\nRight Click: Waybar Styles Menu",
|
||||
},
|
||||
"custom/hint": {
|
||||
"format": " HINT!",
|
||||
"on-click": "$HOME/.config/hypr/scripts/KeyHints.sh",
|
||||
"tooltip": true,
|
||||
"tooltip-format": " Quick Tips",
|
||||
},
|
||||
// Hypridle inhibitor
|
||||
"custom/hypridle": {
|
||||
"format": " ",
|
||||
"return-type": "json",
|
||||
"escape": true,
|
||||
"exec-on-event": true,
|
||||
"interval": 60,
|
||||
"exec": "$HOME/.config/hypr/scripts/Hypridle.sh status",
|
||||
"on-click": "$HOME/.config/hypr/scripts/Hypridle.sh toggle",
|
||||
"on-click-right": "hyprlock"
|
||||
},
|
||||
"custom/keyboard": {
|
||||
"exec": "cat $HOME/.cache/kb_layout",
|
||||
"interval": 1,
|
||||
"format": " {}",
|
||||
"on-click": "$HOME/.config/hypr/scripts/SwitchKeyboardLayout.sh",
|
||||
},
|
||||
"custom/light_dark": {
|
||||
"format": "",
|
||||
"on-click": "$HOME/.config/hypr/scripts/DarkLight.sh",
|
||||
"on-click-right": "$HOME/.config/hypr/scripts/WaybarStyles.sh",
|
||||
"on-click-middle": "$HOME/.config/hypr/UserScripts/WallpaperSelect.sh",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Left Click: Switch Dark-Light Themes\nMiddle Click: Wallpaper Menu\nRight Click: Waybar Styles Menu",
|
||||
},
|
||||
"custom/lock": {
|
||||
"format": "",
|
||||
"on-click": "$HOME/.config/hypr/scripts/LockScreen.sh",
|
||||
"tooltip": true,
|
||||
"tooltip-format": " Screen Lock",
|
||||
|
||||
},
|
||||
"custom/menu": {
|
||||
"format": "",
|
||||
"on-click": "pkill rofi || rofi -show drun -modi run,drun,filebrowser,window",
|
||||
"on-click-middle": "$HOME/.config/hypr/UserScripts/WallpaperSelect.sh",
|
||||
"on-click-right": "$HOME/.config/hypr/scripts/WaybarLayout.sh",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Left Click: Rofi Menu\nMiddle Click: Wallpaper Menu\nRight Click: Waybar Layout Menu",
|
||||
},
|
||||
// This is a custom cava visualizer
|
||||
"custom/cava_mviz": {
|
||||
"exec": "$HOME/.config/hypr/scripts/WaybarCava.sh",
|
||||
"format": "{}"
|
||||
},
|
||||
"custom/playerctl": {
|
||||
"format": "<span>{}</span>",
|
||||
"return-type": "json",
|
||||
"max-length": 35,
|
||||
"exec": "playerctl -a metadata --format '{\"text\": \"{{artist}} $HOME {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F",
|
||||
"on-click-middle": "playerctl play-pause",
|
||||
"on-click": "playerctl previous",
|
||||
"on-click-right": "playerctl next",
|
||||
"scroll-step": 5.0,
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --dec",
|
||||
"smooth-scrolling-threshold": 1,
|
||||
},
|
||||
"custom/power": {
|
||||
"format": "⏻ ",
|
||||
"on-click": "$HOME/.config/hypr/scripts/Wlogout.sh",
|
||||
"on-click-right": "$HOME/.config/hypr/scripts/ChangeBlur.sh",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Left Click: Logout Menu\nRight Click: Change Blur",
|
||||
},
|
||||
"custom/swaync": {
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Left Click: Launch Notification Center\nRight Click: Do not Disturb",
|
||||
"format": "{} {icon}",
|
||||
"format-icons": {
|
||||
"notification": "<span foreground='red'><sup></sup></span>",
|
||||
"none": "",
|
||||
"dnd-notification": "<span foreground='red'><sup></sup></span>",
|
||||
"dnd-none": "",
|
||||
"inhibited-notification": "<span foreground='red'><sup></sup></span>",
|
||||
"inhibited-none": "",
|
||||
"dnd-inhibited-notification": "<span foreground='red'><sup></sup></span>",
|
||||
"dnd-inhibited-none": ""
|
||||
},
|
||||
"return-type": "json",
|
||||
"exec-if": "which swaync-client",
|
||||
"exec": "swaync-client -swb",
|
||||
"on-click": "sleep 0.1 && swaync-client -t -sw",
|
||||
"on-click-right": "swaync-client -d -sw",
|
||||
"escape": true,
|
||||
},
|
||||
// NOTE:! This is only for Arch and Arch Based Distros depend: pacman-contrib
|
||||
"custom/updater": {
|
||||
"format": " {}",
|
||||
"exec": "checkupdates | wc -l",
|
||||
"exec-if": "[[ $(checkupdates | wc -l) ]]",
|
||||
"interval": 15,
|
||||
"on-click": "if command -v paru &> /dev/null; then kitty -T update paru -Syu; else kitty -T update yay -Syu; fi && notify-send 'The system has been updated'",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Left Click: Update System\nArch Linux Only",
|
||||
},
|
||||
|
||||
// Separators
|
||||
"custom/separator#dot": {
|
||||
"format": "",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/separator#dot-line": {
|
||||
"format": "",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/separator#line": {
|
||||
"format": "|",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/separator#blank": {
|
||||
"format": "",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/separator#blank_2": {
|
||||
"format": " ",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/separator#blank_3": {
|
||||
"format": " ",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
// Modules below are for vertical layout
|
||||
"backlight#vertical": {
|
||||
"interval": 2,
|
||||
"align": 0.35,
|
||||
"rotate": 1,
|
||||
"format": "{icon}",
|
||||
//"format-icons": ["", "", ""],
|
||||
"format-icons": [
|
||||
"", "", "", "", "", "", "", "", "", "", "", "", "", "", ""
|
||||
],
|
||||
"on-click": "",
|
||||
"on-click-middle": "",
|
||||
"on-click-right": "",
|
||||
"on-update": "",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Brightness.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Brightness.sh --dec",
|
||||
"smooth-scrolling-threshold": 1,
|
||||
"tooltip-format": "{percent}%",
|
||||
},
|
||||
"clock#vertical": {
|
||||
"format": "\n{:%H\n%M\n%S\n\n \n%d\n%m\n%y}",
|
||||
"interval": 1,
|
||||
//"format": "\n{:%I\n%M\n%p\n\n \n%d\n%m\n%y}",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{calendar}",
|
||||
"calendar": {
|
||||
"mode": "year",
|
||||
"mode-mon-col": 3,
|
||||
"format": {
|
||||
"today": "<span color='#0dbc79'>{}</span>",
|
||||
}
|
||||
}
|
||||
},
|
||||
"cpu#vertical": {
|
||||
"format": "\n{usage}%",
|
||||
"interval": 1,
|
||||
"on-click-right": "gnome-system-monitor",
|
||||
},
|
||||
"memory#vertical": {
|
||||
"interval": 10,
|
||||
"format": "\n{percentage}%",
|
||||
"format-alt": "\n{used:0.1f}G",
|
||||
"format-alt-click": "click",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{used:0.1f}GB/{total:0.1f}G",
|
||||
"on-click-right": "kitty --title btop sh -c 'btop'",
|
||||
},
|
||||
"pulseaudio#vertical": {
|
||||
"format": "{icon}",
|
||||
"format-bluetooth": "",
|
||||
"format-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": [
|
||||
"", "", "", ""
|
||||
],
|
||||
"tooltip-format": "{icon} {desc} | {volume}%",
|
||||
"ignored-sinks": [
|
||||
"Easy Effects Sink"
|
||||
],
|
||||
},
|
||||
"scroll-step": 5.0,
|
||||
"on-click": "$HOME/.config/hypr/scripts/Volume.sh --toggle",
|
||||
"on-click-right": "pavucontrol -t 3",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --dec",
|
||||
"tooltip-format": "{icon} {desc} | {volume}%",
|
||||
"smooth-scrolling-threshold": 1,
|
||||
},
|
||||
"pulseaudio#microphone_vertical": {
|
||||
"format": "{format_source}",
|
||||
"format-source": "",
|
||||
"format-source-muted": "",
|
||||
"on-click-right": "pavucontrol",
|
||||
"on-click": "$HOME/.config/hypr/scripts/Volume.sh --toggle-mic",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --mic-inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --mic-dec",
|
||||
"max-volume": 100,
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{source_desc} | {source_volume}%",
|
||||
},
|
||||
"custom/power_vertical": {
|
||||
"format": "⏻",
|
||||
"exec": "echo ; echo power // blur",
|
||||
"on-click": "$HOME/.config/hypr/scripts/Wlogout.sh",
|
||||
"on-click-right": "$HOME/.config/hypr/scripts/ChangeBlur.sh",
|
||||
"interval": 86400, // once every day
|
||||
"tooltip": true,
|
||||
},
|
||||
}
|
||||
696
hyprland/.config/waybar/Modules.1
Normal file
|
|
@ -0,0 +1,696 @@
|
|||
//* ---- 💫 https://github.com/JaKooLit 💫 ---- *//
|
||||
/* Waybar Modules */
|
||||
|
||||
{
|
||||
/* NOTE: hyprland-workspaces on a separate file */
|
||||
// Weather and Temperature Modules as this is most like to change always.
|
||||
// Result is of course easier to edit
|
||||
"custom/weather": {
|
||||
"format": "{}",
|
||||
"format-alt": "{alt}: {}",
|
||||
"format-alt-click": "click",
|
||||
"interval": 3600,
|
||||
"return-type": "json",
|
||||
"exec": "$HOME/.config/hypr/UserScripts/Weather.sh",
|
||||
//"exec": "$HOME/.config/hypr/UserScripts/Weather.py",
|
||||
"exec-if": "ping wttr.in -c1",
|
||||
"tooltip": true,
|
||||
},
|
||||
"temperature": {
|
||||
"interval": 10,
|
||||
"tooltip": true,
|
||||
"hwmon-path": [
|
||||
"/sys/class/hwmon/hwmon1/temp1_input",
|
||||
"/sys/class/thermal/thermal_zone0/temp"
|
||||
],
|
||||
//"thermal-zone": 0,
|
||||
"critical-threshold": 82,
|
||||
"format-critical": "{temperatureC}°C {icon}",
|
||||
"format": "{temperatureC}°C {icon}",
|
||||
"format-icons": [
|
||||
""
|
||||
],
|
||||
"on-click-right": "kitty --title nvtop sh -c 'nvtop'"
|
||||
},
|
||||
"temperature#vertical": {
|
||||
"interval": 10,
|
||||
"tooltip": true,
|
||||
"hwmon-path": [
|
||||
"/sys/class/hwmon/hwmon1/temp1_input",
|
||||
"/sys/class/thermal/thermal_zone0/temp"
|
||||
],
|
||||
//"thermal-zone": 0,
|
||||
"critical-threshold": 80,
|
||||
"format-critical": "{icon}\n{temperatureC}°C",
|
||||
"format": " {icon}",
|
||||
"format-icons": [
|
||||
""
|
||||
],
|
||||
"on-click-right": "kitty --title nvtop sh -c 'nvtop'"
|
||||
},
|
||||
|
||||
|
||||
// GROUP
|
||||
"group/motherboard": {
|
||||
"orientation": "horizontal",
|
||||
"modules": [
|
||||
"cpu",
|
||||
"memory",
|
||||
"temperature",
|
||||
"disk",
|
||||
]
|
||||
},
|
||||
"group/mobo_drawer": {
|
||||
"orientation": "inherit",
|
||||
"drawer": {
|
||||
"transition-duration": 500,
|
||||
"children-class": "cpu",
|
||||
"transition-left-to-right": true
|
||||
},
|
||||
"modules": [
|
||||
"temperature",
|
||||
"cpu",
|
||||
"memory",
|
||||
"disk",
|
||||
]
|
||||
},
|
||||
"group/laptop": {
|
||||
"orientation": "inherit",
|
||||
"modules": [
|
||||
"backlight",
|
||||
"battery",
|
||||
]
|
||||
},
|
||||
"group/audio": {
|
||||
"orientation": "inherit",
|
||||
"drawer": {
|
||||
"transition-duration": 500,
|
||||
"children-class": "pulseaudio",
|
||||
"transition-left-to-right": true
|
||||
},
|
||||
"modules": [
|
||||
"pulseaudio",
|
||||
"pulseaudio#microphone",
|
||||
]
|
||||
},
|
||||
"group/connections": {
|
||||
"orientation": "inherit",
|
||||
"drawer": {
|
||||
"transition-duration": 500,
|
||||
"children-class": "bluetooth",
|
||||
"transition-left-to-right": true
|
||||
},
|
||||
"modules": [
|
||||
"network",
|
||||
"bluetooth",
|
||||
]
|
||||
},
|
||||
"backlight": {
|
||||
"interval": 2,
|
||||
"align": 0,
|
||||
"rotate": 0,
|
||||
//"format": "{icon} {percent}%",
|
||||
"format-icons": [
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" "
|
||||
],
|
||||
"format": "{icon}",
|
||||
//"format-icons": ["","","","","","","","","","","","","","",""],
|
||||
"tooltip-format": "backlight {percent}%",
|
||||
"icon-size": 10,
|
||||
"on-click": "",
|
||||
"on-click-middle": "",
|
||||
"on-click-right": "",
|
||||
"on-update": "",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Brightness.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Brightness.sh --dec",
|
||||
"smooth-scrolling-threshold": 1,
|
||||
},
|
||||
"backlight#2": {
|
||||
"device": "intel_backlight",
|
||||
"format": "{icon} {percent}%",
|
||||
"format-icons": ["", ""]
|
||||
},
|
||||
"battery": {
|
||||
//"interval": 5,
|
||||
"align": 0,
|
||||
"rotate": 0,
|
||||
//"bat": "BAT1",
|
||||
//"adapter": "ACAD",
|
||||
"full-at": 100,
|
||||
"design-capacity": false,
|
||||
"states": {
|
||||
"good": 95,
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format": "{icon} {capacity}%",
|
||||
"format-charging": " {capacity}%",
|
||||
"format-plugged": " {capacity}%",
|
||||
"format-alt-click": "click",
|
||||
"format-full": "{icon} Full",
|
||||
"format-alt": "{icon} {time}",
|
||||
"format-icons": [
|
||||
"", "", "", "", "", "", "", "", "", "", ""
|
||||
],
|
||||
"format-time": "{H}h {M}min",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{timeTo} {power}w",
|
||||
"on-click-middle": "$HOME/.config/hypr/scripts/ChangeBlur.sh",
|
||||
"on-click-right": "$HOME/.config/hypr/scripts/Wlogout.sh",
|
||||
},
|
||||
"bluetooth": {
|
||||
"format": "",
|
||||
"format-disabled": "",
|
||||
"format-connected": " {num_connections}",
|
||||
"tooltip-format": " {device_alias}",
|
||||
"tooltip-format-connected": "{device_enumerate}",
|
||||
"tooltip-format-enumerate-connected": " {device_alias} {device_battery_percentage}%",
|
||||
"tooltip": true,
|
||||
"on-click": "blueman-manager",
|
||||
},
|
||||
"clock": {
|
||||
"interval": 1,
|
||||
//"format": " {:%I:%M %p}", // AM PM format
|
||||
"format": " {:%H:%M:%S}", // 24H
|
||||
"format-alt": " {:%H:%M %Y, %d %B, %A}",
|
||||
"tooltip-format": "<tt><small>{calendar}</small></tt>",
|
||||
"calendar": {
|
||||
"mode": "year",
|
||||
"mode-mon-col": 3,
|
||||
"weeks-pos": "right",
|
||||
"on-scroll": 1,
|
||||
"format": {
|
||||
"months": "<span color='#ffead3'><b>{}</b></span>",
|
||||
"days": "<span color='#ecc6d9'><b>{}</b></span>",
|
||||
"weeks": "<span color='#99ffdd'><b>W{}</b></span>",
|
||||
"weekdays": "<span color='#ffcc66'><b>{}</b></span>",
|
||||
"today": "<span color='#ff6699'><b><u>{}</u></b></span>"
|
||||
}
|
||||
}
|
||||
},
|
||||
"actions": {
|
||||
"on-click-right": "mode",
|
||||
"on-click-forward": "tz_up",
|
||||
"on-click-backward": "tz_down",
|
||||
"on-scroll-up": "shift_up",
|
||||
"on-scroll-down": "shift_down"
|
||||
},
|
||||
"clock#2": {
|
||||
//"format": " {:%I:%M %p}", // AM PM format
|
||||
"format": " {:%H:%M}", // 24H
|
||||
"format-alt": "{:%A | %H:%M | %e %B}",
|
||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>"
|
||||
},
|
||||
"clock#3": {
|
||||
//"format": "{:%I:%M %p - %d/%b}", //for AM/PM
|
||||
"format": "{:%H:%M - %d/%b}", // 24H
|
||||
"tooltip": false
|
||||
},
|
||||
"clock#4": {
|
||||
"interval": 60,
|
||||
//"format": "{:%B | %a %d, %Y | %I:%M %p}", // AM PM format
|
||||
"format": "{:%B | %a %d, %Y | %H:%M}", // 24H
|
||||
"format-alt": "{:%a %b %d, %G}",
|
||||
"tooltip-format": "<big>{:%B %Y}</big>\n<tt><small>{calendar}</small></tt>",
|
||||
},
|
||||
"clock#5": {
|
||||
//"format": "{:%A, %I:%M %P}", // AM PM format
|
||||
"format": "{:%a %d | %H:%M}", // 24H
|
||||
"format-alt": "{:%A, %d %B, %Y (%R)}"
|
||||
},
|
||||
"cpu": {
|
||||
"format": "{usage}% ",
|
||||
"interval": 1,
|
||||
"min-length": 5,
|
||||
"format-alt-click": "click",
|
||||
"format-alt": "{icon0}{icon1}{icon2}{icon3} {usage:>2}% ",
|
||||
"format-icons": [
|
||||
"▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"
|
||||
],
|
||||
"on-click-right": "gnome-system-monitor",
|
||||
},
|
||||
"disk": {
|
||||
"interval": 30,
|
||||
//"format": "",
|
||||
"path": "/",
|
||||
//"format-alt-click": "click",
|
||||
"format": "{percentage_used}% ",
|
||||
//"tooltip": true,
|
||||
"tooltip-format": "{used} used out of {total} on {path} ({percentage_used}%)",
|
||||
},
|
||||
"hyprland/language": {
|
||||
"format": "Lang: {}",
|
||||
"format-en": "US",
|
||||
"format-tr": "Korea",
|
||||
"keyboard-name": "at-translated-set-2-keyboard",
|
||||
"on-click": "hyprctl switchxkblayout $SET_KB next"
|
||||
},
|
||||
"hyprland/submap": {
|
||||
"format": "<span style=\"italic\"> {}</span>", // Icon: expand-arrows-alt
|
||||
"tooltip": false,
|
||||
},
|
||||
"hyprland/window": {
|
||||
"format": "{}",
|
||||
"max-length": 20,
|
||||
"separate-outputs": true,
|
||||
"offscreen-css": true,
|
||||
"offscreen-css-text": "(inactive)",
|
||||
"rewrite": {
|
||||
"(.*) — Mozilla Firefox": " $1",
|
||||
"(.*) - fish": "> [$1]",
|
||||
"(.*) - zsh": "> [$1]",
|
||||
"(.*) - $term": "> [$1]",
|
||||
},
|
||||
},
|
||||
"idle_inhibitor": {
|
||||
"tooltip": true,
|
||||
"tooltip-format-activated": "Idle_inhibitor active",
|
||||
"tooltip-format-deactivated": "Idle_inhibitor not active",
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"activated": " ",
|
||||
"deactivated": " ",
|
||||
}
|
||||
},
|
||||
"keyboard-state": {
|
||||
//"numlock": true,
|
||||
"capslock": true,
|
||||
"format": {
|
||||
"numlock": "N {icon}",
|
||||
"capslock": " {icon}",
|
||||
},
|
||||
"format-icons": {
|
||||
"locked": "",
|
||||
"unlocked": ""
|
||||
},
|
||||
},
|
||||
"memory": {
|
||||
"interval": 10,
|
||||
"format": "{used:0.1f}G ",
|
||||
"format-alt": "{percentage}% ",
|
||||
"format-alt-click": "click",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{used:0.1f}GB/{total:0.1f}G",
|
||||
"on-click-right": "kitty --title btop sh -c 'btop'"
|
||||
},
|
||||
"mpris": {
|
||||
"interval": 10,
|
||||
"format": "{player_icon} ",
|
||||
"format-paused": "{status_icon} <i>{dynamic}</i>",
|
||||
"on-click-middle": "playerctl play-pause",
|
||||
"on-click": "playerctl previous",
|
||||
"on-click-right": "playerctl next",
|
||||
"scroll-step": 5.0,
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --dec",
|
||||
"smooth-scrolling-threshold": 1,
|
||||
"player-icons": {
|
||||
"chromium": "",
|
||||
"default": "",
|
||||
"firefox": "",
|
||||
"kdeconnect": "",
|
||||
"mopidy": "",
|
||||
"mpv": "",
|
||||
"spotify": "",
|
||||
"vlc": "",
|
||||
},
|
||||
"status-icons": {
|
||||
"paused": "",
|
||||
"playing": "",
|
||||
"stopped": "",
|
||||
},
|
||||
// "ignored-players": ["firefox"]
|
||||
"max-length": 30,
|
||||
},
|
||||
"network": {
|
||||
"format": "{ifname}",
|
||||
"format-wifi": "{icon}",
|
||||
"format-ethernet": "",
|
||||
"format-disconnected": "",
|
||||
"tooltip-format": "{ipaddr} {bandwidthUpBits} {bandwidthDownBits}",
|
||||
"format-linked": " {ifname} (No IP)",
|
||||
"tooltip-format-wifi": "{essid} {icon} {signalStrength}%",
|
||||
"tooltip-format-ethernet": "{ifname} ",
|
||||
"tooltip-format-disconnected": " Disconnected",
|
||||
"max-length": 30,
|
||||
"format-icons": [
|
||||
"", "", "", "", ""
|
||||
],
|
||||
"on-click-right": "kitty nmtui"
|
||||
},
|
||||
"network#speed": {
|
||||
"interval": 1,
|
||||
"format": "{ifname}",
|
||||
"format-wifi": "{icon} {bandwidthUpBytes} {bandwidthDownBytes}",
|
||||
"format-ethernet": " {bandwidthUpBytes} {bandwidthDownBytes}",
|
||||
"format-disconnected": "",
|
||||
"tooltip-format": "{ipaddr}",
|
||||
"format-linked": " {ifname} (No IP)",
|
||||
"tooltip-format-wifi": "{essid} {icon} {signalStrength}%",
|
||||
"tooltip-format-ethernet": "{ifname} ",
|
||||
"tooltip-format-disconnected": " Disconnected",
|
||||
"min-length": 24,
|
||||
"max-length": 24,
|
||||
"format-icons": [
|
||||
"", "", "", "", ""
|
||||
]
|
||||
},
|
||||
"power-profiles-daemon": {
|
||||
"format": "{icon}",
|
||||
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
|
||||
"tooltip": true,
|
||||
"format-icons": {
|
||||
"default": "",
|
||||
"performance": "",
|
||||
"balanced": "",
|
||||
"power-saver": ""
|
||||
}
|
||||
},
|
||||
"pulseaudio": {
|
||||
"format": "{icon} {volume}%",
|
||||
"format-bluetooth": "{icon} {volume}%",
|
||||
"format-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": [
|
||||
"", "", "", ""
|
||||
],
|
||||
"ignored-sinks": [
|
||||
"Easy Effects Sink"
|
||||
],
|
||||
},
|
||||
"scroll-step": 5.0,
|
||||
"on-click": "$HOME/.config/hypr/scripts/Volume.sh --toggle",
|
||||
"on-click-right": "pavucontrol -t 3",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --dec",
|
||||
"tooltip-format": "{icon} {desc} | {volume}%",
|
||||
"smooth-scrolling-threshold": 1,
|
||||
},
|
||||
"pulseaudio#1": {
|
||||
"format": "{icon} {volume}%",
|
||||
"format-bluetooth": "{icon} {volume}%",
|
||||
"format-bluetooth-muted": " {icon}",
|
||||
"format-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": ["", "", ""]
|
||||
},
|
||||
"on-click": "pamixer --toggle-mute",
|
||||
"on-click-right": "pavucontrol -t 3",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{icon} {desc} | {volume}%",
|
||||
},
|
||||
"pulseaudio#microphone": {
|
||||
"format": "{format_source}",
|
||||
"format-source": " {volume}%",
|
||||
"format-source-muted": "",
|
||||
"on-click": "$HOME/.config/hypr/scripts/Volume.sh --toggle-mic",
|
||||
"on-click-right": "pavucontrol -t 4",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --mic-inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --mic-dec",
|
||||
"tooltip-format": "{source_desc} | {source_volume}%",
|
||||
"scroll-step": 5,
|
||||
},
|
||||
"tray": {
|
||||
"icon-size": 20,
|
||||
"spacing": 4,
|
||||
},
|
||||
"wireplumber": {
|
||||
"format": "{icon} {volume} %",
|
||||
"format-muted": " Mute",
|
||||
"on-click": "$HOME/.config/hypr/scripts/Volume.sh --toggle",
|
||||
"on-click-right": "pavucontrol -t 3",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --dec",
|
||||
"format-icons": [
|
||||
"", "", "", ""
|
||||
],
|
||||
},
|
||||
"wlr/taskbar": {
|
||||
"format": "{icon} {name}",
|
||||
"icon-size": 16,
|
||||
"all-outputs": false,
|
||||
"tooltip-format": "{title}",
|
||||
"on-click": "activate",
|
||||
"on-click-middle": "close",
|
||||
"ignore-list": [
|
||||
"wofi",
|
||||
"rofi",
|
||||
"kitty",
|
||||
"kitty-dropterm"
|
||||
],
|
||||
},
|
||||
"custom/cycle_wall": {
|
||||
"format": " ",
|
||||
"on-click": "$HOME/.config/hypr/UserScripts/WallpaperSelect.sh",
|
||||
"on-click-right": "$HOME/.config/hypr/UserScripts/WallpaperRandom.sh",
|
||||
"on-click-middle": "$HOME/.config/hypr/scripts/WaybarStyles.sh",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Left Click: Wallpaper Menu\nMiddle Click: Random wallpaper\nRight Click: Waybar Styles Menu",
|
||||
},
|
||||
"custom/hint": {
|
||||
"format": " HINT!",
|
||||
"on-click": "$HOME/.config/hypr/scripts/KeyHints.sh",
|
||||
"tooltip": true,
|
||||
"tooltip-format": " Quick Tips",
|
||||
},
|
||||
// Hypridle inhibitor
|
||||
"custom/hypridle": {
|
||||
"format": " ",
|
||||
"return-type": "json",
|
||||
"escape": true,
|
||||
"exec-on-event": true,
|
||||
"interval": 60,
|
||||
"exec": "$HOME/.config/hypr/scripts/Hypridle.sh status",
|
||||
"on-click": "$HOME/.config/hypr/scripts/Hypridle.sh toggle",
|
||||
"on-click-right": "hyprlock"
|
||||
},
|
||||
"custom/keyboard": {
|
||||
"exec": "cat $HOME/.cache/kb_layout",
|
||||
"interval": 1,
|
||||
"format": " {}",
|
||||
"on-click": "$HOME/.config/hypr/scripts/SwitchKeyboardLayout.sh",
|
||||
},
|
||||
"custom/light_dark": {
|
||||
"format": "",
|
||||
"on-click": "$HOME/.config/hypr/scripts/DarkLight.sh",
|
||||
"on-click-right": "$HOME/.config/hypr/scripts/WaybarStyles.sh",
|
||||
"on-click-middle": "$HOME/.config/hypr/UserScripts/WallpaperSelect.sh",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Left Click: Switch Dark-Light Themes\nMiddle Click: Wallpaper Menu\nRight Click: Waybar Styles Menu",
|
||||
},
|
||||
"custom/lock": {
|
||||
"format": "",
|
||||
"on-click": "$HOME/.config/hypr/scripts/LockScreen.sh",
|
||||
"tooltip": true,
|
||||
"tooltip-format": " Screen Lock",
|
||||
|
||||
},
|
||||
"custom/menu": {
|
||||
"format": "",
|
||||
"on-click": "pkill rofi || rofi -show drun -modi run,drun,filebrowser,window",
|
||||
"on-click-middle": "$HOME/.config/hypr/UserScripts/WallpaperSelect.sh",
|
||||
"on-click-right": "$HOME/.config/hypr/scripts/WaybarLayout.sh",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Left Click: Rofi Menu\nMiddle Click: Wallpaper Menu\nRight Click: Waybar Layout Menu",
|
||||
},
|
||||
// This is a custom cava visualizer
|
||||
"custom/cava_mviz": {
|
||||
"exec": "$HOME/.config/hypr/scripts/WaybarCava.sh",
|
||||
"format": "{}"
|
||||
},
|
||||
"custom/playerctl": {
|
||||
"format": "<span>{}</span>",
|
||||
"return-type": "json",
|
||||
"max-length": 35,
|
||||
"exec": "playerctl -a metadata --format '{\"text\": \"{{artist}} $HOME {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F",
|
||||
"on-click-middle": "playerctl play-pause",
|
||||
"on-click": "playerctl previous",
|
||||
"on-click-right": "playerctl next",
|
||||
"scroll-step": 5.0,
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --dec",
|
||||
"smooth-scrolling-threshold": 1,
|
||||
},
|
||||
"custom/power": {
|
||||
"format": "⏻ ",
|
||||
"on-click": "$HOME/.config/hypr/scripts/Wlogout.sh",
|
||||
"on-click-right": "$HOME/.config/hypr/scripts/ChangeBlur.sh",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Left Click: Logout Menu\nRight Click: Change Blur",
|
||||
},
|
||||
"custom/swaync": {
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Left Click: Launch Notification Center\nRight Click: Do not Disturb",
|
||||
"format": "{} {icon}",
|
||||
"format-icons": {
|
||||
"notification": "<span foreground='red'><sup></sup></span>",
|
||||
"none": "",
|
||||
"dnd-notification": "<span foreground='red'><sup></sup></span>",
|
||||
"dnd-none": "",
|
||||
"inhibited-notification": "<span foreground='red'><sup></sup></span>",
|
||||
"inhibited-none": "",
|
||||
"dnd-inhibited-notification": "<span foreground='red'><sup></sup></span>",
|
||||
"dnd-inhibited-none": ""
|
||||
},
|
||||
"return-type": "json",
|
||||
"exec-if": "which swaync-client",
|
||||
"exec": "swaync-client -swb",
|
||||
"on-click": "sleep 0.1 && swaync-client -t -sw",
|
||||
"on-click-right": "swaync-client -d -sw",
|
||||
"escape": true,
|
||||
},
|
||||
// NOTE:! This is only for Arch and Arch Based Distros depend: pacman-contrib
|
||||
"custom/updater": {
|
||||
"format": " {}",
|
||||
"exec": "checkupdates | wc -l",
|
||||
"exec-if": "[[ $(checkupdates | wc -l) ]]",
|
||||
"interval": 15,
|
||||
"on-click": "if command -v paru &> /dev/null; then kitty -T update paru -Syu; else kitty -T update yay -Syu; fi && notify-send 'The system has been updated'",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Left Click: Update System\nArch Linux Only",
|
||||
},
|
||||
|
||||
// Separators
|
||||
"custom/separator#dot": {
|
||||
"format": "",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/separator#dot-line": {
|
||||
"format": "",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/separator#line": {
|
||||
"format": "|",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/separator#blank": {
|
||||
"format": "",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/separator#blank_2": {
|
||||
"format": " ",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/separator#blank_3": {
|
||||
"format": " ",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
// Modules below are for vertical layout
|
||||
"backlight#vertical": {
|
||||
"interval": 2,
|
||||
"align": 0.35,
|
||||
"rotate": 1,
|
||||
"format": "{icon}",
|
||||
//"format-icons": ["", "", ""],
|
||||
"format-icons": [
|
||||
"", "", "", "", "", "", "", "", "", "", "", "", "", "", ""
|
||||
],
|
||||
"on-click": "",
|
||||
"on-click-middle": "",
|
||||
"on-click-right": "",
|
||||
"on-update": "",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Brightness.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Brightness.sh --dec",
|
||||
"smooth-scrolling-threshold": 1,
|
||||
"tooltip-format": "{percent}%",
|
||||
},
|
||||
"clock#vertical": {
|
||||
"format": "\n{:%H\n%M\n%S\n\n \n%d\n%m\n%y}",
|
||||
"interval": 1,
|
||||
//"format": "\n{:%I\n%M\n%p\n\n \n%d\n%m\n%y}",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{calendar}",
|
||||
"calendar": {
|
||||
"mode": "year",
|
||||
"mode-mon-col": 3,
|
||||
"format": {
|
||||
"today": "<span color='#0dbc79'>{}</span>",
|
||||
}
|
||||
}
|
||||
},
|
||||
"cpu#vertical": {
|
||||
"format": "\n{usage}%",
|
||||
"interval": 1,
|
||||
"on-click-right": "gnome-system-monitor",
|
||||
},
|
||||
"memory#vertical": {
|
||||
"interval": 10,
|
||||
"format": "\n{percentage}%",
|
||||
"format-alt": "\n{used:0.1f}G",
|
||||
"format-alt-click": "click",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{used:0.1f}GB/{total:0.1f}G",
|
||||
"on-click-right": "kitty --title btop sh -c 'btop'",
|
||||
},
|
||||
"pulseaudio#vertical": {
|
||||
"format": "{icon}",
|
||||
"format-bluetooth": "",
|
||||
"format-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": [
|
||||
"", "", "", ""
|
||||
],
|
||||
"tooltip-format": "{icon} {desc} | {volume}%",
|
||||
"ignored-sinks": [
|
||||
"Easy Effects Sink"
|
||||
],
|
||||
},
|
||||
"scroll-step": 5.0,
|
||||
"on-click": "$HOME/.config/hypr/scripts/Volume.sh --toggle",
|
||||
"on-click-right": "pavucontrol -t 3",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --dec",
|
||||
"tooltip-format": "{icon} {desc} | {volume}%",
|
||||
"smooth-scrolling-threshold": 1,
|
||||
},
|
||||
"pulseaudio#microphone_vertical": {
|
||||
"format": "{format_source}",
|
||||
"format-source": "",
|
||||
"format-source-muted": "",
|
||||
"on-click-right": "pavucontrol",
|
||||
"on-click": "$HOME/.config/hypr/scripts/Volume.sh --toggle-mic",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --mic-inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --mic-dec",
|
||||
"max-volume": 100,
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{source_desc} | {source_volume}%",
|
||||
},
|
||||
"custom/power_vertical": {
|
||||
"format": "⏻",
|
||||
"exec": "echo ; echo power // blur",
|
||||
"on-click": "$HOME/.config/hypr/scripts/Wlogout.sh",
|
||||
"on-click-right": "$HOME/.config/hypr/scripts/ChangeBlur.sh",
|
||||
"interval": 86400, // once every day
|
||||
"tooltip": true,
|
||||
},
|
||||
}
|
||||
696
hyprland/.config/waybar/Modules.2
Normal file
|
|
@ -0,0 +1,696 @@
|
|||
//* ---- 💫 https://github.com/JaKooLit 💫 ---- *//
|
||||
/* Waybar Modules */
|
||||
|
||||
{
|
||||
/* NOTE: hyprland-workspaces on a separate file */
|
||||
// Weather and Temperature Modules as this is most like to change always.
|
||||
// Result is of course easier to edit
|
||||
"custom/weather": {
|
||||
"format": "{}",
|
||||
"format-alt": "{alt}: {}",
|
||||
"format-alt-click": "click",
|
||||
"interval": 3600,
|
||||
"return-type": "json",
|
||||
"exec": "$HOME/.config/hypr/UserScripts/Weather.sh",
|
||||
//"exec": "$HOME/.config/hypr/UserScripts/Weather.py",
|
||||
"exec-if": "ping wttr.in -c1",
|
||||
"tooltip": true,
|
||||
},
|
||||
"temperature": {
|
||||
"interval": 10,
|
||||
"tooltip": true,
|
||||
"hwmon-path": [
|
||||
"/sys/class/hwmon/hwmon1/temp1_input",
|
||||
"/sys/class/thermal/thermal_zone0/temp"
|
||||
],
|
||||
//"thermal-zone": 0,
|
||||
"critical-threshold": 82,
|
||||
"format-critical": "{temperatureC}°C {icon}",
|
||||
"format": "{temperatureC}°C {icon}",
|
||||
"format-icons": [
|
||||
""
|
||||
],
|
||||
"on-click-right": "kitty --title nvtop sh -c 'nvtop'"
|
||||
},
|
||||
"temperature#vertical": {
|
||||
"interval": 10,
|
||||
"tooltip": true,
|
||||
"hwmon-path": [
|
||||
"/sys/class/hwmon/hwmon1/temp1_input",
|
||||
"/sys/class/thermal/thermal_zone0/temp"
|
||||
],
|
||||
//"thermal-zone": 0,
|
||||
"critical-threshold": 80,
|
||||
"format-critical": "{icon}\n{temperatureC}°C",
|
||||
"format": " {icon}",
|
||||
"format-icons": [
|
||||
""
|
||||
],
|
||||
"on-click-right": "kitty --title nvtop sh -c 'nvtop'"
|
||||
},
|
||||
|
||||
|
||||
// GROUP
|
||||
"group/motherboard": {
|
||||
"orientation": "horizontal",
|
||||
"modules": [
|
||||
"cpu",
|
||||
"memory",
|
||||
"temperature",
|
||||
"disk",
|
||||
]
|
||||
},
|
||||
"group/mobo_drawer": {
|
||||
"orientation": "inherit",
|
||||
"drawer": {
|
||||
"transition-duration": 500,
|
||||
"children-class": "cpu",
|
||||
"transition-left-to-right": true
|
||||
},
|
||||
"modules": [
|
||||
"temperature",
|
||||
"cpu",
|
||||
"memory",
|
||||
"disk",
|
||||
]
|
||||
},
|
||||
"group/laptop": {
|
||||
"orientation": "inherit",
|
||||
"modules": [
|
||||
"backlight",
|
||||
"battery",
|
||||
]
|
||||
},
|
||||
"group/audio": {
|
||||
"orientation": "inherit",
|
||||
"drawer": {
|
||||
"transition-duration": 500,
|
||||
"children-class": "pulseaudio",
|
||||
"transition-left-to-right": true
|
||||
},
|
||||
"modules": [
|
||||
"pulseaudio",
|
||||
"pulseaudio#microphone",
|
||||
]
|
||||
},
|
||||
"group/connections": {
|
||||
"orientation": "inherit",
|
||||
"drawer": {
|
||||
"transition-duration": 500,
|
||||
"children-class": "bluetooth",
|
||||
"transition-left-to-right": true
|
||||
},
|
||||
"modules": [
|
||||
"network",
|
||||
"bluetooth",
|
||||
]
|
||||
},
|
||||
"backlight": {
|
||||
"interval": 2,
|
||||
"align": 0,
|
||||
"rotate": 0,
|
||||
//"format": "{icon} {percent}%",
|
||||
"format-icons": [
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" "
|
||||
],
|
||||
"format": "{icon}",
|
||||
//"format-icons": ["","","","","","","","","","","","","","",""],
|
||||
"tooltip-format": "backlight {percent}%",
|
||||
"icon-size": 10,
|
||||
"on-click": "",
|
||||
"on-click-middle": "",
|
||||
"on-click-right": "",
|
||||
"on-update": "",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Brightness.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Brightness.sh --dec",
|
||||
"smooth-scrolling-threshold": 1,
|
||||
},
|
||||
"backlight#2": {
|
||||
"device": "intel_backlight",
|
||||
"format": "{icon} {percent}%",
|
||||
"format-icons": ["", ""]
|
||||
},
|
||||
"battery": {
|
||||
//"interval": 5,
|
||||
"align": 0,
|
||||
"rotate": 0,
|
||||
//"bat": "BAT1",
|
||||
//"adapter": "ACAD",
|
||||
"full-at": 100,
|
||||
"design-capacity": false,
|
||||
"states": {
|
||||
"good": 95,
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format": "{icon} {capacity}%",
|
||||
"format-charging": " {capacity}%",
|
||||
"format-plugged": " {capacity}%",
|
||||
"format-alt-click": "click",
|
||||
"format-full": "{icon} Full",
|
||||
"format-alt": "{icon} {time}",
|
||||
"format-icons": [
|
||||
"", "", "", "", "", "", "", "", "", "", ""
|
||||
],
|
||||
"format-time": "{H}h {M}min",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{timeTo} {power}w",
|
||||
"on-click-middle": "$HOME/.config/hypr/scripts/ChangeBlur.sh",
|
||||
"on-click-right": "$HOME/.config/hypr/scripts/Wlogout.sh",
|
||||
},
|
||||
"bluetooth": {
|
||||
"format": "",
|
||||
"format-disabled": "",
|
||||
"format-connected": " {num_connections}",
|
||||
"tooltip-format": " {device_alias}",
|
||||
"tooltip-format-connected": "{device_enumerate}",
|
||||
"tooltip-format-enumerate-connected": " {device_alias} {device_battery_percentage}%",
|
||||
"tooltip": true,
|
||||
"on-click": "blueman-manager",
|
||||
},
|
||||
"clock": {
|
||||
"interval": 1,
|
||||
//"format": " {:%I:%M %p}", // AM PM format
|
||||
"format": " {:%H:%M:%S}", // 24H
|
||||
"format-alt": " {:%H:%M %Y, %d %B, %A}",
|
||||
"tooltip-format": "<tt><small>{calendar}</small></tt>",
|
||||
"calendar": {
|
||||
"mode": "year",
|
||||
"mode-mon-col": 3,
|
||||
"weeks-pos": "right",
|
||||
"on-scroll": 1,
|
||||
"format": {
|
||||
"months": "<span color='#ffead3'><b>{}</b></span>",
|
||||
"days": "<span color='#ecc6d9'><b>{}</b></span>",
|
||||
"weeks": "<span color='#99ffdd'><b>W{}</b></span>",
|
||||
"weekdays": "<span color='#ffcc66'><b>{}</b></span>",
|
||||
"today": "<span color='#ff6699'><b><u>{}</u></b></span>"
|
||||
}
|
||||
}
|
||||
},
|
||||
"actions": {
|
||||
"on-click-right": "mode",
|
||||
"on-click-forward": "tz_up",
|
||||
"on-click-backward": "tz_down",
|
||||
"on-scroll-up": "shift_up",
|
||||
"on-scroll-down": "shift_down"
|
||||
},
|
||||
"clock#2": {
|
||||
//"format": " {:%I:%M %p}", // AM PM format
|
||||
"format": " {:%H:%M}", // 24H
|
||||
"format-alt": "{:%A | %H:%M | %e %B}",
|
||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>"
|
||||
},
|
||||
"clock#3": {
|
||||
//"format": "{:%I:%M %p - %d/%b}", //for AM/PM
|
||||
"format": "{:%H:%M - %d/%b}", // 24H
|
||||
"tooltip": false
|
||||
},
|
||||
"clock#4": {
|
||||
"interval": 60,
|
||||
//"format": "{:%B | %a %d, %Y | %I:%M %p}", // AM PM format
|
||||
"format": "{:%B | %a %d, %Y | %H:%M}", // 24H
|
||||
"format-alt": "{:%a %b %d, %G}",
|
||||
"tooltip-format": "<big>{:%B %Y}</big>\n<tt><small>{calendar}</small></tt>",
|
||||
},
|
||||
"clock#5": {
|
||||
//"format": "{:%A, %I:%M %P}", // AM PM format
|
||||
"format": "{:%a %d | %H:%M}", // 24H
|
||||
"format-alt": "{:%A, %d %B, %Y (%R)}"
|
||||
},
|
||||
"cpu": {
|
||||
"format": "{usage}% ",
|
||||
"interval": 1,
|
||||
"min-length": 5,
|
||||
"format-alt-click": "click",
|
||||
"format-alt": "{icon0}{icon1}{icon2}{icon3} {usage:>2}% ",
|
||||
"format-icons": [
|
||||
"▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"
|
||||
],
|
||||
"on-click-right": "gnome-system-monitor",
|
||||
},
|
||||
"disk": {
|
||||
"interval": 30,
|
||||
//"format": "",
|
||||
"path": "/",
|
||||
//"format-alt-click": "click",
|
||||
"format": "{percentage_used}% ",
|
||||
//"tooltip": true,
|
||||
"tooltip-format": "{used} used out of {total} on {path} ({percentage_used}%)",
|
||||
},
|
||||
"hyprland/language": {
|
||||
"format": "Lang: {}",
|
||||
"format-en": "US",
|
||||
"format-tr": "Korea",
|
||||
"keyboard-name": "at-translated-set-2-keyboard",
|
||||
"on-click": "hyprctl switchxkblayout $SET_KB next"
|
||||
},
|
||||
"hyprland/submap": {
|
||||
"format": "<span style=\"italic\"> {}</span>", // Icon: expand-arrows-alt
|
||||
"tooltip": false,
|
||||
},
|
||||
"hyprland/window": {
|
||||
"format": "{}",
|
||||
"max-length": 20,
|
||||
"separate-outputs": true,
|
||||
"offscreen-css": true,
|
||||
"offscreen-css-text": "(inactive)",
|
||||
"rewrite": {
|
||||
"(.*) — Mozilla Firefox": " $1",
|
||||
"(.*) - fish": "> [$1]",
|
||||
"(.*) - zsh": "> [$1]",
|
||||
"(.*) - $term": "> [$1]",
|
||||
},
|
||||
},
|
||||
"idle_inhibitor": {
|
||||
"tooltip": true,
|
||||
"tooltip-format-activated": "Idle_inhibitor active",
|
||||
"tooltip-format-deactivated": "Idle_inhibitor not active",
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"activated": " ",
|
||||
"deactivated": " ",
|
||||
}
|
||||
},
|
||||
"keyboard-state": {
|
||||
//"numlock": true,
|
||||
"capslock": true,
|
||||
"format": {
|
||||
"numlock": "N {icon}",
|
||||
"capslock": " {icon}",
|
||||
},
|
||||
"format-icons": {
|
||||
"locked": "",
|
||||
"unlocked": ""
|
||||
},
|
||||
},
|
||||
"memory": {
|
||||
"interval": 10,
|
||||
"format": "{used:0.1f}G ",
|
||||
"format-alt": "{percentage}% ",
|
||||
"format-alt-click": "click",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{used:0.1f}GB/{total:0.1f}G",
|
||||
"on-click-right": "kitty --title btop sh -c 'btop'"
|
||||
},
|
||||
"mpris": {
|
||||
"interval": 10,
|
||||
"format": "{player_icon} ",
|
||||
"format-paused": "{status_icon} <i>{dynamic}</i>",
|
||||
"on-click-middle": "playerctl play-pause",
|
||||
"on-click": "playerctl previous",
|
||||
"on-click-right": "playerctl next",
|
||||
"scroll-step": 5.0,
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --dec",
|
||||
"smooth-scrolling-threshold": 1,
|
||||
"player-icons": {
|
||||
"chromium": "",
|
||||
"default": "",
|
||||
"firefox": "",
|
||||
"kdeconnect": "",
|
||||
"mopidy": "",
|
||||
"mpv": "",
|
||||
"spotify": "",
|
||||
"vlc": "",
|
||||
},
|
||||
"status-icons": {
|
||||
"paused": "",
|
||||
"playing": "",
|
||||
"stopped": "",
|
||||
},
|
||||
// "ignored-players": ["firefox"]
|
||||
"max-length": 30,
|
||||
},
|
||||
"network": {
|
||||
"format": "{ifname}",
|
||||
"format-wifi": "{icon}",
|
||||
"format-ethernet": "",
|
||||
"format-disconnected": "",
|
||||
"tooltip-format": "{ipaddr} {bandwidthUpBits} {bandwidthDownBits}",
|
||||
"format-linked": " {ifname} (No IP)",
|
||||
"tooltip-format-wifi": "{essid} {icon} {signalStrength}%",
|
||||
"tooltip-format-ethernet": "{ifname} ",
|
||||
"tooltip-format-disconnected": " Disconnected",
|
||||
"max-length": 30,
|
||||
"format-icons": [
|
||||
"", "", "", "", ""
|
||||
],
|
||||
"on-click-right": "kitty nmtui"
|
||||
},
|
||||
"network#speed": {
|
||||
"interval": 1,
|
||||
"format": "{ifname}",
|
||||
"format-wifi": "{icon} {bandwidthUpBytes} {bandwidthDownBytes}",
|
||||
"format-ethernet": " {bandwidthUpBytes} {bandwidthDownBytes}",
|
||||
"format-disconnected": "",
|
||||
"tooltip-format": "{ipaddr}",
|
||||
"format-linked": " {ifname} (No IP)",
|
||||
"tooltip-format-wifi": "{essid} {icon} {signalStrength}%",
|
||||
"tooltip-format-ethernet": "{ifname} ",
|
||||
"tooltip-format-disconnected": " Disconnected",
|
||||
"min-length": 24,
|
||||
"max-length": 24,
|
||||
"format-icons": [
|
||||
"", "", "", "", ""
|
||||
]
|
||||
},
|
||||
"power-profiles-daemon": {
|
||||
"format": "{icon}",
|
||||
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
|
||||
"tooltip": true,
|
||||
"format-icons": {
|
||||
"default": "",
|
||||
"performance": "",
|
||||
"balanced": "",
|
||||
"power-saver": ""
|
||||
}
|
||||
},
|
||||
"pulseaudio": {
|
||||
"format": "{icon} {volume}%",
|
||||
"format-bluetooth": "{icon} {volume}%",
|
||||
"format-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": [
|
||||
"", "", "", ""
|
||||
],
|
||||
"ignored-sinks": [
|
||||
"Easy Effects Sink"
|
||||
],
|
||||
},
|
||||
"scroll-step": 5.0,
|
||||
"on-click": "$HOME/.config/hypr/scripts/Volume.sh --toggle",
|
||||
"on-click-right": "pavucontrol -t 3",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --dec",
|
||||
"tooltip-format": "{icon} {desc} | {volume}%",
|
||||
"smooth-scrolling-threshold": 1,
|
||||
},
|
||||
"pulseaudio#1": {
|
||||
"format": "{icon} {volume}%",
|
||||
"format-bluetooth": "{icon} {volume}%",
|
||||
"format-bluetooth-muted": " {icon}",
|
||||
"format-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": ["", "", ""]
|
||||
},
|
||||
"on-click": "pamixer --toggle-mute",
|
||||
"on-click-right": "pavucontrol -t 3",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{icon} {desc} | {volume}%",
|
||||
},
|
||||
"pulseaudio#microphone": {
|
||||
"format": "{format_source}",
|
||||
"format-source": " {volume}%",
|
||||
"format-source-muted": "",
|
||||
"on-click": "$HOME/.config/hypr/scripts/Volume.sh --toggle-mic",
|
||||
"on-click-right": "pavucontrol -t 4",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --mic-inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --mic-dec",
|
||||
"tooltip-format": "{source_desc} | {source_volume}%",
|
||||
"scroll-step": 5,
|
||||
},
|
||||
"tray": {
|
||||
"icon-size": 20,
|
||||
"spacing": 4,
|
||||
},
|
||||
"wireplumber": {
|
||||
"format": "{icon} {volume} %",
|
||||
"format-muted": " Mute",
|
||||
"on-click": "$HOME/.config/hypr/scripts/Volume.sh --toggle",
|
||||
"on-click-right": "pavucontrol -t 3",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --dec",
|
||||
"format-icons": [
|
||||
"", "", "", ""
|
||||
],
|
||||
},
|
||||
"wlr/taskbar": {
|
||||
"format": "{icon} {name}",
|
||||
"icon-size": 16,
|
||||
"all-outputs": false,
|
||||
"tooltip-format": "{title}",
|
||||
"on-click": "activate",
|
||||
"on-click-middle": "close",
|
||||
"ignore-list": [
|
||||
"wofi",
|
||||
"rofi",
|
||||
"kitty",
|
||||
"kitty-dropterm"
|
||||
],
|
||||
},
|
||||
"custom/cycle_wall": {
|
||||
"format": " ",
|
||||
"on-click": "$HOME/.config/hypr/UserScripts/WallpaperSelect.sh",
|
||||
"on-click-right": "$HOME/.config/hypr/UserScripts/WallpaperRandom.sh",
|
||||
"on-click-middle": "$HOME/.config/hypr/scripts/WaybarStyles.sh",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Left Click: Wallpaper Menu\nMiddle Click: Random wallpaper\nRight Click: Waybar Styles Menu",
|
||||
},
|
||||
"custom/hint": {
|
||||
"format": " HINT!",
|
||||
"on-click": "$HOME/.config/hypr/scripts/KeyHints.sh",
|
||||
"tooltip": true,
|
||||
"tooltip-format": " Quick Tips",
|
||||
},
|
||||
// Hypridle inhibitor
|
||||
"custom/hypridle": {
|
||||
"format": " ",
|
||||
"return-type": "json",
|
||||
"escape": true,
|
||||
"exec-on-event": true,
|
||||
"interval": 60,
|
||||
"exec": "$HOME/.config/hypr/scripts/Hypridle.sh status",
|
||||
"on-click": "$HOME/.config/hypr/scripts/Hypridle.sh toggle",
|
||||
"on-click-right": "hyprlock"
|
||||
},
|
||||
"custom/keyboard": {
|
||||
"exec": "cat $HOME/.cache/kb_layout",
|
||||
"interval": 1,
|
||||
"format": " {}",
|
||||
"on-click": "$HOME/.config/hypr/scripts/SwitchKeyboardLayout.sh",
|
||||
},
|
||||
"custom/light_dark": {
|
||||
"format": "",
|
||||
"on-click": "$HOME/.config/hypr/scripts/DarkLight.sh",
|
||||
"on-click-right": "$HOME/.config/hypr/scripts/WaybarStyles.sh",
|
||||
"on-click-middle": "$HOME/.config/hypr/UserScripts/WallpaperSelect.sh",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Left Click: Switch Dark-Light Themes\nMiddle Click: Wallpaper Menu\nRight Click: Waybar Styles Menu",
|
||||
},
|
||||
"custom/lock": {
|
||||
"format": "",
|
||||
"on-click": "$HOME/.config/hypr/scripts/LockScreen.sh",
|
||||
"tooltip": true,
|
||||
"tooltip-format": " Screen Lock",
|
||||
|
||||
},
|
||||
"custom/menu": {
|
||||
"format": "",
|
||||
"on-click": "pkill rofi || rofi -show drun -modi run,drun,filebrowser,window",
|
||||
"on-click-middle": "$HOME/.config/hypr/UserScripts/WallpaperSelect.sh",
|
||||
"on-click-right": "$HOME/.config/hypr/scripts/WaybarLayout.sh",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Left Click: Rofi Menu\nMiddle Click: Wallpaper Menu\nRight Click: Waybar Layout Menu",
|
||||
},
|
||||
// This is a custom cava visualizer
|
||||
"custom/cava_mviz": {
|
||||
"exec": "$HOME/.config/hypr/scripts/WaybarCava.sh",
|
||||
"format": "{}"
|
||||
},
|
||||
"custom/playerctl": {
|
||||
"format": "<span>{}</span>",
|
||||
"return-type": "json",
|
||||
"max-length": 35,
|
||||
"exec": "playerctl -a metadata --format '{\"text\": \"{{artist}} $HOME {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F",
|
||||
"on-click-middle": "playerctl play-pause",
|
||||
"on-click": "playerctl previous",
|
||||
"on-click-right": "playerctl next",
|
||||
"scroll-step": 5.0,
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --dec",
|
||||
"smooth-scrolling-threshold": 1,
|
||||
},
|
||||
"custom/power": {
|
||||
"format": "⏻ ",
|
||||
"on-click": "$HOME/.config/hypr/scripts/Wlogout.sh",
|
||||
"on-click-right": "$HOME/.config/hypr/scripts/ChangeBlur.sh",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Left Click: Logout Menu\nRight Click: Change Blur",
|
||||
},
|
||||
"custom/swaync": {
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Left Click: Launch Notification Center\nRight Click: Do not Disturb",
|
||||
"format": "{} {icon}",
|
||||
"format-icons": {
|
||||
"notification": "<span foreground='red'><sup></sup></span>",
|
||||
"none": "",
|
||||
"dnd-notification": "<span foreground='red'><sup></sup></span>",
|
||||
"dnd-none": "",
|
||||
"inhibited-notification": "<span foreground='red'><sup></sup></span>",
|
||||
"inhibited-none": "",
|
||||
"dnd-inhibited-notification": "<span foreground='red'><sup></sup></span>",
|
||||
"dnd-inhibited-none": ""
|
||||
},
|
||||
"return-type": "json",
|
||||
"exec-if": "which swaync-client",
|
||||
"exec": "swaync-client -swb",
|
||||
"on-click": "sleep 0.1 && swaync-client -t -sw",
|
||||
"on-click-right": "swaync-client -d -sw",
|
||||
"escape": true,
|
||||
},
|
||||
// NOTE:! This is only for Arch and Arch Based Distros depend: pacman-contrib
|
||||
"custom/updater": {
|
||||
"format": " {}",
|
||||
"exec": "checkupdates | wc -l",
|
||||
"exec-if": "[[ $(checkupdates | wc -l) ]]",
|
||||
"interval": 15,
|
||||
"on-click": "if command -v paru &> /dev/null; then kitty -T update paru -Syu; else kitty -T update yay -Syu; fi && notify-send 'The system has been updated'",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Left Click: Update System\nArch Linux Only",
|
||||
},
|
||||
|
||||
// Separators
|
||||
"custom/separator#dot": {
|
||||
"format": "",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/separator#dot-line": {
|
||||
"format": "",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/separator#line": {
|
||||
"format": "|",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/separator#blank": {
|
||||
"format": "",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/separator#blank_2": {
|
||||
"format": " ",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/separator#blank_3": {
|
||||
"format": " ",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
// Modules below are for vertical layout
|
||||
"backlight#vertical": {
|
||||
"interval": 2,
|
||||
"align": 0.35,
|
||||
"rotate": 1,
|
||||
"format": "{icon}",
|
||||
//"format-icons": ["", "", ""],
|
||||
"format-icons": [
|
||||
"", "", "", "", "", "", "", "", "", "", "", "", "", "", ""
|
||||
],
|
||||
"on-click": "",
|
||||
"on-click-middle": "",
|
||||
"on-click-right": "",
|
||||
"on-update": "",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Brightness.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Brightness.sh --dec",
|
||||
"smooth-scrolling-threshold": 1,
|
||||
"tooltip-format": "{percent}%",
|
||||
},
|
||||
"clock#vertical": {
|
||||
"format": "\n{:%H\n%M\n%S\n\n \n%d\n%m\n%y}",
|
||||
"interval": 1,
|
||||
//"format": "\n{:%I\n%M\n%p\n\n \n%d\n%m\n%y}",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{calendar}",
|
||||
"calendar": {
|
||||
"mode": "year",
|
||||
"mode-mon-col": 3,
|
||||
"format": {
|
||||
"today": "<span color='#0dbc79'>{}</span>",
|
||||
}
|
||||
}
|
||||
},
|
||||
"cpu#vertical": {
|
||||
"format": "\n{usage}%",
|
||||
"interval": 1,
|
||||
"on-click-right": "gnome-system-monitor",
|
||||
},
|
||||
"memory#vertical": {
|
||||
"interval": 10,
|
||||
"format": "\n{percentage}%",
|
||||
"format-alt": "\n{used:0.1f}G",
|
||||
"format-alt-click": "click",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{used:0.1f}GB/{total:0.1f}G",
|
||||
"on-click-right": "kitty --title btop sh -c 'btop'",
|
||||
},
|
||||
"pulseaudio#vertical": {
|
||||
"format": "{icon}",
|
||||
"format-bluetooth": "",
|
||||
"format-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": [
|
||||
"", "", "", ""
|
||||
],
|
||||
"tooltip-format": "{icon} {desc} | {volume}%",
|
||||
"ignored-sinks": [
|
||||
"Easy Effects Sink"
|
||||
],
|
||||
},
|
||||
"scroll-step": 5.0,
|
||||
"on-click": "$HOME/.config/hypr/scripts/Volume.sh --toggle",
|
||||
"on-click-right": "pavucontrol -t 3",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --dec",
|
||||
"tooltip-format": "{icon} {desc} | {volume}%",
|
||||
"smooth-scrolling-threshold": 1,
|
||||
},
|
||||
"pulseaudio#microphone_vertical": {
|
||||
"format": "{format_source}",
|
||||
"format-source": "",
|
||||
"format-source-muted": "",
|
||||
"on-click-right": "pavucontrol",
|
||||
"on-click": "$HOME/.config/hypr/scripts/Volume.sh --toggle-mic",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --mic-inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --mic-dec",
|
||||
"max-volume": 100,
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{source_desc} | {source_volume}%",
|
||||
},
|
||||
"custom/power_vertical": {
|
||||
"format": "⏻",
|
||||
"exec": "echo ; echo power // blur",
|
||||
"on-click": "$HOME/.config/hypr/scripts/Wlogout.sh",
|
||||
"on-click-right": "$HOME/.config/hypr/scripts/ChangeBlur.sh",
|
||||
"interval": 86400, // once every day
|
||||
"tooltip": true,
|
||||
},
|
||||
}
|
||||
696
hyprland/.config/waybar/Modules.3
Normal file
|
|
@ -0,0 +1,696 @@
|
|||
//* ---- 💫 https://github.com/JaKooLit 💫 ---- *//
|
||||
/* Waybar Modules */
|
||||
|
||||
{
|
||||
/* NOTE: hyprland-workspaces on a separate file */
|
||||
// Weather and Temperature Modules as this is most like to change always.
|
||||
// Result is of course easier to edit
|
||||
"custom/weather": {
|
||||
"format": "{}",
|
||||
"format-alt": "{alt}: {}",
|
||||
"format-alt-click": "click",
|
||||
"interval": 3600,
|
||||
"return-type": "json",
|
||||
"exec": "$HOME/.config/hypr/UserScripts/Weather.sh",
|
||||
//"exec": "$HOME/.config/hypr/UserScripts/Weather.py",
|
||||
"exec-if": "ping wttr.in -c1",
|
||||
"tooltip": true,
|
||||
},
|
||||
"temperature": {
|
||||
"interval": 10,
|
||||
"tooltip": true,
|
||||
"hwmon-path": [
|
||||
"/sys/class/hwmon/hwmon1/temp1_input",
|
||||
"/sys/class/thermal/thermal_zone0/temp"
|
||||
],
|
||||
//"thermal-zone": 0,
|
||||
"critical-threshold": 82,
|
||||
"format-critical": "{temperatureC}°C {icon}",
|
||||
"format": "{temperatureC}°C {icon}",
|
||||
"format-icons": [
|
||||
""
|
||||
],
|
||||
"on-click-right": "kitty --title nvtop sh -c 'nvtop'"
|
||||
},
|
||||
"temperature#vertical": {
|
||||
"interval": 10,
|
||||
"tooltip": true,
|
||||
"hwmon-path": [
|
||||
"/sys/class/hwmon/hwmon1/temp1_input",
|
||||
"/sys/class/thermal/thermal_zone0/temp"
|
||||
],
|
||||
//"thermal-zone": 0,
|
||||
"critical-threshold": 80,
|
||||
"format-critical": "{icon}\n{temperatureC}°C",
|
||||
"format": " {icon}",
|
||||
"format-icons": [
|
||||
""
|
||||
],
|
||||
"on-click-right": "kitty --title nvtop sh -c 'nvtop'"
|
||||
},
|
||||
|
||||
|
||||
// GROUP
|
||||
"group/motherboard": {
|
||||
"orientation": "horizontal",
|
||||
"modules": [
|
||||
"cpu",
|
||||
"memory",
|
||||
"temperature",
|
||||
"disk",
|
||||
]
|
||||
},
|
||||
"group/mobo_drawer": {
|
||||
"orientation": "inherit",
|
||||
"drawer": {
|
||||
"transition-duration": 500,
|
||||
"children-class": "cpu",
|
||||
"transition-left-to-right": true
|
||||
},
|
||||
"modules": [
|
||||
"temperature",
|
||||
"cpu",
|
||||
"memory",
|
||||
"disk",
|
||||
]
|
||||
},
|
||||
"group/laptop": {
|
||||
"orientation": "inherit",
|
||||
"modules": [
|
||||
"backlight",
|
||||
"battery",
|
||||
]
|
||||
},
|
||||
"group/audio": {
|
||||
"orientation": "inherit",
|
||||
"drawer": {
|
||||
"transition-duration": 500,
|
||||
"children-class": "pulseaudio",
|
||||
"transition-left-to-right": true
|
||||
},
|
||||
"modules": [
|
||||
"pulseaudio",
|
||||
"pulseaudio#microphone",
|
||||
]
|
||||
},
|
||||
"group/connections": {
|
||||
"orientation": "inherit",
|
||||
"drawer": {
|
||||
"transition-duration": 500,
|
||||
"children-class": "bluetooth",
|
||||
"transition-left-to-right": true
|
||||
},
|
||||
"modules": [
|
||||
"network",
|
||||
"bluetooth",
|
||||
]
|
||||
},
|
||||
"backlight": {
|
||||
"interval": 2,
|
||||
"align": 0,
|
||||
"rotate": 0,
|
||||
//"format": "{icon} {percent}%",
|
||||
"format-icons": [
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" "
|
||||
],
|
||||
"format": "{icon}",
|
||||
//"format-icons": ["","","","","","","","","","","","","","",""],
|
||||
"tooltip-format": "backlight {percent}%",
|
||||
"icon-size": 10,
|
||||
"on-click": "",
|
||||
"on-click-middle": "",
|
||||
"on-click-right": "",
|
||||
"on-update": "",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Brightness.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Brightness.sh --dec",
|
||||
"smooth-scrolling-threshold": 1,
|
||||
},
|
||||
"backlight#2": {
|
||||
"device": "intel_backlight",
|
||||
"format": "{icon} {percent}%",
|
||||
"format-icons": ["", ""]
|
||||
},
|
||||
"battery": {
|
||||
//"interval": 5,
|
||||
"align": 0,
|
||||
"rotate": 0,
|
||||
//"bat": "BAT1",
|
||||
//"adapter": "ACAD",
|
||||
"full-at": 100,
|
||||
"design-capacity": false,
|
||||
"states": {
|
||||
"good": 95,
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format": "{icon} {capacity}%",
|
||||
"format-charging": " {capacity}%",
|
||||
"format-plugged": " {capacity}%",
|
||||
"format-alt-click": "click",
|
||||
"format-full": "{icon} Full",
|
||||
"format-alt": "{icon} {time}",
|
||||
"format-icons": [
|
||||
"", "", "", "", "", "", "", "", "", "", ""
|
||||
],
|
||||
"format-time": "{H}h {M}min",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{timeTo} {power}w",
|
||||
"on-click-middle": "$HOME/.config/hypr/scripts/ChangeBlur.sh",
|
||||
"on-click-right": "$HOME/.config/hypr/scripts/Wlogout.sh",
|
||||
},
|
||||
"bluetooth": {
|
||||
"format": "",
|
||||
"format-disabled": "",
|
||||
"format-connected": " {num_connections}",
|
||||
"tooltip-format": " {device_alias}",
|
||||
"tooltip-format-connected": "{device_enumerate}",
|
||||
"tooltip-format-enumerate-connected": " {device_alias} {device_battery_percentage}%",
|
||||
"tooltip": true,
|
||||
"on-click": "blueman-manager",
|
||||
},
|
||||
"clock": {
|
||||
"interval": 1,
|
||||
//"format": " {:%I:%M %p}", // AM PM format
|
||||
"format": " {:%H:%M:%S}", // 24H
|
||||
"format-alt": " {:%H:%M %Y, %d %B, %A}",
|
||||
"tooltip-format": "<tt><small>{calendar}</small></tt>",
|
||||
"calendar": {
|
||||
"mode": "year",
|
||||
"mode-mon-col": 3,
|
||||
"weeks-pos": "right",
|
||||
"on-scroll": 1,
|
||||
"format": {
|
||||
"months": "<span color='#ffead3'><b>{}</b></span>",
|
||||
"days": "<span color='#ecc6d9'><b>{}</b></span>",
|
||||
"weeks": "<span color='#99ffdd'><b>W{}</b></span>",
|
||||
"weekdays": "<span color='#ffcc66'><b>{}</b></span>",
|
||||
"today": "<span color='#ff6699'><b><u>{}</u></b></span>"
|
||||
}
|
||||
}
|
||||
},
|
||||
"actions": {
|
||||
"on-click-right": "mode",
|
||||
"on-click-forward": "tz_up",
|
||||
"on-click-backward": "tz_down",
|
||||
"on-scroll-up": "shift_up",
|
||||
"on-scroll-down": "shift_down"
|
||||
},
|
||||
"clock#2": {
|
||||
//"format": " {:%I:%M %p}", // AM PM format
|
||||
"format": " {:%H:%M}", // 24H
|
||||
"format-alt": "{:%A | %H:%M | %e %B}",
|
||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>"
|
||||
},
|
||||
"clock#3": {
|
||||
//"format": "{:%I:%M %p - %d/%b}", //for AM/PM
|
||||
"format": "{:%H:%M - %d/%b}", // 24H
|
||||
"tooltip": false
|
||||
},
|
||||
"clock#4": {
|
||||
"interval": 60,
|
||||
//"format": "{:%B | %a %d, %Y | %I:%M %p}", // AM PM format
|
||||
"format": "{:%B | %a %d, %Y | %H:%M}", // 24H
|
||||
"format-alt": "{:%a %b %d, %G}",
|
||||
"tooltip-format": "<big>{:%B %Y}</big>\n<tt><small>{calendar}</small></tt>",
|
||||
},
|
||||
"clock#5": {
|
||||
//"format": "{:%A, %I:%M %P}", // AM PM format
|
||||
"format": "{:%a %d | %H:%M}", // 24H
|
||||
"format-alt": "{:%A, %d %B, %Y (%R)}"
|
||||
},
|
||||
"cpu": {
|
||||
"format": "{usage}% ",
|
||||
"interval": 1,
|
||||
"min-length": 5,
|
||||
"format-alt-click": "click",
|
||||
"format-alt": "{icon0}{icon1}{icon2}{icon3} {usage:>2}% ",
|
||||
"format-icons": [
|
||||
"▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"
|
||||
],
|
||||
"on-click-right": "gnome-system-monitor",
|
||||
},
|
||||
"disk": {
|
||||
"interval": 30,
|
||||
//"format": "",
|
||||
"path": "/",
|
||||
//"format-alt-click": "click",
|
||||
"format": "{percentage_used}% ",
|
||||
//"tooltip": true,
|
||||
"tooltip-format": "{used} used out of {total} on {path} ({percentage_used}%)",
|
||||
},
|
||||
"hyprland/language": {
|
||||
"format": "Lang: {}",
|
||||
"format-en": "US",
|
||||
"format-tr": "Korea",
|
||||
"keyboard-name": "at-translated-set-2-keyboard",
|
||||
"on-click": "hyprctl switchxkblayout $SET_KB next"
|
||||
},
|
||||
"hyprland/submap": {
|
||||
"format": "<span style=\"italic\"> {}</span>", // Icon: expand-arrows-alt
|
||||
"tooltip": false,
|
||||
},
|
||||
"hyprland/window": {
|
||||
"format": "{}",
|
||||
"max-length": 20,
|
||||
"separate-outputs": true,
|
||||
"offscreen-css": true,
|
||||
"offscreen-css-text": "(inactive)",
|
||||
"rewrite": {
|
||||
"(.*) — Mozilla Firefox": " $1",
|
||||
"(.*) - fish": "> [$1]",
|
||||
"(.*) - zsh": "> [$1]",
|
||||
"(.*) - $term": "> [$1]",
|
||||
},
|
||||
},
|
||||
"idle_inhibitor": {
|
||||
"tooltip": true,
|
||||
"tooltip-format-activated": "Idle_inhibitor active",
|
||||
"tooltip-format-deactivated": "Idle_inhibitor not active",
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"activated": " ",
|
||||
"deactivated": " ",
|
||||
}
|
||||
},
|
||||
"keyboard-state": {
|
||||
//"numlock": true,
|
||||
"capslock": true,
|
||||
"format": {
|
||||
"numlock": "N {icon}",
|
||||
"capslock": " {icon}",
|
||||
},
|
||||
"format-icons": {
|
||||
"locked": "",
|
||||
"unlocked": ""
|
||||
},
|
||||
},
|
||||
"memory": {
|
||||
"interval": 10,
|
||||
"format": "{used:0.1f}G ",
|
||||
"format-alt": "{percentage}% ",
|
||||
"format-alt-click": "click",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{used:0.1f}GB/{total:0.1f}G",
|
||||
"on-click-right": "kitty --title btop sh -c 'btop'"
|
||||
},
|
||||
"mpris": {
|
||||
"interval": 10,
|
||||
"format": "{player_icon} ",
|
||||
"format-paused": "{status_icon} <i>{dynamic}</i>",
|
||||
"on-click-middle": "playerctl play-pause",
|
||||
"on-click": "playerctl previous",
|
||||
"on-click-right": "playerctl next",
|
||||
"scroll-step": 5.0,
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --dec",
|
||||
"smooth-scrolling-threshold": 1,
|
||||
"player-icons": {
|
||||
"chromium": "",
|
||||
"default": "",
|
||||
"firefox": "",
|
||||
"kdeconnect": "",
|
||||
"mopidy": "",
|
||||
"mpv": "",
|
||||
"spotify": "",
|
||||
"vlc": "",
|
||||
},
|
||||
"status-icons": {
|
||||
"paused": "",
|
||||
"playing": "",
|
||||
"stopped": "",
|
||||
},
|
||||
// "ignored-players": ["firefox"]
|
||||
"max-length": 30,
|
||||
},
|
||||
"network": {
|
||||
"format": "{ifname}",
|
||||
"format-wifi": "{icon}",
|
||||
"format-ethernet": "",
|
||||
"format-disconnected": "",
|
||||
"tooltip-format": "{ipaddr} {bandwidthUpBits} {bandwidthDownBits}",
|
||||
"format-linked": " {ifname} (No IP)",
|
||||
"tooltip-format-wifi": "{essid} {icon} {signalStrength}%",
|
||||
"tooltip-format-ethernet": "{ifname} ",
|
||||
"tooltip-format-disconnected": " Disconnected",
|
||||
"max-length": 30,
|
||||
"format-icons": [
|
||||
"", "", "", "", ""
|
||||
],
|
||||
"on-click-right": "kitty nmtui"
|
||||
},
|
||||
"network#speed": {
|
||||
"interval": 1,
|
||||
"format": "{ifname}",
|
||||
"format-wifi": "{icon} {bandwidthUpBytes} {bandwidthDownBytes}",
|
||||
"format-ethernet": " {bandwidthUpBytes} {bandwidthDownBytes}",
|
||||
"format-disconnected": "",
|
||||
"tooltip-format": "{ipaddr}",
|
||||
"format-linked": " {ifname} (No IP)",
|
||||
"tooltip-format-wifi": "{essid} {icon} {signalStrength}%",
|
||||
"tooltip-format-ethernet": "{ifname} ",
|
||||
"tooltip-format-disconnected": " Disconnected",
|
||||
"min-length": 24,
|
||||
"max-length": 24,
|
||||
"format-icons": [
|
||||
"", "", "", "", ""
|
||||
]
|
||||
},
|
||||
"power-profiles-daemon": {
|
||||
"format": "{icon}",
|
||||
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
|
||||
"tooltip": true,
|
||||
"format-icons": {
|
||||
"default": "",
|
||||
"performance": "",
|
||||
"balanced": "",
|
||||
"power-saver": ""
|
||||
}
|
||||
},
|
||||
"pulseaudio": {
|
||||
"format": "{icon} {volume}%",
|
||||
"format-bluetooth": "{icon} {volume}%",
|
||||
"format-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": [
|
||||
"", "", "", ""
|
||||
],
|
||||
"ignored-sinks": [
|
||||
"Easy Effects Sink"
|
||||
],
|
||||
},
|
||||
"scroll-step": 5.0,
|
||||
"on-click": "$HOME/.config/hypr/scripts/Volume.sh --toggle",
|
||||
"on-click-right": "pavucontrol -t 3",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --dec",
|
||||
"tooltip-format": "{icon} {desc} | {volume}%",
|
||||
"smooth-scrolling-threshold": 1,
|
||||
},
|
||||
"pulseaudio#1": {
|
||||
"format": "{icon} {volume}%",
|
||||
"format-bluetooth": "{icon} {volume}%",
|
||||
"format-bluetooth-muted": " {icon}",
|
||||
"format-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": ["", "", ""]
|
||||
},
|
||||
"on-click": "pamixer --toggle-mute",
|
||||
"on-click-right": "pavucontrol -t 3",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{icon} {desc} | {volume}%",
|
||||
},
|
||||
"pulseaudio#microphone": {
|
||||
"format": "{format_source}",
|
||||
"format-source": " {volume}%",
|
||||
"format-source-muted": "",
|
||||
"on-click": "$HOME/.config/hypr/scripts/Volume.sh --toggle-mic",
|
||||
"on-click-right": "pavucontrol -t 4",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --mic-inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --mic-dec",
|
||||
"tooltip-format": "{source_desc} | {source_volume}%",
|
||||
"scroll-step": 5,
|
||||
},
|
||||
"tray": {
|
||||
"icon-size": 20,
|
||||
"spacing": 4,
|
||||
},
|
||||
"wireplumber": {
|
||||
"format": "{icon} {volume} %",
|
||||
"format-muted": " Mute",
|
||||
"on-click": "$HOME/.config/hypr/scripts/Volume.sh --toggle",
|
||||
"on-click-right": "pavucontrol -t 3",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --dec",
|
||||
"format-icons": [
|
||||
"", "", "", ""
|
||||
],
|
||||
},
|
||||
"wlr/taskbar": {
|
||||
"format": "{icon} {name}",
|
||||
"icon-size": 16,
|
||||
"all-outputs": false,
|
||||
"tooltip-format": "{title}",
|
||||
"on-click": "activate",
|
||||
"on-click-middle": "close",
|
||||
"ignore-list": [
|
||||
"wofi",
|
||||
"rofi",
|
||||
"kitty",
|
||||
"kitty-dropterm"
|
||||
],
|
||||
},
|
||||
"custom/cycle_wall": {
|
||||
"format": " ",
|
||||
"on-click": "$HOME/.config/hypr/UserScripts/WallpaperSelect.sh",
|
||||
"on-click-right": "$HOME/.config/hypr/UserScripts/WallpaperRandom.sh",
|
||||
"on-click-middle": "$HOME/.config/hypr/scripts/WaybarStyles.sh",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Left Click: Wallpaper Menu\nMiddle Click: Random wallpaper\nRight Click: Waybar Styles Menu",
|
||||
},
|
||||
"custom/hint": {
|
||||
"format": " HINT!",
|
||||
"on-click": "$HOME/.config/hypr/scripts/KeyHints.sh",
|
||||
"tooltip": true,
|
||||
"tooltip-format": " Quick Tips",
|
||||
},
|
||||
// Hypridle inhibitor
|
||||
"custom/hypridle": {
|
||||
"format": " ",
|
||||
"return-type": "json",
|
||||
"escape": true,
|
||||
"exec-on-event": true,
|
||||
"interval": 60,
|
||||
"exec": "$HOME/.config/hypr/scripts/Hypridle.sh status",
|
||||
"on-click": "$HOME/.config/hypr/scripts/Hypridle.sh toggle",
|
||||
"on-click-right": "hyprlock"
|
||||
},
|
||||
"custom/keyboard": {
|
||||
"exec": "cat $HOME/.cache/kb_layout",
|
||||
"interval": 1,
|
||||
"format": " {}",
|
||||
"on-click": "$HOME/.config/hypr/scripts/SwitchKeyboardLayout.sh",
|
||||
},
|
||||
"custom/light_dark": {
|
||||
"format": "",
|
||||
"on-click": "$HOME/.config/hypr/scripts/DarkLight.sh",
|
||||
"on-click-right": "$HOME/.config/hypr/scripts/WaybarStyles.sh",
|
||||
"on-click-middle": "$HOME/.config/hypr/UserScripts/WallpaperSelect.sh",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Left Click: Switch Dark-Light Themes\nMiddle Click: Wallpaper Menu\nRight Click: Waybar Styles Menu",
|
||||
},
|
||||
"custom/lock": {
|
||||
"format": "",
|
||||
"on-click": "$HOME/.config/hypr/scripts/LockScreen.sh",
|
||||
"tooltip": true,
|
||||
"tooltip-format": " Screen Lock",
|
||||
|
||||
},
|
||||
"custom/menu": {
|
||||
"format": "",
|
||||
"on-click": "pkill rofi || rofi -show drun -modi run,drun,filebrowser,window",
|
||||
"on-click-middle": "$HOME/.config/hypr/UserScripts/WallpaperSelect.sh",
|
||||
"on-click-right": "$HOME/.config/hypr/scripts/WaybarLayout.sh",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Left Click: Rofi Menu\nMiddle Click: Wallpaper Menu\nRight Click: Waybar Layout Menu",
|
||||
},
|
||||
// This is a custom cava visualizer
|
||||
"custom/cava_mviz": {
|
||||
"exec": "$HOME/.config/hypr/scripts/WaybarCava.sh",
|
||||
"format": "{}"
|
||||
},
|
||||
"custom/playerctl": {
|
||||
"format": "<span>{}</span>",
|
||||
"return-type": "json",
|
||||
"max-length": 35,
|
||||
"exec": "playerctl -a metadata --format '{\"text\": \"{{artist}} $HOME {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F",
|
||||
"on-click-middle": "playerctl play-pause",
|
||||
"on-click": "playerctl previous",
|
||||
"on-click-right": "playerctl next",
|
||||
"scroll-step": 5.0,
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --dec",
|
||||
"smooth-scrolling-threshold": 1,
|
||||
},
|
||||
"custom/power": {
|
||||
"format": "⏻ ",
|
||||
"on-click": "$HOME/.config/hypr/scripts/Wlogout.sh",
|
||||
"on-click-right": "$HOME/.config/hypr/scripts/ChangeBlur.sh",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Left Click: Logout Menu\nRight Click: Change Blur",
|
||||
},
|
||||
"custom/swaync": {
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Left Click: Launch Notification Center\nRight Click: Do not Disturb",
|
||||
"format": "{} {icon}",
|
||||
"format-icons": {
|
||||
"notification": "<span foreground='red'><sup></sup></span>",
|
||||
"none": "",
|
||||
"dnd-notification": "<span foreground='red'><sup></sup></span>",
|
||||
"dnd-none": "",
|
||||
"inhibited-notification": "<span foreground='red'><sup></sup></span>",
|
||||
"inhibited-none": "",
|
||||
"dnd-inhibited-notification": "<span foreground='red'><sup></sup></span>",
|
||||
"dnd-inhibited-none": ""
|
||||
},
|
||||
"return-type": "json",
|
||||
"exec-if": "which swaync-client",
|
||||
"exec": "swaync-client -swb",
|
||||
"on-click": "sleep 0.1 && swaync-client -t -sw",
|
||||
"on-click-right": "swaync-client -d -sw",
|
||||
"escape": true,
|
||||
},
|
||||
// NOTE:! This is only for Arch and Arch Based Distros depend: pacman-contrib
|
||||
"custom/updater": {
|
||||
"format": " {}",
|
||||
"exec": "checkupdates | wc -l",
|
||||
"exec-if": "[[ $(checkupdates | wc -l) ]]",
|
||||
"interval": 15,
|
||||
"on-click": "if command -v paru &> /dev/null; then kitty -T update paru -Syu; else kitty -T update yay -Syu; fi && notify-send 'The system has been updated'",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Left Click: Update System\nArch Linux Only",
|
||||
},
|
||||
|
||||
// Separators
|
||||
"custom/separator#dot": {
|
||||
"format": "",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/separator#dot-line": {
|
||||
"format": "",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/separator#line": {
|
||||
"format": "|",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/separator#blank": {
|
||||
"format": "",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/separator#blank_2": {
|
||||
"format": " ",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/separator#blank_3": {
|
||||
"format": " ",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
// Modules below are for vertical layout
|
||||
"backlight#vertical": {
|
||||
"interval": 2,
|
||||
"align": 0.35,
|
||||
"rotate": 1,
|
||||
"format": "{icon}",
|
||||
//"format-icons": ["", "", ""],
|
||||
"format-icons": [
|
||||
"", "", "", "", "", "", "", "", "", "", "", "", "", "", ""
|
||||
],
|
||||
"on-click": "",
|
||||
"on-click-middle": "",
|
||||
"on-click-right": "",
|
||||
"on-update": "",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Brightness.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Brightness.sh --dec",
|
||||
"smooth-scrolling-threshold": 1,
|
||||
"tooltip-format": "{percent}%",
|
||||
},
|
||||
"clock#vertical": {
|
||||
"format": "\n{:%H\n%M\n%S\n\n \n%d\n%m\n%y}",
|
||||
"interval": 1,
|
||||
//"format": "\n{:%I\n%M\n%p\n\n \n%d\n%m\n%y}",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{calendar}",
|
||||
"calendar": {
|
||||
"mode": "year",
|
||||
"mode-mon-col": 3,
|
||||
"format": {
|
||||
"today": "<span color='#0dbc79'>{}</span>",
|
||||
}
|
||||
}
|
||||
},
|
||||
"cpu#vertical": {
|
||||
"format": "\n{usage}%",
|
||||
"interval": 1,
|
||||
"on-click-right": "gnome-system-monitor",
|
||||
},
|
||||
"memory#vertical": {
|
||||
"interval": 10,
|
||||
"format": "\n{percentage}%",
|
||||
"format-alt": "\n{used:0.1f}G",
|
||||
"format-alt-click": "click",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{used:0.1f}GB/{total:0.1f}G",
|
||||
"on-click-right": "kitty --title btop sh -c 'btop'",
|
||||
},
|
||||
"pulseaudio#vertical": {
|
||||
"format": "{icon}",
|
||||
"format-bluetooth": "",
|
||||
"format-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": [
|
||||
"", "", "", ""
|
||||
],
|
||||
"tooltip-format": "{icon} {desc} | {volume}%",
|
||||
"ignored-sinks": [
|
||||
"Easy Effects Sink"
|
||||
],
|
||||
},
|
||||
"scroll-step": 5.0,
|
||||
"on-click": "$HOME/.config/hypr/scripts/Volume.sh --toggle",
|
||||
"on-click-right": "pavucontrol -t 3",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --dec",
|
||||
"tooltip-format": "{icon} {desc} | {volume}%",
|
||||
"smooth-scrolling-threshold": 1,
|
||||
},
|
||||
"pulseaudio#microphone_vertical": {
|
||||
"format": "{format_source}",
|
||||
"format-source": "",
|
||||
"format-source-muted": "",
|
||||
"on-click-right": "pavucontrol",
|
||||
"on-click": "$HOME/.config/hypr/scripts/Volume.sh --toggle-mic",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --mic-inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --mic-dec",
|
||||
"max-volume": 100,
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{source_desc} | {source_volume}%",
|
||||
},
|
||||
"custom/power_vertical": {
|
||||
"format": "⏻",
|
||||
"exec": "echo ; echo power // blur",
|
||||
"on-click": "$HOME/.config/hypr/scripts/Wlogout.sh",
|
||||
"on-click-right": "$HOME/.config/hypr/scripts/ChangeBlur.sh",
|
||||
"interval": 86400, // once every day
|
||||
"tooltip": true,
|
||||
},
|
||||
}
|
||||
186
hyprland/.config/waybar/ModulesWorkspaces
Normal file
|
|
@ -0,0 +1,186 @@
|
|||
//* ---- 💫 https://github.com/JaKooLit 💫 ---- *//
|
||||
/* Waybar Workspaces modules */
|
||||
|
||||
/* Generally, this is a potential expanding of choices for hyprland/workspace */
|
||||
{
|
||||
|
||||
// HYPRLAND WORKSPACES. CHOOSE as desired and place on waybar configs
|
||||
// CIRCLES Style
|
||||
"hyprland/workspaces": {
|
||||
"active-only": false,
|
||||
"all-outputs": true,
|
||||
"format": "{icon}",
|
||||
"show-special": false,
|
||||
"on-click": "activate",
|
||||
"on-scroll-up": "hyprctl dispatch workspace e+1",
|
||||
"on-scroll-down": "hyprctl dispatch workspace e-1",
|
||||
"persistent-workspaces": {
|
||||
"*": 5
|
||||
},
|
||||
"format-icons": {
|
||||
"active": "",
|
||||
"default": "",
|
||||
},
|
||||
},
|
||||
// ROMAN Numerals style
|
||||
"hyprland/workspaces#roman": {
|
||||
"active-only": false,
|
||||
"all-outputs": true,
|
||||
"format": "{icon}",
|
||||
"show-special": false,
|
||||
"on-click": "activate",
|
||||
"on-scroll-up": "hyprctl dispatch workspace e+1",
|
||||
"on-scroll-down": "hyprctl dispatch workspace e-1",
|
||||
"persistent-workspaces": {
|
||||
"*": 5
|
||||
},
|
||||
"format-icons": {
|
||||
"1": "I",
|
||||
"2": "II",
|
||||
"3": "III",
|
||||
"4": "IV",
|
||||
"5": "V",
|
||||
"6": "VI",
|
||||
"7": "VII",
|
||||
"8": "VIII",
|
||||
"9": "IX",
|
||||
"10": "X",
|
||||
},
|
||||
},
|
||||
// PACMAN Style
|
||||
"hyprland/workspaces#pacman": {
|
||||
"active-only": false,
|
||||
"all-outputs": true,
|
||||
"format": "{icon}",
|
||||
"on-click": "activate",
|
||||
"on-scroll-up": "hyprctl dispatch workspace e+1",
|
||||
"on-scroll-down": "hyprctl dispatch workspace e-1",
|
||||
"show-special": false,
|
||||
"persistent-workspaces": {
|
||||
"*": 5
|
||||
},
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"active": "<span font='12'></span>",
|
||||
"empty": "<span font='8'></span>",
|
||||
"default": "",
|
||||
},
|
||||
},
|
||||
// Kanji / Japanese style
|
||||
"hyprland/workspaces#kanji": {
|
||||
"disable-scroll": true,
|
||||
"show-special": false,
|
||||
"all-outputs": true,
|
||||
"format": "{icon}",
|
||||
"persistent-workspaces": {
|
||||
"*": 5
|
||||
},
|
||||
"format-icons": {
|
||||
"1": "一",
|
||||
"2": "二",
|
||||
"3": "三",
|
||||
"4": "四",
|
||||
"5": "五",
|
||||
"6": "六",
|
||||
"7": "七",
|
||||
"8": "八",
|
||||
"9": "九",
|
||||
"10": "十",
|
||||
}
|
||||
},
|
||||
// for Camilla or Spanish
|
||||
"hyprland/workspaces#cam": {
|
||||
"active-only":false,
|
||||
"all-outputs": true,
|
||||
"format": "{icon}",
|
||||
"show-special": false,
|
||||
"on-click": "activate",
|
||||
"on-scroll-up": "hyprctl dispatch workspace e+1",
|
||||
"on-scroll-down": "hyprctl dispatch workspace e-1",
|
||||
"persistent-workspaces": {
|
||||
"*": 5
|
||||
},
|
||||
"format-icons": {
|
||||
"1": "Uno",
|
||||
"2": "Due",
|
||||
"3": "Tre",
|
||||
"4": "Quattro",
|
||||
"5": "Cinque",
|
||||
"6":"Sei",
|
||||
"7":"Sette",
|
||||
"8":"Otto",
|
||||
"9":"Nove",
|
||||
"10":"Dieci"
|
||||
}
|
||||
},
|
||||
|
||||
// NUMBERS and ICONS style
|
||||
"hyprland/workspaces#4": {
|
||||
"format": "{name}",
|
||||
"format": " {name} {icon} ",
|
||||
//"format": " {icon} ",
|
||||
"show-special": false,
|
||||
"on-click": "activate",
|
||||
"on-scroll-up": "hyprctl dispatch workspace e+1",
|
||||
"on-scroll-down": "hyprctl dispatch workspace e-1",
|
||||
"all-outputs": true,
|
||||
"sort-by-number": true,
|
||||
"format-icons": {
|
||||
"1": " ",
|
||||
"2": " ",
|
||||
"3": " ",
|
||||
"4": " ",
|
||||
"5": " ",
|
||||
"6": " ",
|
||||
"7": "",
|
||||
"8": " ",
|
||||
"9": "",
|
||||
"10": "10",
|
||||
"focused": "",
|
||||
"default": "",
|
||||
},
|
||||
},
|
||||
// NUMBERS and ICONS style with window rewrite
|
||||
"hyprland/workspaces#rw": {
|
||||
"disable-scroll": true,
|
||||
"all-outputs": true,
|
||||
"warp-on-scroll": false,
|
||||
"sort-by-number": true,
|
||||
"show-special": false,
|
||||
"on-click": "activate",
|
||||
"on-scroll-up": "hyprctl dispatch workspace e+1",
|
||||
"on-scroll-down": "hyprctl dispatch workspace e-1",
|
||||
"format": "{icon} {windows}",
|
||||
"format-window-separator": " ",
|
||||
"window-rewrite-default": " ",
|
||||
"window-rewrite": {
|
||||
"title<.*youtube.*>": " ",
|
||||
"title<.*amazon.*>": " ",
|
||||
"title<.*reddit.*>": " ",
|
||||
"title<.*Picture-in-Picture.*>": " ",
|
||||
"class<[Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr>": " ",
|
||||
"class<kitty|konsole>": " ",
|
||||
"class<kitty-dropterm>": " ",
|
||||
"class<Chromium>": " ",
|
||||
"class<org.telegram.desktop|io.github.tdesktop_x64.TDeskto>": " ",
|
||||
"class<[Ss]potify>": " ",
|
||||
"class<VSCode|code-url-handler|code-oss|codium|codium-url-handler|VSCodium>": " ",
|
||||
"class<[Tt]hunar>": " ",
|
||||
"class<[Tt]hunderbird|[Tt]hunderbird-esr>": " ",
|
||||
"class<discord|[Ww]ebcord>": " ",
|
||||
"class<subl>": " ",
|
||||
"class<mpv>": " ",
|
||||
"class<celluloid>": " ",
|
||||
"class<Cider>": " ",
|
||||
"class<virt-manager>": " ",
|
||||
"class<codeblocks>": " ",
|
||||
"class<mousepad>": " ",
|
||||
"class<libreoffice-writer>": " ",
|
||||
"class<libreoffice-startcenter>": " ",
|
||||
"class<com.obsproject.Studio>": " ",
|
||||
"class<polkit-gnome-authentication-agent-1>": " ",
|
||||
"class<nwg-look>": " "
|
||||
}
|
||||
},
|
||||
|
||||
}
|
||||
|
|
@ -1,59 +1,69 @@
|
|||
/* ---- 💫 https://github.com/JaKooLit 💫 ---- */
|
||||
|
||||
// ### DEFAULT - Top ### //
|
||||
{
|
||||
"include": [
|
||||
"$HOME/.config/waybar/Modules",
|
||||
"$HOME/.config/waybar/ModulesWorkspaces",
|
||||
],
|
||||
"layer": "top",
|
||||
//"mode": "dock",
|
||||
"exclusive": true,
|
||||
"passthrough": false,
|
||||
"position": "top",
|
||||
"modules-left": ["hyprland/workspaces"],
|
||||
"modules-center": ["hyprland/window"],
|
||||
"spacing":10,
|
||||
//"modules-right": ["wireplumber", "battery", "clock", "tray"],
|
||||
"modules-right": ["wireplumber", "tray"],
|
||||
"hyprland/workspaces": {
|
||||
"disable-scroll": true,
|
||||
"sort-by-name": true,
|
||||
"format": " {icon} ",
|
||||
"format-icons": {
|
||||
"default": "",
|
||||
"urgent": "",
|
||||
"active": "",
|
||||
},
|
||||
},
|
||||
"tray": {
|
||||
"icon-size": 21,
|
||||
"spacing": 10
|
||||
},
|
||||
"clock": {
|
||||
"timezone": "Canada/Eastern",
|
||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||
"format-alt": " {:%d/%m/%Y}",
|
||||
"format": " {:%H:%M}"
|
||||
},
|
||||
"backlight": {
|
||||
"device": "intel_backlight",
|
||||
"format": "{icon}",
|
||||
"format-icons": ["", "", "", "", "", "", "", "", ""]
|
||||
},
|
||||
"battery": {
|
||||
"states": {
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format": "{icon}",
|
||||
"format-charging": "",
|
||||
"format-plugged": "",
|
||||
"format-alt": "{icon}",
|
||||
"format-icons": ["", "", "", "", "", "", "", "", "", "", "", ""]
|
||||
},
|
||||
"wireplumber": {
|
||||
"format": "{volume}% {icon}",
|
||||
"format-muted": "",
|
||||
"on-click": "qpwgraph",
|
||||
"format-icons": ["", "", ""]
|
||||
},
|
||||
"hyprland/window": {
|
||||
//"format": "👉 {title}",
|
||||
//"rewrite": {
|
||||
// "(.*) — LibreWolf": "🌎 $1",
|
||||
// "(.*) - bash": "> [$1]"
|
||||
//},
|
||||
"separate-outputs": true
|
||||
}
|
||||
"spacing": 3,
|
||||
"fixed-center": true,
|
||||
"ipc": true,
|
||||
"margin-top": 3,
|
||||
"margin-left": 8,
|
||||
"margin-right": 8,
|
||||
|
||||
"modules-left": [
|
||||
"hyprland/workspaces#pacman",
|
||||
"custom/separator#dot-line",
|
||||
"cpu",
|
||||
"custom/separator#dot-line",
|
||||
"temperature",
|
||||
"custom/separator#dot-line",
|
||||
"memory",
|
||||
"custom/separator#dot-line",
|
||||
"custom/weather",
|
||||
"custom/separator#blank_3",
|
||||
"custom/cava_mviz",
|
||||
],
|
||||
|
||||
"modules-center": [
|
||||
"custom/menu",
|
||||
"custom/separator#dot-line",
|
||||
"idle_inhibitor",
|
||||
"custom/separator#dot-line",
|
||||
"clock",
|
||||
"custom/separator#dot-line",
|
||||
"custom/light_dark",
|
||||
"custom/separator#dot-line",
|
||||
"custom/lock",
|
||||
//],
|
||||
"custom/separator#dot-line",
|
||||
"custom/hint",
|
||||
],
|
||||
|
||||
"modules-right": [
|
||||
"network#speed",
|
||||
"custom/separator#dot-line",
|
||||
"custom/swaync",
|
||||
"tray",
|
||||
"mpris",
|
||||
"custom/separator#dot-line",
|
||||
"bluetooth",
|
||||
"custom/separator#dot-line",
|
||||
"pulseaudio",
|
||||
"custom/separator#dot-line",
|
||||
"pulseaudio#microphone",
|
||||
"custom/separator#dot-line",
|
||||
"keyboard-state",
|
||||
"custom/separator#dot-line",
|
||||
"custom/keyboard",
|
||||
"custom/separator#dot-line",
|
||||
"custom/power",
|
||||
],
|
||||
}
|
||||
|
|
|
|||
59
hyprland/.config/waybar/config.old
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
{
|
||||
"layer": "top",
|
||||
"position": "top",
|
||||
"modules-left": ["hyprland/workspaces"],
|
||||
"modules-center": ["hyprland/window"],
|
||||
"spacing":10,
|
||||
//"modules-right": ["wireplumber", "battery", "clock", "tray"],
|
||||
"modules-right": ["wireplumber", "tray"],
|
||||
"hyprland/workspaces": {
|
||||
"disable-scroll": true,
|
||||
"sort-by-name": true,
|
||||
"format": " {icon} ",
|
||||
"format-icons": {
|
||||
"default": "",
|
||||
"urgent": "",
|
||||
"active": "",
|
||||
},
|
||||
},
|
||||
"tray": {
|
||||
"icon-size": 21,
|
||||
"spacing": 10
|
||||
},
|
||||
"clock": {
|
||||
"timezone": "Canada/Eastern",
|
||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||
"format-alt": " {:%d/%m/%Y}",
|
||||
"format": " {:%H:%M}"
|
||||
},
|
||||
"backlight": {
|
||||
"device": "intel_backlight",
|
||||
"format": "{icon}",
|
||||
"format-icons": ["", "", "", "", "", "", "", "", ""]
|
||||
},
|
||||
"battery": {
|
||||
"states": {
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format": "{icon}",
|
||||
"format-charging": "",
|
||||
"format-plugged": "",
|
||||
"format-alt": "{icon}",
|
||||
"format-icons": ["", "", "", "", "", "", "", "", "", "", "", ""]
|
||||
},
|
||||
"wireplumber": {
|
||||
"format": "{volume}% {icon}",
|
||||
"format-muted": "",
|
||||
"on-click": "qpwgraph",
|
||||
"format-icons": ["", "", ""]
|
||||
},
|
||||
"hyprland/window": {
|
||||
//"format": "👉 {title}",
|
||||
//"rewrite": {
|
||||
// "(.*) — LibreWolf": "🌎 $1",
|
||||
// "(.*) - bash": "> [$1]"
|
||||
//},
|
||||
"separate-outputs": true
|
||||
}
|
||||
}
|
||||
23
hyprland/.config/waybar/wallust/colors-waybar.css
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
/* ---- 💫 https://github.com/JaKooLit 💫 ---- */
|
||||
/* wallust template - colors-waybar */
|
||||
|
||||
@define-color foreground #D3E2F1;
|
||||
@define-color background rgba(31,31,34,0.25);
|
||||
@define-color cursor #D3E2F1;
|
||||
|
||||
@define-color color0 #464549;
|
||||
@define-color color1 #171623;
|
||||
@define-color color2 #1B1D2A;
|
||||
@define-color color3 #37455A;
|
||||
@define-color color4 #40546A;
|
||||
@define-color color5 #4E6781;
|
||||
@define-color color6 #6082A0;
|
||||
@define-color color7 #B7CDE2;
|
||||
@define-color color8 #80909E;
|
||||
@define-color color9 #1E1E2E;
|
||||
@define-color color10 #242738;
|
||||
@define-color color11 #495D77;
|
||||
@define-color color12 #56708E;
|
||||
@define-color color13 #6889AC;
|
||||
@define-color color14 #80ADD6;
|
||||
@define-color color15 #B7CDE2;
|
||||