first commit uwu

This commit is contained in:
emily 2024-02-05 22:40:28 +01:00
commit fb30bdc985
Signed by: emily
GPG key ID: F6F4C66207FCF995
39 changed files with 2244 additions and 0 deletions

357
hyprland.conf Normal file
View file

@ -0,0 +1,357 @@
# exec once
exec-once=~/.config/hypr/scripts/startup
exec-once = wpaperd &
exec-once = wlsunset -l 51.4 -L 6.9 &
# env vars
env = QT_QPA_PLATFORM,wayland
env = GDK_BACKEND,wayland,x11
env = SDL_VIDEODRIVER,wayland
env = MOZ_ENABLE_WAYLAND,1
# Theme
$gradient_angle = 45deg
$active_border_col_1 = 0xFFB4A1DB
$active_border_col_2 = 0xFFD04E9D
$inactive_border_col_1 = 1e2030
$inactive_border_col_2 = 1e2030
$active_shadow_col = 0x66000000
$inactive_shadow_col = 0x66000000
$group_border_col = 0xFFDB695B
$group_border_active_col = 0xFF4BC66D
general {
border_size = 1
gaps_in = 4
gaps_out = 8
col.active_border = $active_border_col_1 $active_border_col_2 $gradient_angle
col.inactive_border = $inactive_border_col_1 $inactive_border_col_2 $gradient_angle
cursor_inactive_timeout = 30
layout = dwindle
}
decoration {
rounding = 8
active_opacity = 1.0
inactive_opacity = 1.0
fullscreen_opacity = 1.0
blur {
enabled = true
passes = 2
size = 8
xray = false
}
shadow_range = 10
col.shadow = $active_shadow_col
col.shadow_inactive = $inactive_shadow_col
dim_inactive = false
dim_strength = 0.5
}
animations {
enabled = true
bezier = wind, 0.05, 0.9, 0.1, 1.05
bezier = winMov, 0.05, 0.9, 0.1, 1.1
bezier = winIn, 0.1, 1.1, 0.1, 1.1
bezier = winOut, 0.3, -0.3, 0, 1
bezier = liner, 1, 1, 1, 1
animation = windows, 1, 6, wind, slide
animation = windowsIn, 1, 8, winIn, slide
animation = windowsOut, 1, 5, winOut, slide
animation = windowsMove, 1, 6, winMov, slide
animation = border, 1, 1, liner
animation = borderangle, 1, 30, liner, loop
animation = fade, 1, 10, default
animation = workspaces, 1, 8, wind
}
input {
kb_model =
kb_layout = de
kb_variant = neo_qwerty
kb_options = grp:alt_shift_toggle
kb_file =
sensitivity = 0.0
accel_profile = adaptive
scroll_method = 2fg
scroll_button = 0
natural_scroll = false
follow_mouse = 1
float_switch_override_focus = 2
touchpad {
disable_while_typing = true
natural_scroll = true
scroll_factor = 0
clickfinger_behavior = false
tap-to-click = false
drag_lock = true
}
}
device:syna8013:00-06cb:ce69-touchpad {
sensitivity = 0.3
}
device:logitech-m705 {
sensitivity = 0.1
accel_profile = flat
}
device:tpps/2-ibm-trackpoint {
sensitivity = 0.2
scroll_method = on_button_down
accel_profile = flat
}
device:tpps/2-elan-trackpoint {
sensitivity = 0
scroll_method = on_button_down
accel_profile = flat
}
device:tpps/2-elan-trackpoint {
sensitivity = 0
scroll_method = on_button_down
accel_profile = flat
}
# Workspace Gestures
gestures {
workspace_swipe = true
workspace_swipe_fingers = 3
workspace_swipe_distance = 300
workspace_swipe_min_speed_to_force = 15
workspace_swipe_cancel_ratio = 0.3
workspace_swipe_forever = true
}
group {
col.border_inactive = $group_border_col
col.border_active = $group_border_active_col
groupbar {
render_titles = false
}
}
# Miscellaneous
misc {
disable_hyprland_logo = true
vfr = true
vrr = 1
mouse_move_enables_dpms = false
animate_manual_resizes = false
no_direct_scanout = true
}
binds {
pass_mouse_when_bound = false
workspace_back_and_forth = false
}
xwayland {
force_zero_scaling = true
use_nearest_neighbor = false
}
debug {
overlay = false
}
# Output
monitor = eDP-1, 3840x2400@60, 0x0, 1, bitdepth, 10
monitor = eDP-1, addreserved,-8,0,0,0
monitor = desc:ASUSTek COMPUTER INC ASUS VA24E M7LMTF021529, 1920x1080@60, -320x-1080, 1
monitor = desc:ASUSTek COMPUTER INC ASUS VA24E M7LMTF021525, 1920x1080@60, 1600x-1080, 1
monitor=,preferred,auto,1
workspace = 1, monitor:eDP-1, default:true
workspace = 2, monitor:eDP-1
workspace = 3, monitor:eDP-1
workspace = 8, monitor:DP-2
workspace = 9, monitor:DP-3
workspace = 10, monitor:eDP-1
# Layout
dwindle {
force_split = 0
no_gaps_when_only = 0
}
master {
no_gaps_when_only = 0
orientation = right
}
# Window Rules
windowrule = float, foot-float
windowrule = float, yad|nm-connection-editor|pavucontrol
windowrule = float, xfce-polkit|kvantummanager|qt5ct|zenity|waypaper
windowrule = float, feh|com.github.weclaw1.ImageRoll|Gpicview|Gimp|MPlayer
windowrule = float, VirtualBox Manager|qemu|Qemu-system-x86_64|PacketTracer
windowrule = float, title:File Operation Progress|Open Files|Media viewer
windowrule = float, title:Confirm to replace files
windowrule = size 60% 64%, com.github.weclaw1.ImageRoll
windowrule = center, com.github.weclaw1.ImageRoll
windowrule = animation slide down,foot-full
windowrule = animation slide up,Rofi
#layerrule = blur, waybar
# Keybindings
$term = /usr/bin/kitty $HOME/.config/hypr/scripts/term_startup
$volume = ~/.config/hypr/scripts/volume
$screenshot = ~/.config/hypr/scripts/screenshot
$lockscreen = swaylock -f -i ~/.config/hypr/wallpapers/lockscreen.png
$colorpicker = ~/.config/hypr/scripts/colorpicker
$notifycmd = notify-send -h string:x-canonical-private-synchronous:hypr-cfg -u low
$files = dolphin
$browser = MOZ_ENABLE_WAYLAND=1 firefox
$rofi_launcher = rofi -show drun -theme ~/.config/hypr/rofi/launcher.rasi
$rofi_runner = rofi -show run -theme ~/.config/hypr/rofi/runner.rasi
$rofi_powermenu = ~/.config/hypr/scripts/rofi_powermenu
$rofi_screenshot = ~/.config/hypr/scripts/rofi_screenshot
# Terminal
bind = SUPER, Return, exec, $term
# Apps
bind = SUPER, F1, exec, $files
bind = SUPER, F2, exec, $browser
# Rofi
bind = SUPER, D, exec, $rofi_launcher
bind = SUPER, R, exec, $rofi_runner
bind = SUPER, X, exec, $rofi_powermenu
bind = SUPER, A, exec, $rofi_screenshot
# Misc
bind = SUPER, C, exec, $colorpicker
bind = CTRL_ALT, L, exec, $lockscreen
# Scratchpad
bind=SUPER_SHIFT, MINUS, movetoworkspace,special
bind=SUPER, MINUS, togglespecialworkspace,
# Function keys
bind = , XF86MonBrightnessUp, exec, brightnessctl s +10%
bind = , XF86MonBrightnessDown, exec, brightnessctl s 10%-
bind = , XF86AudioRaiseVolume, exec, $volume --inc
bind = , XF86AudioLowerVolume, exec, $volume --dec
bind = , XF86AudioMute, exec, $volume --toggle
bind = , XF86AudioMicMute, exec, $volume --toggle-mic
bind = , XF86AudioNext, exec, playerctl next
bind = , XF86AudioPrev, exec, playerctl previous
bind = , XF86AudioPlay, exec, playerctl play
bind = , XF86AudioStop, exec, playerctl pause
# Screenshots
bind = , Print, exec, $screenshot --now
bind = ALT, Print, exec, $screenshot --in5
bind = SHIFT, Print, exec, $screenshot --in10
bind = CTRL, Print, exec, $screenshot --win
bind = SUPER, Print, exec, $screenshot --area
# Hyprland
bind = SUPER_SHIFT, Q, killactive,
bind = CTRL_ALT, Delete, exit,
bind = SUPER, F, fullscreen, 0
bind = SUPER, F, exec, $notifycmd 'Fullscreen Mode'
bind = SUPER, S, pseudo,
bind = SUPER, S, exec, $notifycmd 'Pseudo Mode'
bind = SUPER_SHIFT, Space, togglefloating,
bind = SUPER_SHIFT, Space, centerwindow,
# windowgroup
bind = SUPER, G, togglegroup
bind = SUPER, G, exec, $notifycmd 'Toggled Group Mode'
bind = SUPER, H, changegroupactive, b
bind = SUPER, L, changegroupactive, f
# Change Focusconfig
bind = SUPER, left, movefocus, l
bind = SUPER, H, movefocus, l
bind = SUPER, right, movefocus, r
bind = SUPER, L, movefocus, r
bind = SUPER, up, movefocus, u
bind = SUPER, K, movefocus, u
bind = SUPER, down, movefocus, d
bind = SUPER, J, movefocus, d
# Move Active
bind = SUPER_SHIFT, left, movewindow, l
bind = SUPER_SHIFT, H, movewindow, l
bind = SUPER_SHIFT, right, movewindow, r
bind = SUPER_SHIFT, L, movewindow, r
bind = SUPER_SHIFT, up, movewindow, u
bind = SUPER_SHIFT, K, movewindow, u
bind = SUPER_SHIFT, down, movewindow, d
bind = SUPER_SHIFT, J, movewindow, d
# Resize Active
binde = SUPER_CTRL, left, resizeactive, -20 0
binde = SUPER_CTRL, H, resizeactive, -20 0
binde = SUPER_CTRL, right, resizeactive, 20 0
binde = SUPER_CTRL, L, resizeactive, 20 0
binde = SUPER_CTRL, up, resizeactive, 0 -20
binde = SUPER_CTRL, K, resizeactive, 0 -20
binde = SUPER_CTRL, down, resizeactive, 0 20
binde = SUPER_CTRL, J, resizeactive, 0 20
# Move Active (Floating Only)
binde = SUPER_ALT, left, moveactive, -80 0
binde = SUPER_ALT, H, moveactive, -80 0
binde = SUPER_ALT, right, moveactive, 80 0
binde = SUPER_ALT, L, moveactive, 80 0
binde = SUPER_ALT, up, moveactive, 0 -80
binde = SUPER_ALT, K, moveactive, 0 -80
binde = SUPER_ALT, down, moveactive, 0 80
binde = SUPER_ALT, J, moveactive, 0 80
# Switch between windows
bind = SUPER,Tab,cyclenext,
bind = SUPER,Tab,bringactivetotop,
# Workspaces
bind = SUPER, 1, workspace, 1
bind = SUPER, 2, workspace, 2
bind = SUPER, 3, workspace, 3
bind = SUPER, 4, workspace, 4
bind = SUPER, 5, workspace, 5
bind = SUPER, 6, workspace, 6
bind = SUPER, 7, workspace, 7
bind = SUPER, 8, workspace, 8
bind = SUPER, 9, workspace, 9
bind = SUPER, 0, workspace, 10
# Send to Workspaces
bind = SUPER_SHIFT, 1, movetoworkspace, 1
bind = SUPER_SHIFT, 2, movetoworkspace, 2
bind = SUPER_SHIFT, 3, movetoworkspace, 3
bind = SUPER_SHIFT, 4, movetoworkspace, 4
bind = SUPER_SHIFT, 5, movetoworkspace, 5
bind = SUPER_SHIFT, 6, movetoworkspace, 6
bind = SUPER_SHIFT, 7, movetoworkspace, 7
bind = SUPER_SHIFT, 8, movetoworkspace, 8
bind = SUPER_SHIFT, 9, movetoworkspace, 9
bind = SUPER_SHIFT, 0, movetoworkspace, 10
# Change Workspace Mode
bind = SUPER_CTRL, F, workspaceopt, allfloat
bind = SUPER_CTRL, F, exec, $notifycmd 'Toggled All Float Mode'
bind = SUPER_CTRL, S, workspaceopt, allpseudo
bind = SUPER_CTRL, S, exec, $notifycmd 'Toggled All Pseudo Mode'
# Misc
bind = SUPER_SHIFT, P, pin,
bind = SUPER_SHIFT, P, exec, $notifycmd 'Toggled Pin'
bind = SUPER_SHIFT, S, swapnext
bind = SUPER_SHIFT, O, toggleopaque
bindl = ,switch:Lid Switch, exec, $lockscreen
# Mouse Buttons
bindm=SUPER, mouse:272, movewindow
bindm=SUPER, mouse:273, resizewindow

