initial, no firefox yet :(
24
.config/fuzzel/fuzzel.ini
Executable file
@@ -0,0 +1,24 @@
|
||||
[main]
|
||||
font=FiraMono Nerd Font:size=11
|
||||
width=40
|
||||
horizontal-pad=5
|
||||
inner-pad=10
|
||||
terminal=alacritty -e
|
||||
icon-theme=BeautyDream
|
||||
prompt="# "
|
||||
|
||||
[colors]
|
||||
background=1e1e2edd
|
||||
text=cdd6f4ff
|
||||
prompt=bac2deff
|
||||
placeholder=7f849cff
|
||||
input=cdd6f4ff
|
||||
match=cba6f7ff
|
||||
selection=585b70ff
|
||||
selection-text=cdd6f4ff
|
||||
selection-match=cba6f7ff
|
||||
counter=7f849cff
|
||||
border=cba6f7ff
|
||||
|
||||
[border]
|
||||
width=2
|
||||
106
.config/hypr/binds.conf
Normal file
@@ -0,0 +1,106 @@
|
||||
# Main modifier
|
||||
$mainMod = mod1 # super / meta / windows key
|
||||
$submod = super
|
||||
|
||||
# Script Path
|
||||
$scrPath = ~/.config/scripts
|
||||
|
||||
# Assign apps
|
||||
$term = kitty
|
||||
$editor = kitty -e nvim
|
||||
$file = thunar
|
||||
$browser = firefox
|
||||
|
||||
# Window/Session actions
|
||||
bind = $mainMod, backspace, exec, $scrPath/dontkillsteam.sh # close focused window
|
||||
bind = $mainMod, F, fullscreen # toggle the window between focus and fullscreen
|
||||
bind = $mainMod, e, exec, $scrPath/wlogout.sh # launch logout menu
|
||||
bind = $mainMod, d, exec, fuzzel
|
||||
|
||||
# Application shortcuts
|
||||
bind = $mainMod, return, exec, $term # launch terminal emulator
|
||||
bind = $mainMod, i, exec, $editor # launch text editor
|
||||
bind = $mainMod, o, exec, $browser # launch web browser
|
||||
|
||||
# Audio control
|
||||
bindl = , XF86Launch5, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute
|
||||
bindel = , XF86Launch6, exec, $scrPath/volumecontrol.sh -o d # decrease volume
|
||||
bindel = , XF86Launch7, exec, $scrPath/volumecontrol.sh -o i # increase volume
|
||||
bindl = , XF86AudioMute, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute
|
||||
bindl = , XF86AudioMicMute, exec, $scrPath/volumecontrol.sh -i m # toggle microphone mute
|
||||
bindel = , XF86AudioLowerVolume, exec, $scrPath/volumecontrol.sh -o d # decrease volume
|
||||
bindel = , XF86AudioRaiseVolume, exec, $scrPath/volumecontrol.sh -o i # increase volume
|
||||
|
||||
# Super key to drag windows
|
||||
binds {
|
||||
drag_threshold = 10
|
||||
scroll_event_delay = 0
|
||||
}
|
||||
bindm = Super, mouse:272, movewindow
|
||||
bindc = SUPER, mouse:272, togglefloating
|
||||
|
||||
# Resize floating window with scrollwheels
|
||||
bind = $submod, mouse_down, resizeactive, 30 0
|
||||
bind = $submod, mouse_up, resizeactive, -30 0
|
||||
bind = $submod, mouse_right, resizeactive, 0 30
|
||||
bind = $submod, mouse_left, resizeactive, 0 -30
|
||||
bind = $submod, space, togglefloating, # toggle the window between focus and float
|
||||
|
||||
# Screenshot/Screencapture
|
||||
bind = Super+SHIFT, S, exec, $scrPath/screenshot.sh s # partial screenshot capture
|
||||
bind = $mainMod+Ctrl, P, exec, $scrPath/screenshot.sh sf # partial screenshot capture (frozen screen)
|
||||
|
||||
# Move/Change window focus
|
||||
bind = $mainMod, h, movefocus, l
|
||||
bind = $mainMod, l, movefocus, r
|
||||
bind = $mainMod, k, movefocus, u
|
||||
bind = $mainMod, j, movefocus, d
|
||||
|
||||
# Switch workspaces
|
||||
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 focused window to a workspace
|
||||
bind = $mainMod+Shift, 1, movetoworkspacesilent, 1
|
||||
bind = $mainMod+Shift, 2, movetoworkspacesilent, 2
|
||||
bind = $mainMod+Shift, 3, movetoworkspacesilent, 3
|
||||
bind = $mainMod+Shift, 4, movetoworkspacesilent, 4
|
||||
bind = $mainMod+Shift, 5, movetoworkspacesilent, 5
|
||||
bind = $mainMod+Shift, 6, movetoworkspacesilent, 6
|
||||
bind = $mainMod+Shift, 7, movetoworkspacesilent, 7
|
||||
bind = $mainMod+Shift, 8, movetoworkspacesilent, 8
|
||||
bind = $mainMod+Shift, 9, movetoworkspacesilent, 9
|
||||
bind = $mainMod+Shift, 0, movetoworkspacesilent, 10
|
||||
|
||||
# Move/Switch to special workspace (scratchpad)
|
||||
bind = $mainMod, MINUS, togglespecialworkspace, scratch
|
||||
bind = $mainMod SHIFT, MINUS, movetoworkspacesilent, special:scratch
|
||||
|
||||
# Resize floating windows with keyboard
|
||||
bind = $submod, left, resizeactive, -50 0
|
||||
bind = $submod, right, resizeactive, 50 0
|
||||
bind = $submod, down, resizeactive, 0 50
|
||||
bind = $submod, up, resizeactive, 0 -50
|
||||
bind = $submod SHIFT, left, moveactive, -50 0
|
||||
bind = $submod SHIFT, right, moveactive, 50 0
|
||||
bind = $submod SHIFT, down, moveactive, 0 50
|
||||
bind = $submod SHIFT, up, moveactive, 0 -50
|
||||
bind = $submod+ctrl , left, moveactive, -150 0
|
||||
bind = $submod+ctrl , right, moveactive, 150 0
|
||||
bind = $submod+ctrl , down, moveactive, 0 150
|
||||
bind = $submod+ctrl , up, moveactive, 0 -150
|
||||
|
||||
# Change window positions with keyboard
|
||||
bind = $mainMod SHIFT, H, swapwindow, l
|
||||
bind = $mainMod SHIFT, L, swapwindow, r
|
||||
bind = $mainMod SHIFT, K, swapwindow, u
|
||||
bind = $mainMod SHIFT, J, swapwindow, d
|
||||
|
||||
7
.config/hypr/hyprland.conf
Normal file
@@ -0,0 +1,7 @@
|
||||
source = ~/.config/hypr/binds.conf
|
||||
source = ~/.config/hypr/style.conf
|
||||
source = ~/.config/hypr/input.conf
|
||||
source = ~/.config/hypr/rules.conf
|
||||
source = ~/.config/hypr/windows.conf
|
||||
source = ~/.config/hypr/startup.conf
|
||||
|
||||
7
.config/hypr/hyprpaper.conf
Normal file
@@ -0,0 +1,7 @@
|
||||
preload = ~/.config/hypr/wallpapers/wide_lines.png
|
||||
preload = ~/.config/hypr/wallpapers/wide_lines2.png
|
||||
|
||||
|
||||
wallpaper = DP-1, ~/.config/hypr/wallpapers/wide_lines.png
|
||||
wallpaper = DP-3, ~/.config/hypr/wallpapers/wide_lines2.png
|
||||
wallpaper = HDMI-A-1, ~/.config/hypr/wallpapers/wide_lines2.png
|
||||
11
.config/hypr/input.conf
Normal file
@@ -0,0 +1,11 @@
|
||||
input {
|
||||
kb_layout = gb
|
||||
follow_mouse = 1
|
||||
|
||||
touchpad {
|
||||
natural_scroll = no
|
||||
}
|
||||
|
||||
sensitivity = -0.3
|
||||
force_no_accel = 0
|
||||
}
|
||||
31
.config/hypr/rules.conf
Normal file
@@ -0,0 +1,31 @@
|
||||
# Don't dim youtube
|
||||
windowrulev2 = nodim, class:^(firefox|Firefox)$ title:^(.*YouTube.*)$
|
||||
windowrulev2 = opaque, class:^(firefox|Firefox)$ title:^(.*YouTube.*)$
|
||||
|
||||
# Fix Davinci and Unreal
|
||||
windowrulev2=unset,class:UnrealEditor$,title:\w*$
|
||||
windowrulev2=noinitialfocus,class:UnrealEditor$,title:\w*$
|
||||
windowrulev2=suppressevent activate,class:UnrealEditor$,title:\w*$
|
||||
windowrulev2 = nodim, class:^(resolve)$
|
||||
windowrulev2 = opaque, class:^(resolve)$
|
||||
|
||||
# Floaty Windows
|
||||
windowrulev2 = float,title:^(About Mozilla Firefox)$
|
||||
windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$
|
||||
windowrulev2 = float,class:^(firefox)$,title:^(Library)$
|
||||
windowrulev2 = float,class:^(nwg-look)$
|
||||
windowrulev2 = float,class:^(org.pulseaudio.pavucontrol)$
|
||||
windowrulev2 = float,class:^(blueman-manager)$
|
||||
windowrulev2 = float,class:^(nm-applet)$
|
||||
windowrulev2 = float,class:^(nm-connection-editor)$
|
||||
windowrulev2 = float,class:^(org.kde.polkit-kde-authentication-agent-1)$
|
||||
windowrulev2 = float,class:^(yad)$ # Protontricks-Gtk
|
||||
|
||||
# Layer rules
|
||||
layerrule = blur,notifications
|
||||
layerrule = ignorezero,notifications
|
||||
layerrule = blur,swaync-notification-window
|
||||
layerrule = ignorezero,swaync-notification-window
|
||||
layerrule = blur,swaync-control-center
|
||||
layerrule = ignorezero,swaync-control-center
|
||||
layerrule = blur,logout_dialog
|
||||
18
.config/hypr/startup.conf
Normal file
@@ -0,0 +1,18 @@
|
||||
exec-once = $scrPath/resetxdgportal.sh # reset XDPH for screenshare
|
||||
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH
|
||||
exec-once = dbus-update-activation-environment --systemd --all # for XDPH
|
||||
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH
|
||||
exec-once = $scrPath/polkitkdeauth.sh # authentication dialogue for GUI apps
|
||||
exec-once = waybar # launch the system bar
|
||||
exec-once = udiskie --no-automount --smart-tray # front-end that allows to manage removable media
|
||||
exec-once = swaync # start notification demon
|
||||
exec-once = wl-paste --type text --watch cliphist store # clipboard store text data
|
||||
exec-once = wl-paste --type image --watch cliphist store # clipboard store image data
|
||||
exec-once = hyprpaper # Wallpaper Daemon
|
||||
exec-once = wayvnc 0.0.0.0 --output=DP-1 # runs vnc server on all interfaces
|
||||
exec-once = syncthing -home=/home/user01/.config/syncthing -no-browser # starts syncthing in background
|
||||
|
||||
#cool decorations
|
||||
exec-once = hyprctl dispatch exec 'kitten panel --edge=background -o background_opacity=0 --output-name HDMI-A-1 sh -c "cmatrix -b -C magenta -a -u 10"'
|
||||
exec-once = hyprctl dispatch exec 'kitten panel --edge=background -o background_opacity=0 --output-name DP-3 sh -c "cava"'
|
||||
exec-once = hyprctl dispatch exec 'kitten panel --edge=background -o background_opacity=0 --output-name DP-1 sh -c "neofetch && tail -f /dev/null"'
|
||||
106
.config/hypr/style.conf
Normal file
@@ -0,0 +1,106 @@
|
||||
# Environment
|
||||
env = PATH,$PATH:$scrPath
|
||||
env = XDG_CURRENT_DESKTOP,Hyprland
|
||||
env = XDG_SESSION_TYPE,wayland
|
||||
env = XDG_SESSION_DESKTOP,Hyprland
|
||||
env = QT_QPA_PLATFORM,wayland;xcb
|
||||
env = QT_QPA_PLATFORMTHEME,qt6ct
|
||||
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
|
||||
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
|
||||
env = MOZ_ENABLE_WAYLAND,1
|
||||
env = GDK_SCALE,1
|
||||
|
||||
# Misc
|
||||
misc {
|
||||
vrr = 0
|
||||
disable_hyprland_logo = true
|
||||
disable_splash_rendering = true
|
||||
force_default_wallpaper = 0
|
||||
}
|
||||
|
||||
|
||||
xwayland {
|
||||
force_zero_scaling = true
|
||||
}
|
||||
|
||||
# Layout
|
||||
dwindle {
|
||||
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||
preserve_split = true # You probably want this
|
||||
permanent_direction_override = true
|
||||
}
|
||||
|
||||
# GTK shennanigans
|
||||
exec = gsettings set org.gnome.desktop.interface icon-theme 'BeautyDream'
|
||||
exec = gsettings set org.gnome.desktop.interface gtk-theme 'Catppuccin-Mocha'
|
||||
exec = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
|
||||
|
||||
# Make things look nice
|
||||
general {
|
||||
gaps_in = 3
|
||||
gaps_out = 8
|
||||
border_size = 2
|
||||
col.active_border = rgba(cba6f7ff) rgba(cba6f7ff) 45deg
|
||||
col.inactive_border = rgba(45475acc) rgba(45475acc) 45deg
|
||||
layout = dwindle
|
||||
resize_on_border = true
|
||||
}
|
||||
|
||||
group {
|
||||
col.border_active = rgba(ca9ee6cc) rgba(f2d5cfcc) 45deg
|
||||
col.border_inactive = rgba(bac2decc) rgba(bac2decc) 45deg
|
||||
col.border_locked_active = rgba(ca9ee6ff) rgba(f2d5cfff) 45deg
|
||||
col.border_locked_inactive = rgba(b4befecc) rgba(6c7086cc) 45deg
|
||||
}
|
||||
|
||||
decoration {
|
||||
rounding = 5
|
||||
|
||||
# Change transparency of focused and unfocused windows
|
||||
active_opacity = 1.0
|
||||
# inactive_opacity = 0.8
|
||||
|
||||
dim_inactive = true
|
||||
dim_strength = 0.3
|
||||
|
||||
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#blur
|
||||
blur {
|
||||
enabled = true
|
||||
size = 2
|
||||
passes = 3
|
||||
|
||||
vibrancy = 0.1696
|
||||
}
|
||||
}
|
||||
|
||||
# Fonts and Cursors
|
||||
exec = hyprctl setcursor Bibata-Modern-Ice 20
|
||||
exec = gsettings set org.gnome.desktop.interface cursor-theme 'Bibata-Modern-Ice'
|
||||
exec = gsettings set org.gnome.desktop.interface cursor-size 20
|
||||
exec = gsettings set org.gnome.desktop.interface font-name 'FiraMono Nerd Font'
|
||||
exec = gsettings set org.gnome.desktop.interface document-font-name 'Cantarell 10'
|
||||
exec = gsettings set org.gnome.desktop.interface monospace-font-name 'CaskaydiaCove Nerd Font Mono 9'
|
||||
exec = gsettings set org.gnome.desktop.interface font-antialiasing 'rgba'
|
||||
exec = gsettings set org.gnome.desktop.interface font-hinting 'full'
|
||||
env XCURSOR_SIZE = 20
|
||||
|
||||
# Animations
|
||||
animations {
|
||||
enabled = true
|
||||
|
||||
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||
|
||||
bezier = my, 0.25, 0.73, 0.68, 1
|
||||
animation = windows, 1, 2, my, slide
|
||||
animation = windowsOut, 1, 2, my, slide
|
||||
animation = border, 1, 3, my
|
||||
animation = borderangle, 1, 8, my
|
||||
animation = fade, 1, 1, my
|
||||
animation = fadeIn, 0, 1, my
|
||||
animation = fadeOut, 0, 1, my
|
||||
animation = workspaces, 1, 2, my
|
||||
animation = layersIn, 1, 2, my, popin 90%
|
||||
animation = layersOut, 1, 2, my, slide
|
||||
}
|
||||
BIN
.config/hypr/wallpapers/wide_lines.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
.config/hypr/wallpapers/wide_lines2.png
Normal file
|
After Width: | Height: | Size: 5.4 KiB |
7
.config/hypr/windows.conf
Normal file
@@ -0,0 +1,7 @@
|
||||
monitor = DP-1, 1920x1080@60, 0x0, 1
|
||||
monitor = DP-3, 1920x1080@60, 1920x0, 1
|
||||
monitor = HDMI-A-1, 1920x1080@60, -1920x0, 1
|
||||
|
||||
workspace = 2, monitor:HDMI-A-1, default:true
|
||||
workspace = 3, monitor:DP-3, default:true
|
||||
workspace = 1, monitor:DP-1, default:true
|
||||
15
.config/kitty/kitty.conf
Executable file
@@ -0,0 +1,15 @@
|
||||
font_family FiraMono Nerd Font
|
||||
bold_font auto
|
||||
italic_font auto
|
||||
bold_italic_font auto
|
||||
|
||||
font_size 11
|
||||
window_padding_width 3
|
||||
include theme.conf
|
||||
background_opacity 0.60
|
||||
#hide_window_decorations yes
|
||||
confirm_os_window_close 0
|
||||
|
||||
enable_audio_bell no
|
||||
cursor_trail 1
|
||||
cursor_trail_start_threshold 1
|
||||
79
.config/kitty/theme.conf
Executable file
@@ -0,0 +1,79 @@
|
||||
|
||||
## name: Catppuccin Mocha 🌿
|
||||
## author: Pocco81 (https://github.com/Pocco81)
|
||||
## license: MIT
|
||||
## upstream: https://github.com/catppuccin/kitty/blob/main/mocha.conf
|
||||
## blurb: Soothing pastel theme for the high-spirited!
|
||||
|
||||
|
||||
|
||||
# The basic colors
|
||||
foreground #CDD6F4
|
||||
background #1E1E2E
|
||||
selection_foreground #1E1E2E
|
||||
selection_background #F5E0DC
|
||||
|
||||
# Cursor colors
|
||||
cursor #F5E0DC
|
||||
cursor_text_color #1E1E2E
|
||||
|
||||
# URL underline color when hovering with mouse
|
||||
url_color #B4BEFE
|
||||
|
||||
# Kitty window border colors
|
||||
active_border_color #CBA6F7
|
||||
inactive_border_color #8E95B3
|
||||
bell_border_color #EBA0AC
|
||||
|
||||
# OS Window titlebar colors
|
||||
wayland_titlebar_color system
|
||||
macos_titlebar_color system
|
||||
|
||||
# Tab bar colors
|
||||
active_tab_foreground #11111B
|
||||
active_tab_background #CBA6F7
|
||||
inactive_tab_foreground #CDD6F4
|
||||
inactive_tab_background #181825
|
||||
tab_bar_background #11111B
|
||||
|
||||
# Colors for marks (marked text in the terminal)
|
||||
mark1_foreground #1E1E2E
|
||||
mark1_background #87B0F9
|
||||
mark2_foreground #1E1E2E
|
||||
mark2_background #CBA6F7
|
||||
mark3_foreground #1E1E2E
|
||||
mark3_background #74C7EC
|
||||
|
||||
# The 16 terminal colors
|
||||
|
||||
# black
|
||||
color0 #43465A
|
||||
color8 #43465A
|
||||
|
||||
# red
|
||||
color1 #F38BA8
|
||||
color9 #F38BA8
|
||||
|
||||
# green
|
||||
color2 #A6E3A1
|
||||
color10 #A6E3A1
|
||||
|
||||
# yellow
|
||||
color3 #F9E2AF
|
||||
color11 #F9E2AF
|
||||
|
||||
# blue
|
||||
color4 #87B0F9
|
||||
color12 #87B0F9
|
||||
|
||||
# magenta
|
||||
color5 #F5C2E7
|
||||
color13 #F5C2E7
|
||||
|
||||
# cyan
|
||||
color6 #94E2D5
|
||||
color14 #94E2D5
|
||||
|
||||
# white
|
||||
color7 #CDD6F4
|
||||
color15 #A1A8C9
|
||||
1
.config/nvim
Submodule
5
.config/scripts/dontkillsteam.sh
Executable file
@@ -0,0 +1,5 @@
|
||||
if [[ $(hyprctl activewindow -j | jq -r ".class") == "Steam" ]]; then
|
||||
xdotool windowunmap $(xdotool getactivewindow)
|
||||
else
|
||||
hyprctl dispatch killactive ""
|
||||
fi
|
||||
10
.config/scripts/polkitkdeauth.sh
Executable file
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
# Use different directory on NixOS
|
||||
if [ -d /run/current-system/sw/libexec ]; then
|
||||
libDir=/run/current-system/sw/libexec
|
||||
else
|
||||
libDir=/usr/lib
|
||||
fi
|
||||
|
||||
${libDir}/polkit-gnome/polkit-gnome-authentication-agent-1 &
|
||||
20
.config/scripts/resetxdgportal.sh
Executable file
@@ -0,0 +1,20 @@
|
||||
#!/usr/bin/env bash
|
||||
sleep 1
|
||||
killall xdg-desktop-portal-hyprland
|
||||
killall xdg-desktop-portal-gnome
|
||||
killall xdg-desktop-portal-kde
|
||||
killall xdg-desktop-portal-lxqt
|
||||
killall xdg-desktop-portal-wlr
|
||||
killall xdg-desktop-portal
|
||||
sleep 1
|
||||
|
||||
# Use different directory on NixOS
|
||||
if [ -d /run/current-system/sw/libexec ]; then
|
||||
libDir=/run/current-system/sw/libexec
|
||||
else
|
||||
libDir=/usr/lib
|
||||
fi
|
||||
|
||||
$libDir/xdg-desktop-portal-hyprland &
|
||||
sleep 2
|
||||
$libDir/xdg-desktop-portal &
|
||||
63
.config/scripts/screenshot.sh
Executable file
@@ -0,0 +1,63 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
# Restores the shader after screenhot has been taken
|
||||
restore_shader() {
|
||||
if [ -n "$shader" ]; then
|
||||
hyprshade on "$shader"
|
||||
fi
|
||||
}
|
||||
|
||||
# Saves the current shader and turns it off
|
||||
save_shader() {
|
||||
shader=$(hyprshade current)
|
||||
hyprshade off
|
||||
trap restore_shader EXIT
|
||||
}
|
||||
|
||||
save_shader # Saving the current shader
|
||||
|
||||
if [ -z "$XDG_PICTURES_DIR" ]; then
|
||||
XDG_PICTURES_DIR="$HOME/Pictures"
|
||||
fi
|
||||
|
||||
scrDir=$(dirname "$(realpath "$0")")
|
||||
source $scrDir/globalcontrol.sh
|
||||
swpy_dir="${confDir}/swappy"
|
||||
save_dir="${2:-$XDG_PICTURES_DIR/Screenshots}"
|
||||
save_file=$(date +'%y%m%d_%Hh%Mm%Ss_screenshot.png')
|
||||
temp_screenshot="/tmp/screenshot.png"
|
||||
|
||||
mkdir -p $save_dir
|
||||
mkdir -p $swpy_dir
|
||||
echo -e "[Default]\nsave_dir=$save_dir\nsave_filename_format=$save_file" >$swpy_dir/config
|
||||
|
||||
function print_error
|
||||
{
|
||||
cat <<"EOF"
|
||||
./screenshot.sh <action>
|
||||
...valid actions are...
|
||||
p : print all screens
|
||||
s : snip current screen
|
||||
sf : snip current screen (frozen)
|
||||
m : print focused monitor
|
||||
EOF
|
||||
}
|
||||
|
||||
case $1 in
|
||||
p) # print all outputs
|
||||
grimblast copysave screen $temp_screenshot && restore_shader && swappy -f $temp_screenshot ;;
|
||||
s) # drag to manually snip an area / click on a window to print it
|
||||
grimblast copysave area $temp_screenshot ;; #&& restore_shader && swappy -f $temp_screenshot ;;
|
||||
sf) # frozen screen, drag to manually snip an area / click on a window to print it
|
||||
grimblast --freeze copysave area $temp_screenshot && restore_shader && swappy -f $temp_screenshot ;;
|
||||
m) # print focused monitor
|
||||
grimblast copysave output $temp_screenshot && restore_shader && swappy -f $temp_screenshot ;;
|
||||
*) # invalid option
|
||||
print_error ;;
|
||||
esac
|
||||
|
||||
rm "$temp_screenshot"
|
||||
|
||||
if [ -f "${save_dir}/${save_file}" ]; then
|
||||
notify-send -a "t1" -i "${save_dir}/${save_file}" "saved in ${save_dir}"
|
||||
fi
|
||||
5
.config/scripts/wlogout.sh
Executable file
@@ -0,0 +1,5 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
|
||||
|
||||
wlogout -b 5 -T 420px -B 420px -L 600px -R 600px
|
||||
211
.config/waybar/config
Normal file
@@ -0,0 +1,211 @@
|
||||
{
|
||||
"layer": "bottom", "position": "top",
|
||||
"modules-left": ["custom/logo", "hyprland/workspaces" ],
|
||||
"height": 24,
|
||||
"modules-center": [ "hyprland/window"],
|
||||
"modules-right": ["pulseaudio", "network", "cpu", "memory", "disk", "clock"],
|
||||
"reload_style_on_change":true,
|
||||
|
||||
"custom/logo": {
|
||||
"format": "",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"hyprland/workspaces": {
|
||||
"format": "{id}",
|
||||
"format-icons": {
|
||||
"1": "",
|
||||
"2": "",
|
||||
"3": "",
|
||||
"4": "",
|
||||
"5": "",
|
||||
"6": "",
|
||||
"active": "",
|
||||
"default": ""
|
||||
}
|
||||
},
|
||||
|
||||
"idle_inhibitor":{
|
||||
"format": "<span font='12'>{icon} </span>",
|
||||
"format-icons": {
|
||||
"activated":"",
|
||||
"deactivated":""
|
||||
}
|
||||
},
|
||||
|
||||
"custom/weather": {
|
||||
"format": "{}",
|
||||
"return-type": "json",
|
||||
"exec": "~/.config/waybar/scripts/weather.sh",
|
||||
"interval": 10,
|
||||
"on-click": "firefox https://wttr.in"
|
||||
},
|
||||
|
||||
"custom/clipboard":{
|
||||
"format":"",
|
||||
"on-click": "cliphist list | rofi -dmenu | cliphist decode | wl-copy",
|
||||
"interval":86400
|
||||
},
|
||||
|
||||
|
||||
"clock": {
|
||||
"format": "{:%D %H:%M:%S}",
|
||||
"interval":1,
|
||||
"tooltip-format": "\n<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||
"calendar-weeks-pos": "right",
|
||||
"today-format": "<span color='#7645AD'><b><u>{}</u></b></span>",
|
||||
"format-calendar": "<span color='#aeaeae'><b>{}</b></span>",
|
||||
"format-calendar-weeks": "<span color='#aeaeae'><b>W{:%V}</b></span>",
|
||||
"format-calendar-weekdays": "<span color='#aeaeae'><b>{}</b></span>"
|
||||
},
|
||||
|
||||
"bluetooth": {
|
||||
"format-on": "",
|
||||
"format-off": "",
|
||||
"format-disabled": "",
|
||||
"format-connected": "",
|
||||
"format-connected-battery": "{device_battery_percentage}% ",
|
||||
"tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected",
|
||||
"tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}",
|
||||
"tooltip-format-enumerate-connected": "{device_alias}\t{device_address}",
|
||||
"tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t{device_battery_percentage}%",
|
||||
"on-click": "rofi-bluetooth",
|
||||
},
|
||||
|
||||
"network": {
|
||||
"format-wifi": " ",
|
||||
"format-ethernet":" ",
|
||||
"format-disconnected": "",
|
||||
"tooltip-format": "{ipaddr}",
|
||||
"tooltip-format-wifi": "{essid} ({signalStrength}%) | {ipaddr}",
|
||||
"tooltip-format-ethernet": "{ifname} 🖧 | {ipaddr}",
|
||||
"on-click": "networkmanager_dmenu"
|
||||
},
|
||||
|
||||
"battery": {
|
||||
"interval":1,
|
||||
"states": {
|
||||
"good": 95,
|
||||
"warning": 30,
|
||||
"critical": 20
|
||||
},
|
||||
"format": "{capacity}% {icon} ",
|
||||
"format-charging": "{capacity}% ",
|
||||
"format-plugged": "{capacity}% ",
|
||||
"format-alt": "{time} {icon}",
|
||||
"format-icons": [
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
""
|
||||
],
|
||||
},
|
||||
"backlight": {
|
||||
"device": "intel_backlight",
|
||||
"format": "<span font='12'>{icon}</span>",
|
||||
"format-icons": [
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
],
|
||||
"on-scroll-down": "light -A 10",
|
||||
"on-scroll-up": "light -U 10",
|
||||
"smooth-scrolling-threshold": 1
|
||||
},
|
||||
|
||||
"disk": {
|
||||
"interval": 30,
|
||||
"format": " {percentage_used}%",
|
||||
"path": "/"
|
||||
},
|
||||
|
||||
"custom/colorpicker": {
|
||||
"format": "{}",
|
||||
"return-type": "json",
|
||||
"interval": "once",
|
||||
"exec": "~/.config/waybar/scripts/colorpicker.sh -j",
|
||||
"on-click": "sleep 1 && ~/.config/waybar/scripts/colorpicker.sh",
|
||||
"signal": 1
|
||||
},
|
||||
|
||||
"cpu": {
|
||||
"interval": 1,
|
||||
"format": " {usage}%",
|
||||
"min-length": 6,
|
||||
"max-length": 6,
|
||||
"format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"],
|
||||
},
|
||||
|
||||
"memory": {
|
||||
"format": " {percentage}% "
|
||||
},
|
||||
|
||||
"hyprland/window": {
|
||||
"format": "( {class} )"
|
||||
},
|
||||
|
||||
"temperature": {
|
||||
"format": " {temperatureC}°C",
|
||||
"format-critical": " {temperatureC}°C",
|
||||
"interval": 1,
|
||||
"critical-threshold": 80,
|
||||
"on-click": "foot btop",
|
||||
},
|
||||
|
||||
"pulseaudio": {
|
||||
"format": "{volume}% ",
|
||||
"format-bluetooth":"",
|
||||
"format-muted": "<span font='12'></span>",
|
||||
"format-icons": {
|
||||
"headphones": "",
|
||||
"bluetooth": "",
|
||||
"handsfree": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": ["🕨","🕩","🕪"]
|
||||
},
|
||||
"justify": "center",
|
||||
"on-click": "amixer sset Master toggle",
|
||||
"on-click-right": "pavucontrol",
|
||||
"tooltip-format": "{icon} {volume}%"
|
||||
},
|
||||
|
||||
"jack": {
|
||||
"format": "{} ",
|
||||
"format-xrun": "{xruns} xruns",
|
||||
"format-disconnected": "DSP off",
|
||||
"realtime": true
|
||||
},
|
||||
|
||||
"tray": {
|
||||
"icon-size": 14,
|
||||
"spacing": 10
|
||||
},
|
||||
|
||||
"upower": {
|
||||
"show-icon": false,
|
||||
"hide-if-empty": true,
|
||||
"tooltip": true,
|
||||
"tooltip-spacing": 20
|
||||
},
|
||||
|
||||
"custom/powerDraw": {
|
||||
"format": "{}",
|
||||
"interval": 1,
|
||||
"exec": "~/.config/waybar/scripts/powerdraw.sh",
|
||||
"return-type": "json"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
128
.config/waybar/style.css
Normal file
@@ -0,0 +1,128 @@
|
||||
* {
|
||||
border: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
font-size: 14px;
|
||||
font-family: "FiraMono Nerd Font" ;
|
||||
min-height: 24px;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: transparent;
|
||||
margin: 0px 0px;
|
||||
}
|
||||
|
||||
#custom-logo {
|
||||
padding: 0 10px;
|
||||
color: #89b4fa;
|
||||
}
|
||||
|
||||
.modules-right {
|
||||
padding-left: 5px;
|
||||
border-radius: 15px 0 0 15px;
|
||||
margin-top: 0px;
|
||||
background: #000000;
|
||||
}
|
||||
|
||||
.modules-center {
|
||||
padding: 0 15px;
|
||||
margin-top: 0px;
|
||||
border-radius: 15px 15px 15px 15px;
|
||||
background: #000000;
|
||||
}
|
||||
|
||||
.modules-left {
|
||||
border-radius: 0 15px 15px 0;
|
||||
margin-top: 0px;
|
||||
background: #000000;
|
||||
}
|
||||
|
||||
#battery,
|
||||
#custom-clipboard,
|
||||
#custom-colorpicker,
|
||||
#custom-powerDraw,
|
||||
#bluetooth,
|
||||
#pulseaudio,
|
||||
#network {
|
||||
color: #f38ba8;
|
||||
}
|
||||
#cpu {
|
||||
color: #fab387;
|
||||
}
|
||||
#memory {
|
||||
color: #f9e2af;
|
||||
}
|
||||
#disk {
|
||||
color: #a6e3a1;
|
||||
}
|
||||
#backlight,
|
||||
#temperature,
|
||||
#custom-weather,
|
||||
#idle_inhibitor,
|
||||
#jack,
|
||||
#tray,
|
||||
#window {
|
||||
color: #cdd6f4;
|
||||
}
|
||||
#workspaces button {
|
||||
color: #b4befe;
|
||||
border-radius: 15px;
|
||||
padding: 0 5px;
|
||||
box-shadow: none;
|
||||
}
|
||||
#workspaces button:hover {
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
background-color: #313244;
|
||||
color: #6c7086;
|
||||
}
|
||||
#workspaces button.active {
|
||||
background-color: #cba6f7;
|
||||
color: #313244;
|
||||
}
|
||||
#clock {
|
||||
padding: 0 5px;
|
||||
}
|
||||
#pulseaudio {
|
||||
padding-top: 0px;
|
||||
}
|
||||
|
||||
#temperature.critical,
|
||||
#pulseaudio.muted {
|
||||
color: #FF0000;
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#clock{
|
||||
color: #74c7ec;
|
||||
}
|
||||
|
||||
#battery.charging {
|
||||
color: #ffffff;
|
||||
background-color: #26A65B;
|
||||
}
|
||||
|
||||
#battery.warning:not(.charging) {
|
||||
background-color: #ffbe61;
|
||||
color: black;
|
||||
}
|
||||
|
||||
#battery.critical:not(.charging) {
|
||||
background-color: #f53c3c;
|
||||
color: #ffffff;
|
||||
animation-name: blink;
|
||||
animation-duration: 0.5s;
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
|
||||
@keyframes blink {
|
||||
to {
|
||||
background-color: #ffffff;
|
||||
color: #000000;
|
||||
}
|
||||
}
|
||||
BIN
.config/wlogout/icons/exit.png
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
.config/wlogout/icons/lock.png
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
BIN
.config/wlogout/icons/power.png
Normal file
|
After Width: | Height: | Size: 7.0 KiB |
BIN
.config/wlogout/icons/reload.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
.config/wlogout/icons/slwwp.png
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
30
.config/wlogout/layout
Executable file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"label" : "lock",
|
||||
"action" : "loginctl lock-session",
|
||||
"text" : "Lock",
|
||||
"keybind" : "l"
|
||||
}
|
||||
{
|
||||
"label" : "logout",
|
||||
"action" : "loginctl terminate-user $USER",
|
||||
"text" : "Logout",
|
||||
"keybind" : "e"
|
||||
}
|
||||
{
|
||||
"label" : "shutdown",
|
||||
"action" : "systemctl poweroff",
|
||||
"text" : "Shutdown",
|
||||
"keybind" : "s"
|
||||
}
|
||||
{
|
||||
"label" : "suspend",
|
||||
"action" : "systemctl suspend",
|
||||
"text" : "Sleep",
|
||||
"keybind" : "u"
|
||||
}
|
||||
{
|
||||
"label" : "reboot",
|
||||
"action" : "systemctl reboot",
|
||||
"text" : "Reboot",
|
||||
"keybind" : "r"
|
||||
}
|
||||
73
.config/wlogout/style.css
Executable file
@@ -0,0 +1,73 @@
|
||||
* {
|
||||
background-image: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
window {
|
||||
background-color: rgba(12, 12, 12, 0.05);
|
||||
}
|
||||
|
||||
button {
|
||||
border-radius: 0;
|
||||
border-color: #cba6f7;
|
||||
text-decoration-color: #ffffff;
|
||||
color: #FFFFFF;
|
||||
background-color: #313244;
|
||||
border-style: solid none;
|
||||
border-width: 4px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: 50% 30%;
|
||||
background-size: 75%;
|
||||
}
|
||||
|
||||
button:first-child {
|
||||
border-top-left-radius: 10px;
|
||||
border-bottom-left-radius: 10px;
|
||||
}
|
||||
|
||||
button:last-child {
|
||||
border-top-right-radius: 10px;
|
||||
border-bottom-right-radius: 10px;
|
||||
}
|
||||
|
||||
#lock {
|
||||
border-left-style: solid;
|
||||
background-image: image(url("./icons/lock.png"));
|
||||
}
|
||||
|
||||
#logout {
|
||||
background-image: image(url("./icons/exit.png"));
|
||||
}
|
||||
|
||||
#suspend {
|
||||
background-image: image(url("./icons/slwwp.png"));
|
||||
}
|
||||
|
||||
#shutdown {
|
||||
background-image: image(url("./icons/power.png"));
|
||||
}
|
||||
|
||||
#reboot {
|
||||
border-right-style: solid;
|
||||
background-image: image(url("./icons/reload.png"));
|
||||
}
|
||||
|
||||
#lock:focus {
|
||||
background-color: #d20f39;
|
||||
}
|
||||
|
||||
#logout:focus {
|
||||
background-color: #d79921;
|
||||
}
|
||||
|
||||
#suspend:focus {
|
||||
background-color: #04a5e5;
|
||||
}
|
||||
|
||||
#shutdown:focus {
|
||||
background-color: #40a02b;
|
||||
}
|
||||
|
||||
#reboot:focus {
|
||||
background-color: #8839ef;
|
||||
}
|
||||