56
mako/config Normal file
View file

@ -0,0 +1,56 @@
## Mako configuration file
# GLOBAL CONFIGURATION OPTIONS
max-history=100
sort=-time
# BINDING OPTIONS
on-button-left=dismiss
on-button-middle=none
on-button-right=dismiss-all
on-touch=dismiss
on-notify=exec mpv /usr/share/sounds/freedesktop/stereo/message.oga
# STYLE OPTIONS
# font=JetBrains Mono 10
width=300
height=100
margin=10
padding=15
border-size=2
border-radius=15
icons=1
max-icon-size=48
icon-location=left
markup=1
actions=1
history=1
text-alignment=left
default-timeout=5000
ignore-timeout=0
max-visible=5
layer=overlay
anchor=top-right
background-color=#24273a
text-color=#cad3f5
border-color=#c6a0f6
progress-color=over #B4A1DB
[urgency=low]
border-color=#B4A1DB
default-timeout=2000
[urgency=normal]
border-color=#B4A1DB
default-timeout=5000
[urgency=high]
border-color=#D04E9D
text-color=#D04E9D
default-timeout=0
[category=mpd]
border-color=#E49186
default-timeout=2000
group-by=category

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

BIN
mako/icons/dropper.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

BIN
mako/icons/microphone.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
mako/icons/music.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
mako/icons/palette.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

BIN
mako/icons/picture.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

BIN
mako/icons/timer.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

BIN
mako/icons/volume-high.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

BIN
mako/icons/volume-low.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
mako/icons/volume-mid.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
mako/icons/volume-mute.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

148
rofi/confirm.rasi Normal file
View file

@ -0,0 +1,148 @@
/**
* Copyright (C) 2020-2023 Aditya Shakya <adi1090x@gmail.com>
**/
/*****----- Configuration -----*****/
configuration {
show-icons: false;
}
/*****----- Global Properties -----*****/
@import "shared/colors.rasi"
@import "shared/fonts.rasi"
/*
USE_ICON=YES
*/
/*****----- Main Window -----*****/
window {
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 300px;
x-offset: 0px;
y-offset: 0px;
margin: 0px;
padding: 0px;
border: 2px solid;
border-radius: 15px;
border-color: @border;
cursor: "default";
background-color: @background;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 30px;
background-color: transparent;
children: [ "inputbar", "message", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
padding: 0px;
border: 0px;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
children: [ "textbox-prompt-colon", "prompt"];
}
textbox-prompt-colon {
enabled: true;
expand: false;
str: "";
padding: 10px 14px;
border-radius: 0px;
background-color: var(urgent);
text-color: @background;
}
prompt {
enabled: true;
padding: 10px;
border-radius: 0px;
background-color: var(active);
text-color: @background;
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 10px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: @background-alt;
text-color: @foreground;
}
textbox {
background-color: inherit;
text-color: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 6;
lines: 1;
cycle: true;
scrollbar: false;
layout: vertical;
spacing: 10px;
background-color: transparent;
cursor: "default";
}
/*****----- Elements -----*****/
element {
enabled: true;
padding: 2px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element-text {
font: "feather 20";
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.5;
}
element normal.normal,
element alternate.normal {
background-color: var(background-alt);
text-color: var(foreground);
}
element normal.urgent,
element alternate.urgent,
element selected.active {
background-color: var(urgent);
text-color: var(background);
}
element normal.active,
element alternate.active,
element selected.urgent {
background-color: var(active);
text-color: var(background);
}
element selected.normal {
background-color: var(selected);
text-color: var(background);
}

202
rofi/launcher.rasi Normal file
View file

@ -0,0 +1,202 @@
/**
* Copyright (C) 2020-2023 Aditya Shakya <adi1090x@gmail.com>
**/
/*****----- Configuration -----*****/
configuration {
modi: "drun,run,filebrowser";
show-icons: true;
display-drun: "";
display-run: "";
display-filebrowser: "";
drun-display-format: "{name}";
}
/*****----- Global Properties -----*****/
@import "shared/colors.rasi"
@import "shared/fonts.rasi"
/*****----- Main Window -----*****/
window {
/* properties for window widget */
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 800px;
x-offset: 0px;
y-offset: 0px;
/* properties for all widgets */
enabled: true;
margin: 0px;
padding: 0px;
border: 2px solid;
border-radius: 15px;
border-color: @border;
cursor: "default";
background-color: @background;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 30px;
background-color: transparent;
children: [ "inputbar", "message", "listview", "mode-switcher" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 10px;
border-radius: 0px;
background-color: @background-alt;
text-color: @foreground;
children: [ "textbox-prompt-colon", "entry" ];
}
prompt {
enabled: true;
background-color: inherit;
text-color: inherit;
}
textbox-prompt-colon {
enabled: true;
padding: 0px;
expand: false;
str: "";
background-color: inherit;
text-color: inherit;
}
entry {
enabled: true;
padding: 0px;
background-color: inherit;
text-color: inherit;
cursor: text;
placeholder: "Search...";
placeholder-color: inherit;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 2;
lines: 7;
cycle: true;
dynamic: true;
scrollbar: false;
layout: vertical;
reverse: false;
fixed-height: true;
fixed-columns: true;
spacing: 5px;
background-color: transparent;
text-color: @foreground;
cursor: "default";
}
scrollbar {
handle-width: 5px ;
handle-color: @selected;
border-radius: 10px;
background-color: @background-alt;
}
/*****----- Elements -----*****/
element {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 6px;
border-radius: 0px;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element normal.normal,
element alternate.normal {
background-color: var(background);
text-color: var(foreground);
}
element normal.urgent,
element alternate.urgent,
element selected.active {
background-color: var(urgent);
text-color: var(background);
}
element normal.active,
element alternate.active,
element selected.urgent {
background-color: var(active);
text-color: var(background);
}
element selected.normal {
background-color: var(selected);
text-color: var(background);
}
element-icon {
background-color: transparent;
text-color: inherit;
size: 24px;
cursor: inherit;
}
element-text {
background-color: transparent;
text-color: inherit;
highlight: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Mode Switcher -----*****/
mode-switcher{
enabled: true;
spacing: 10px;
margin: 0px;
padding: 0px 250px;
background-color: transparent;
text-color: @foreground;
}
button {
padding: 10px;
border-radius: 0px;
background-color: @background-alt;
text-color: inherit;
cursor: pointer;
}
button selected {
background-color: var(urgent);
text-color: var(background);
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 10px;
border-radius: 0px;
background-color: @background-alt;
text-color: @foreground;
}
textbox {
background-color: transparent;
text-color: @foreground;
vertical-align: 0.5;
horizontal-align: 0.0;
highlight: none;
placeholder-color: @foreground;
blink: true;
markup: true;
}
error-message {
padding: 30px;
background-color: @background;
text-color: @foreground;
}

141
rofi/powermenu.rasi Normal file
View file

@ -0,0 +1,141 @@
/*****----- Configuration -----*****/
configuration {
show-icons: false;
}
/*****----- Global Properties -----*****/
@import "shared/colors.rasi"
@import "shared/fonts.rasi"
/*****----- Main Window -----*****/
window {
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 510px;
x-offset: 0px;
y-offset: 0px;
margin: 0px;
padding: 0px;
border: 2px solid;
border-radius: 15px;
border-color: @border;
cursor: "default";
background-color: @background;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 30px;
background-color: transparent;
children: [ "inputbar", "message", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
padding: 0px;
border: 0px;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
children: [ "textbox-prompt-colon", "prompt"];
}
textbox-prompt-colon {
enabled: true;
expand: false;
str: "";
padding: 10px 14px;
border-radius: 0px;
background-color: var(urgent);
text-color: @background;
}
prompt {
enabled: true;
padding: 10px;
border-radius: 0px;
background-color: var(active);
text-color: @background;
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 10px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: @background-alt;
text-color: @foreground;
}
textbox {
background-color: inherit;
text-color: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 6;
lines: 1;
cycle: true;
scrollbar: false;
layout: vertical;
spacing: 10px;
background-color: transparent;
cursor: "default";
}
/*****----- Elements -----*****/
element {
enabled: true;
padding: 15px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element-text {
font: "feather 20";
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.5;
}
element normal.normal,
element alternate.normal {
background-color: var(background-alt);
text-color: var(foreground);
}
element normal.urgent,
element alternate.urgent,
element selected.active {
background-color: var(urgent);
text-color: var(background);
}
element normal.active,
element alternate.active,
element selected.urgent {
background-color: var(active);
text-color: var(background);
}
element selected.normal {
background-color: var(selected);
text-color: var(background);
}

202
rofi/runner.rasi Normal file
View file

@ -0,0 +1,202 @@
/**
* Copyright (C) 2020-2023 Aditya Shakya <adi1090x@gmail.com>
**/
/*****----- Configuration -----*****/
configuration {
modi: "run";
show-icons: true;
display-drun: "";
display-run: "";
display-filebrowser: "";
drun-display-format: "{name}";
}
/*****----- Global Properties -----*****/
@import "shared/colors.rasi"
@import "shared/fonts.rasi"
/*****----- Main Window -----*****/
window {
/* properties for window widget */
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 600px;
x-offset: 0px;
y-offset: 0px;
/* properties for all widgets */
enabled: true;
margin: 0px;
padding: 0px;
border: 2px solid;
border-radius: 15px;
border-color: @border;
cursor: "default";
background-color: @background;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 30px;
background-color: transparent;
children: [ "inputbar", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 10px;
border-radius: 0px;
background-color: @background-alt;
text-color: @foreground;
children: [ "textbox-prompt-colon", "entry" ];
}
prompt {
enabled: true;
background-color: inherit;
text-color: inherit;
}
textbox-prompt-colon {
enabled: true;
padding: 0px;
expand: false;
str: "";
background-color: inherit;
text-color: inherit;
}
entry {
enabled: true;
padding: 0px;
background-color: inherit;
text-color: inherit;
cursor: text;
placeholder: "Run...";
placeholder-color: inherit;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 2;
lines: 6;
cycle: true;
dynamic: true;
scrollbar: false;
layout: vertical;
reverse: false;
fixed-height: true;
fixed-columns: true;
spacing: 5px;
background-color: transparent;
text-color: @foreground;
cursor: "default";
}
scrollbar {
handle-width: 5px ;
handle-color: @selected;
border-radius: 10px;
background-color: @background-alt;
}
/*****----- Elements -----*****/
element {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 6px;
border-radius: 0px;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element normal.normal,
element alternate.normal {
background-color: var(background);
text-color: var(foreground);
}
element normal.urgent,
element alternate.urgent,
element selected.active {
background-color: var(urgent);
text-color: var(background);
}
element normal.active,
element alternate.active,
element selected.urgent {
background-color: var(active);
text-color: var(background);
}
element selected.normal {
background-color: var(selected);
text-color: var(background);
}
element-icon {
background-color: transparent;
text-color: inherit;
size: 24px;
cursor: inherit;
}
element-text {
background-color: transparent;
text-color: inherit;
highlight: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Mode Switcher -----*****/
mode-switcher{
enabled: true;
spacing: 10px;
margin: 0px;
padding: 0px 250px;
background-color: transparent;
text-color: @foreground;
}
button {
padding: 10px;
border-radius: 0px;
background-color: @background-alt;
text-color: inherit;
cursor: pointer;
}
button selected {
background-color: var(urgent);
text-color: var(background);
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 10px;
border-radius: 0px;
background-color: @background-alt;
text-color: @foreground;
}
textbox {
background-color: transparent;
text-color: @foreground;
vertical-align: 0.5;
horizontal-align: 0.0;
highlight: none;
placeholder-color: @foreground;
blink: true;
markup: true;
}
error-message {
padding: 30px;
background-color: @background;
text-color: @foreground;
}

148
rofi/screenshot.rasi Normal file
View file

@ -0,0 +1,148 @@
/**
* Copyright (C) 2020-2023 Aditya Shakya <adi1090x@gmail.com>
**/
/*****----- Configuration -----*****/
configuration {
show-icons: false;
}
/*****----- Global Properties -----*****/
@import "shared/colors.rasi"
@import "shared/fonts.rasi"
/*
USE_ICON=YES
*/
/*****----- Main Window -----*****/
window {
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 440px;
x-offset: 0px;
y-offset: 0px;
margin: 0px;
padding: 0px;
border: 2px solid;
border-radius: 15px;
border-color: @border;
cursor: "default";
background-color: @background;
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 30px;
background-color: transparent;
children: [ "inputbar", "message", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
padding: 0px;
border: 0px;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
children: [ "textbox-prompt-colon", "prompt"];
}
textbox-prompt-colon {
enabled: true;
expand: false;
str: "";
padding: 10px 12px;
border-radius: 0px;
background-color: var(urgent);
text-color: @background;
}
prompt {
enabled: true;
padding: 10px;
border-radius: 0px;
background-color: var(active);
text-color: @background;
}
/*****----- Message -----*****/
message {
enabled: true;
margin: 0px;
padding: 10px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: @background-alt;
text-color: @foreground;
}
textbox {
background-color: inherit;
text-color: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 6;
lines: 1;
cycle: true;
scrollbar: false;
layout: vertical;
spacing: 10px;
background-color: transparent;
cursor: "default";
}
/*****----- Elements -----*****/
element {
enabled: true;
padding: 15px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element-text {
font: "feather 20";
background-color: transparent;
text-color: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.5;
}
element normal.normal,
element alternate.normal {
background-color: var(background-alt);
text-color: var(foreground);
}
element normal.urgent,
element alternate.urgent,
element selected.active {
background-color: var(urgent);
text-color: var(background);
}
element normal.active,
element alternate.active,
element selected.urgent {
background-color: var(active);
text-color: var(background);
}
element selected.normal {
background-color: var(selected);
text-color: var(background);
}

13
rofi/shared/colors.rasi Normal file
View file

@ -0,0 +1,13 @@
/* Copyright (C) 2020-2023 Aditya Shakya <adi1090x@gmail.com> */
/* Colors */
* {
background: #24273a;
background-alt: #1e2030;
border: #c6a0f6;
foreground: #cad3f5;
selected: #c6a0f6;
active: #c6a0f6;
urgent: #ed8796;
}

9
rofi/shared/fonts.rasi Normal file
View file

@ -0,0 +1,9 @@
/* Copyright (C) 2020-2023 Aditya Shakya <adi1090x@gmail.com> */
/* Text Font */
/*
{
font: "Iosevka Nerd Font 10";
}
*/

17
scripts/colorpicker Executable file
View file

@ -0,0 +1,17 @@
#!/usr/bin/env bash
color=$(grim -g "`slurp -b 20262C00 -p`" -t ppm - | convert - -format '%[pixel:p{0,0}]' txt:- | tail -n1 | cut -d' ' -f4)
image=/tmp/${color}.png
main() {
if [[ "$color" ]]; then
# copy color code to clipboard
echo $color | tr -d "\n" | wl-copy
# generate preview
convert -size 48x48 xc:"$color" ${image}
# notify about it
notify-send -h string:x-canonical-private-synchronous:sys-notify-picker -u low -i ${image} "$color, copied to clipboard."
fi
}
main

97
scripts/rofi_powermenu Executable file
View file

@ -0,0 +1,97 @@
#!/usr/bin/env bash
# Import Current Theme
DIR="$HOME/.config/hypr"
RASI="$DIR/rofi/powermenu.rasi"
CNFR="$DIR/rofi/confirm.rasi"
# Theme Elements
prompt="`hostname` (`echo $XDG_CURRENT_DESKTOP`)"
mesg="Uptime : `uptime -p | sed -E -e 's/up //g' -e 's/week|weeks/w/g' -e 's/day|days/d/g' -e 's/hour|hours/h/g' -e 's/minute|minutes/m/g'`"
# Options
option_1=""
option_2="☀"
option_3=""
option_4=""
option_5="↺"
option_6=""
yes=''
no=''
# Rofi CMD
rofi_cmd() {
rofi -dmenu \
-p "$prompt" \
-mesg "$mesg" \
-markup-rows \
-theme ${RASI}
}
# Pass variables to rofi dmenu
run_rofi() {
echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5\n$option_6" | rofi_cmd
}
# Confirmation CMD
confirm_cmd() {
rofi -dmenu \
-p 'Confirmation' \
-mesg 'Are you Sure?' \
-theme ${CNFR}
}
# Ask for confirmation
confirm_exit() {
echo -e "$yes\n$no" | confirm_cmd
}
# Confirm and execute
confirm_run () {
selected="$(confirm_exit)"
if [[ "$selected" == "$yes" ]]; then
${1} && ${2} && ${3} && ${4}
else
exit
fi
}
# Execute Command
run_cmd() {
if [[ "$1" == '--opt1' ]]; then
swaylock -f -i ~/.config/hypr/wallpapers/lockscreen.png
elif [[ "$1" == '--opt2' ]]; then
confirm_run 'hyprctl dispatch exit 0'
elif [[ "$1" == '--opt3' ]]; then
confirm_run 'pulsemixer --mute' 'swaylock -f -i ~/.config/hypr/wallpapers/lockscreen.png' 'systemctl suspend' #"$DIR/scripts/lockscreen"
elif [[ "$1" == '--opt4' ]]; then
confirm_run 'systemctl hibernate'
elif [[ "$1" == '--opt5' ]]; then
confirm_run 'systemctl reboot'
elif [[ "$1" == '--opt6' ]]; then
confirm_run 'systemctl poweroff'
fi
}
# Actions
chosen="$(run_rofi)"
case ${chosen} in
$option_1)
run_cmd --opt1
;;
$option_2)
run_cmd --opt2
;;
$option_3)
run_cmd --opt3
;;
$option_4)
run_cmd --opt4
;;
$option_5)
run_cmd --opt5
;;
$option_6)
run_cmd --opt6
;;
esac

136
scripts/rofi_screenshot Executable file
View file

@ -0,0 +1,136 @@
#!/usr/bin/env bash
# Import Current Theme
DIR="$HOME/.config/hypr"
RASI="$DIR/rofi/screenshot.rasi"
# Theme Elements
prompt='Screenshot'
mesg="Directory :: `xdg-user-dir PICTURES`/screenshots"
# Options
layout=`cat ${RASI} | grep 'USE_ICON' | cut -d'=' -f2`
if [[ "$layout" == 'NO' ]]; then
option_1=" Capture Desktop"
option_2=" Capture Area"
option_3=" Capture Window"
option_4=" Capture in 5s"
option_5=" Capture in 10s"
else
option_1=""
option_2=""
option_3=""
option_4="5s"
option_5="10"
fi
# Rofi CMD
rofi_cmd() {
rofi -dmenu \
-p "$prompt" \
-mesg "$mesg" \
-markup-rows \
-theme ${RASI}
}
# Pass variables to rofi dmenu
run_rofi() {
echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5" | rofi_cmd
}
# Screenshot
time=`date +%Y-%m-%d-%H-%M-%S`
dir="`xdg-user-dir PICTURES`/screenshots"
file="${time}_${geometry}.png"
# Directory
if [[ ! -d "$dir" ]]; then
mkdir -p "$dir"
fi
# notify and view screenshot
iDIR="$HOME/.config/hypr/mako/icons"
notify_view() {
notify_cmd_shot="notify-send -h string:x-canonical-private-synchronous:sys-notify-shot -u low -i ${iDIR}/picture.png"
${notify_cmd_shot} "Copied to clipboard."
paplay /usr/share/sounds/freedesktop/stereo/screen-capture.oga &>/dev/null &
viewnior ${dir}/"$file"
if [[ -e "$dir/$file" ]]; then
${notify_cmd_shot} "Screenshot Saved."
else
${notify_cmd_shot} "Screenshot Deleted."
fi
}
# countdown
countdown () {
for sec in `seq $1 -1 1`; do
notify-send -h string:x-canonical-private-synchronous:sys-notify-count -t 1000 -i "$iDIR"/timer.png "Taking shot in : $sec"
sleep 1
done
}
# take shots
shotnow () {
cd ${dir} && sleep 0.5 && grim - | tee "$file" | wl-copy
notify_view
}
shot5 () {
countdown '5'
sleep 1 && cd ${dir} && grim - | tee "$file" | wl-copy
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} && sleep 0.3 && grim -g "$w_pos $w_size" - | tee "$file" | wl-copy
notify_view
}
shotarea () {
cd ${dir} && grim -g "$(slurp -b 20262CCC -c B4A1DBff -s B4A1DB0D -w 2 && sleep 0.3)" - | tee "$file" | wl-copy
notify_view
}
# Execute Command
run_cmd() {
if [[ "$1" == '--opt1' ]]; then
shotnow
elif [[ "$1" == '--opt2' ]]; then
shotarea
elif [[ "$1" == '--opt3' ]]; then
shotwin
elif [[ "$1" == '--opt4' ]]; then
shot5
elif [[ "$1" == '--opt5' ]]; then
shot10
fi
}
# Actions
chosen="$(run_rofi)"
case ${chosen} in
$option_1)
run_cmd --opt1
;;
$option_2)
run_cmd --opt2
;;
$option_3)
run_cmd --opt3
;;
$option_4)
run_cmd --opt4
;;
$option_5)
run_cmd --opt5
;;
esac

78
scripts/screenshot Executable file
View file

@ -0,0 +1,78 @@
#!/usr/bin/env bash
iDIR="$HOME/.config/hypr/mako/icons"
time=`date +%Y-%m-%d-%H-%M-%S`
dir="`xdg-user-dir PICTURES`/screenshots"
file="${time}.png"
# notify and view screenshot
notify_cmd_shot="notify-send -h string:x-canonical-private-synchronous:sys-notify-shot -u low -i ${iDIR}/picture.png"
notify_view () {
${notify_cmd_shot} "Copied to clipboard."
paplay /usr/share/sounds/freedesktop/stereo/screen-capture.oga &>/dev/null &
image-roll "${dir}/$file"
if [[ -e "$dir/$file" ]]; then
${notify_cmd_shot} "Screenshot Saved."
else
${notify_cmd_shot} "Screenshot Deleted."
fi
}
# countdown
countdown () {
for sec in `seq $1 -1 1`; do
notify-send -h string:x-canonical-private-synchronous:sys-notify-count -t 1000 -i "$iDIR"/timer.png "Taking shot in : $sec"
sleep 1
done
}
# take shots
shotnow () {
cd ${dir} && sleep 0.5 && grim - | tee "$file" | wl-copy
notify_view
}
shot5 () {
countdown '5'
sleep 1 && cd ${dir} && grim - | tee "$file" | wl-copy
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 () {
cd ${dir} && grim -g "$(slurp -b 20262CCC -c B4A1DBff -s B4A1DB0D -w 2 && sleep 0.3)" - | tee "$file" | wl-copy
notify_view
}
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
else
echo -e "Available Options : --now --in5 --in10 --win --area"
fi
exit 0

26
scripts/startup Executable file
View file

@ -0,0 +1,26 @@
#!/usr/bin/env bash
MAKO_CONFIG="$HOME/.config/hypr/mako/config"
BAR_CONFIG="$HOME/.config/hypr/waybar/config"
BAR_STYLE="$HOME/.config/hypr/waybar/style.css"
_ps=(waybar mako)
for _prs in "${_ps[@]}"; do
if [[ `pidof ${_prs}` ]]; then
killall -9 ${_prs}config
fi
done
if [[ ! `pidof mako` ]]; then
mako --config ${MAKO_CONFIG} &
fi
if [[ ! `pidof waybar` ]]; then
waybar --bar hyprbar --config ${BAR_CONFIG} --style ${BAR_STYLE} &
fi
hyprctl dispatch "exec [workspace 2 silent] kitty $HOME/.local/bin/term_startup.sh"
sleep 2
hyprctl dispatch "exec [workspace 2 silent] signal-desktop --use-tray-icon --enable-features=UseOzonePlatform --enable-features=WaylandWindowDecorations --ozone-platform=wayland"
sleep 2
hyprctl dispatch "exec [workspace 2 silent] schildichat-desktop --enable-features=UseOzonePlatform --ozone-platform=wayland"

3
scripts/term_startup Executable file
View file

@ -0,0 +1,3 @@
#!/bin/sh
fastfetch
exec zsh

82
scripts/volume Executable file
View file

@ -0,0 +1,82 @@
#!/usr/bin/env bash
## Copyright (C) 2020-2023 Aditya Shakya <adi1090x@gmail.com>
##
## Script To Manage Speaker Volume For Archcraft (in Wayland).
iDIR="$HOME/.config/hypr/mako/icons"
notify_cmd='notify-send -h string:x-canonical-private-synchronous:sys-notify-volume -u low'
# Get Volume
get_volume() {
echo "`pulsemixer --get-volume | cut -d' ' -f1`"
}
# Get icons
get_icon() {
current="$(get_volume)"
if [[ "$current" -eq "0" ]]; then
icon="$iDIR/volume-mute.png"
elif [[ ("$current" -ge "0") && ("$current" -le "30") ]]; then
icon="$iDIR/volume-low.png"
elif [[ ("$current" -ge "30") && ("$current" -le "60") ]]; then
icon="$iDIR/volume-mid.png"
elif [[ ("$current" -ge "60") && ("$current" -le "100") ]]; then
icon="$iDIR/volume-high.png"
fi
}
# Notify
notify_user() {
${notify_cmd} -i "$icon" "Volume : $(get_volume)%"
}
# Increase Volume
inc_volume() {
[[ `pulsemixer --get-mute` == 1 ]] && pulsemixer --unmute
pulsemixer --max-volume 100 --change-volume +5 && get_icon && notify_user
}
# Decrease Volume
dec_volume() {
[[ `pulsemixer --get-mute` == 1 ]] && pulsemixer --unmute
pulsemixer --max-volume 100 --change-volume -5 && get_icon && notify_user
}
# Toggle Mute
toggle_mute() {
if [[ `pulsemixer --get-mute` == 0 ]]; then
pulsemixer --toggle-mute && ${notify_cmd} -i "$iDIR/volume-mute.png" "Mute"
else
pulsemixer --toggle-mute && get_icon && ${notify_cmd} -i "$icon" "Unmute"
fi
}
# Toggle Mic
toggle_mic() {
ID="`pulsemixer --list-sources | grep 'Default' | cut -d',' -f1 | cut -d' ' -f3`"
if [[ `pulsemixer --id $ID --get-mute` == 0 ]]; then
pulsemixer --id ${ID} --toggle-mute && ${notify_cmd} -i "$iDIR/microphone-mute.png" "Microphone Switched OFF"
else
pulsemixer --id ${ID} --toggle-mute && ${notify_cmd} -i "$iDIR/microphone.png" "Microphone Switched ON"
fi
}
# Execute accordingly
if [[ -x `which pulsemixer` ]]; then
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
else
echo $(get_volume)%
fi
else
${notify_cmd} "'pulsemixer' is not installed."
fi

1
wallpapers/lockscreen.png Symbolic link
View file

@ -0,0 +1 @@
sylviaritter/Speedpainting16122023_SylviaRitter_1080px.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 MiB

151
waybar/config Normal file
View file

@ -0,0 +1,151 @@
{
"layer": "top", // Waybar at top layer
"output": "eDP-1",
"position": "top", // Waybar position (top|bottom|left|right)
"height": 5,
"margin": "0 0 0 0",
//"width": 1350, // Waybar width
// Choose the order of the modules idle_inhibitor
"modules-left": ["hyprland/workspaces", "custom/spotify", "tray"],
"modules-center": ["clock"],
"modules-right": ["backlight", "pulseaudio", "temperature", "cpu", "memory", "battery", "network" ],
"hyprland/workspaces": {
"format": "{icon}",
"sort-by-number": true,
"active-only": false,
"format-icons": {
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7",
"8": "8",
"9": "9",
"10": "0",
"urgent": "",
"focused": "",
"default": ""
},
"on-click": "activate",
},
"mpd": {
"tooltip": true,
"tooltip-format": "{artist} - {album} - {title} - Total Time : {totalTime:%M:%S}",
"format": " {elapsedTime:%M:%S}",
"format-disconnected": "⚠ Disconnected",
"format-stopped": " Not Playing",
"on-click": "mpc toggle",
"state-icons": {
"playing": "",
"paused": ""
}
},
"custom/mpd": {
"format": " {title} - {artist}",
"interval": 5,
"exec": "mpc current --format='\"title\":\"%title%\",\"artist\":\"%artist%\"'"
},
"sway/mode": {
"format": "<span style=\"italic\">{}</span>"
},
"sway/window": {
"format": "~ {app_id}",
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
}
},
"tray": {
"icon-size": 18,
"spacing": 8
},
"clock": {
"tooltip-format": "{:%A %d %B | %H:%M}",
"format": " {:%Y-%m-%d  %H:%M:%OS}",
"format-alt": " {:%Y %b %d %a  %H:%M:%OS}",
"interval": 1
},
"cpu": {
"format": " {usage:02}",
"interval": 2,
"on-click": "kitty -e htop"
},
"memory": {
"format": " {used:0.2f}",
"on-click": "kitty -e htop"
},
"temperature": {
"hwmon-path": "/sys/class/hwmon/hwmon1/temp1_input",
"critical-threshold": 80,
"format": " {temperatureC}°C"
},
"backlight": {
"format": "{icon} {percent: >3}%",
"format-icons": ["", ""],
"on-scroll-down": "brightnessctl -c backlight set 1%-",
"on-scroll-up": "brightnessctl -c backlight set +1%"
},
"battery": {
"states": {
"good": 90,
"warning": 30,
"critical": 15
},
"format": "\uf1e6",
"format-discharging": "{icon} {capacity: >3}% {power:0.1f}W",
"format-charging": "\uf1e6 {capacity: >3}% {power:0.1f}W",
"interval": 3,
"format-icons": ["", "", "", "", ""]
//"format-icons": ["", "", "", "", "", "", "", "", "", ""]
},
"network": {
// "interface": "wlp2s0", // (Optional) To force the use of this interface
"format": "⚠ Disabled",
"format-wifi": " {essid}",
// "format-ethernet": " {ifname}: {ipaddr}/{cidr}",
"format-ethernet": " Wired",
"format-disconnected": "⚠ Disconnected",
// "on-click": "alacritty -e nmtui"
"on-click": "nm-connection-editor"
},
"pulseaudio": {
"scroll-step": 1,
"format": "{icon} {volume: >3}%",
"format-bluetooth": "{icon} {volume: >3}%",
"format-muted":" muted",
"format-icons": {
"headphones": "",
"handsfree": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", ""]
},
"on-click": "pavucontrol",
"on-scroll-up": "~/.config/hypr/scripts/volume --inc",
"on-scroll-down": "~/.config/hypr/scripts/volume --dec"
},
"custom/pacman": {
"format": " {}",
"interval": 7200, // every two hours
"exec": "i=$(checkupdates); echo \"$i\" |wc -l; echo \"$i\" |column -t |tr '\n' '\r'", // # of updates and tooltip details
"exec-if": "exit 0", // always run; consider advanced run conditions
"on-click": "kitty -e yay -Syu", // update system
"signal": 8
},
"custom/spotify": {
"interval": 1,
"exec": "~/.config/hypr/waybar/scripts/spotify",
"on-click-middle":"playerctl play-pause",
"on-click-right": "playerctl next",
"on-click": "playerctl previous",
"escape": true
},
}

30
waybar/machiatto.css Normal file
View file

@ -0,0 +1,30 @@
@define-color base #24273a;
@define-color mantle #1e2030;
@define-color crust #181926;
@define-color text #cad3f5;
@define-color subtext0 #a5adcb;
@define-color subtext1 #b8c0e0;
@define-color surface0 #363a4f;
@define-color surface1 #494d64;
@define-color surface2 #5b6078;
@define-color overlay0 #6e738d;
@define-color overlay1 #8087a2;
@define-color overlay2 #939ab7;
@define-color blue #8aadf4;
@define-color lavender #b7bdf8;
@define-color sapphire #7dc4e4;
@define-color sky #91d7e3;
@define-color teal #8bd5ca;
@define-color green #a6da95;
@define-color yellow #eed49f;
@define-color peach #f5a97f;
@define-color maroon #ee99a0;
@define-color red #ed8796;
@define-color mauve #c6a0f6;
@define-color pink #f5bde6;
@define-color flamingo #f0c6c6;
@define-color rosewater #f4dbd6;

5
waybar/scripts/restart.sh Executable file
View file

@ -0,0 +1,5 @@
#!/bin/bash
pkill waybar
~/.config/hypr/scripts/statusbar &
disown

11
waybar/scripts/spotify Executable file
View file

@ -0,0 +1,11 @@
#!/usr/bin/env bash
player_status=$(playerctl status 2> /dev/null)
if [ "$player_status" = "Playing" ]; then
echo -e " $(playerctl metadata --format '{{markup_escape(title)}}')\nPlaying: $(playerctl metadata --format '{{markup_escape(artist)}}') - $(playerctl metadata --format '{{markup_escape(title)}}')\nplaying"
elif [ "$player_status" = "Paused" ]; then
echo -e " $(playerctl metadata --format '{{markup_escape(title)}}')\nPaused: $(playerctl metadata --format '{{markup_escape(artist)}}') - $(playerctl metadata --format '{{markup_escape(title)}}')\npaused"
else
echo -e ""
fi

331
waybar/style.css Normal file
View file

@ -0,0 +1,331 @@
/* Configuration reference: https://github.com/Alexays/Waybar/wiki/Configuration */
@import "machiatto.css";
/*
Polar Night
nord0 #2e3440
nord1 #3b4252
nord2 #434c5e
nord3 #4c566a
Snow Storm
nord4 #d8dee9
nord5 #e5e9f0
nord6 #eceff4
Frost
nord7 #8fbcbb
nord8 #88c0d0
nord9 #81a1c1
nord10 #5e81ac
Aurora
nord11 #bf616a
nord12 #d08770
nord13 #ebcb8b
nord14 #a3be8c
nord15 #b48ead
*/
* {
color: @lavender;
border: 0;
padding: 0 0;
font-family: UbuntuMono;
/* font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; */
font-size: 19px;
font-weight: bold;
transition: all 0.5s ease;
}
window#waybar {
/* border-bottom: 4px solid shade(@base, 1.1); */
/* border-radius: 10px; */
/* background:#2d2a2e; */
/* background-color: rgba(36, 39, 58, 0.60); */
/* background-color: rgba(0, 0, 0, 0); */
/* background-color: shade(#1e1e2e, 0.95); */
/* background-color: rgba(9, 3, 18, 0.70); */
background: none;
}
#workspaces button {
color: @base;
border-radius: 50%;
/* background-color: @base; */
margin: 0px 8px 0px 8px;
padding: 2px 6px 2px 0px;
}
#workspaces button:hover * {
color: @mauve;
}
#workspaces button:hover {
color: @mauve;
/* border-radius: 20px; */
box-shadow: none; /* Remove predefined box-shadow */
text-shadow: none; /* Remove predefined text-shadow */
border: 0px;
background: none;
}
#workspaces * {
color: whitesmoke;
}
#workspaces {
border-style: solid;
background-color: shade(@base, 0.7);
opacity: 1;
border-radius: 10px;
margin: 9px 8px 8px 8px;
}
#workspaces button.active {
color: @mauve;
border-radius: 20px;
/* background-color: @flamingo; */
}
#workspaces button.active * {
color: @mauve;
}
#mode {
color: #ebcb8b;
}
#clock,
#battery,
#cpu,
#memory,
#idle_inhibitor,
#temperature,
#backlight,
#network,
#pulseaudio,
#mode,
#tray,
#custom-pacman,
#custom-spotify,
#mpd {
padding: 6px 8px;
border-style: solid;
background-color: shade(@base, 0.70);
opacity: 1;
margin: 9px 0px 8px 0px;
}
#mpd {
border-radius: 10px;
color: @mauve;
margin-left: 5px;
background-color: rgba(0, 0, 0, 0);
}
#custom-background {
border-radius: 0px 10px 10px 0px;
background-color: @base;
color: white;
padding: 5px 14px 5px 5px;
}
#custom-spotify {
color: @mauve;
border-radius: 10px;
margin: 9px 8px 8px 0px;
}
#clock {
color: @mauve;
border-radius: 10px;
margin: 9px 10px 8px 10px;
}
#backlight {
color: @yellow;
border-radius: 10px 0 0 10px;
}
#battery {
color: @sky;
/* border-bottom: 2px solid #d8dee9; */
border-radius: 0 10px 10px 0;
margin-right: 10px;
}
#battery.charging {
color: #81a1c1;
}
@keyframes blink {
to {
color: @red;
/* border-bottom: 2px solid @red; */
}
}
#battery.critical:not(.charging) {
color: #bf616a;
/* border-bottom: 2px solid #bf616a; */
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#cpu {
color: @sky;
/* border-bottom: 2px solid @sky; */
}
#cpu #cpu-icon {
color: @sky;
}
#memory {
color: @sky;
}
#network.disabled {
color: #bf616a;
/* border-bottom: 2px solid #bf616a; */
}
#network {
color: @green;
/* border-bottom: 2px solid @green; */
border-radius: 10px;
margin-right: 8px;
}
#network.disconnected {
color: #bf616a;
/* border-bottom: 2px solid #bf616a; */
}
#pulseaudio {
color: @flamingo;
border-radius: 0 10px 10px 0;
margin-right: 10px;
/* border-bottom: 2px solid @flamingo; */
}
#pulseaudio.muted {
color: #3b4252;
/* border-bottom: 2px solid #3b4252; */
}
#temperature {
color: @teal;
border-radius: 10px 0 0 10px;
}
#temperature.critical {
color: @red;
/* border-bottom: 2px solid @red; */
}
#custom-pacman {
border-radius: 10px 0 0 10px;
}
#idle_inhibitor {
background-color: #ebcb8b;
color: @base;
}
#tray {
/* background-color: @base; */
border-radius: 10px;
}
#window {
border-style: hidden;
margin-left: 10px;
/* margin-top:1px;
padding: 8px 1rem; */
margin-right: 10px;
color: #eceff4;
}
#mode {
margin-bottom: 4px;
}
/* window#waybar {
background: #2d2a2e;
}
* {
color: #c8b9a9;
font-family: Ubuntu Mono, sans-serif;
font-size: 12px;
}
#workspaces button.focused {
color: #f2e5bc;
}
#workspaces button {
color: #c8b9a9;
}
.separator {
background-color: #c8b9a9;
}
#mode {
color: #ebcb8b;
}
#clock {
color: #a3be8c;
}
#battery {
color: #d8dee9;
}
#battery.charging {
color: #b48ead;
}
#battery.critical:not(.charging) {
color: #bf616a;
}
#cpu {
color: #a3be8c;
}
#memory {
color: #d3869b;
}
#network {
color: #8fbcbb;
}
#network.disabled {
color: #bf616a;
}
#network.disconnected {
color: #bf616a;
}
#pulseaudio {
color: #b48ead;
}
#pulseaudio.muted {
color: #bf616a;
}
#temperature {
color: #8fbcbb;
}
#temperature.critical {
color: #bf616a;
} */