update configs
This commit is contained in:
@ -12,6 +12,7 @@
|
|||||||
"editor.suggestSelection": "first",
|
"editor.suggestSelection": "first",
|
||||||
"vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
|
"vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
|
||||||
"window.titleBarStyle": "custom",
|
"window.titleBarStyle": "custom",
|
||||||
|
"workbench.sideBar.location": "right",
|
||||||
//
|
//
|
||||||
// Excluded files and directories
|
// Excluded files and directories
|
||||||
"files.exclude": {
|
"files.exclude": {
|
||||||
@ -32,12 +33,6 @@
|
|||||||
"editor.fontFamily"
|
"editor.fontFamily"
|
||||||
],
|
],
|
||||||
//
|
//
|
||||||
// Various settings
|
|
||||||
"explorer.confirmDragAndDrop": false,
|
|
||||||
"workbench.startupEditor": "none",
|
|
||||||
"security.workspace.trust.untrustedFiles": "open",
|
|
||||||
"emmet.showExpandedAbbreviation": "never",
|
|
||||||
//
|
|
||||||
// Remote SSH
|
// Remote SSH
|
||||||
"remote.SSH.remotePlatform": {
|
"remote.SSH.remotePlatform": {
|
||||||
"lab-pc07": "linux",
|
"lab-pc07": "linux",
|
||||||
@ -54,6 +49,7 @@
|
|||||||
//
|
//
|
||||||
// Python
|
// Python
|
||||||
"python.languageServer": "Default",
|
"python.languageServer": "Default",
|
||||||
|
"python.createEnvironment.trigger": "off",
|
||||||
"[python]": {
|
"[python]": {
|
||||||
"editor.formatOnSave": true,
|
"editor.formatOnSave": true,
|
||||||
"editor.rulers": [
|
"editor.rulers": [
|
||||||
@ -99,10 +95,21 @@
|
|||||||
"source.organizeImports": "always"
|
"source.organizeImports": "always"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
//
|
||||||
|
// Hex Editor
|
||||||
"hexeditor.columnWidth": 4,
|
"hexeditor.columnWidth": 4,
|
||||||
"hexeditor.showDecodedText": true,
|
"hexeditor.showDecodedText": true,
|
||||||
"hexeditor.defaultEndianness": "little",
|
"hexeditor.defaultEndianness": "little",
|
||||||
"hexeditor.inspectorType": "aside",
|
"hexeditor.inspectorType": "aside",
|
||||||
|
//
|
||||||
|
// Typst
|
||||||
"typst-lsp.exportPdf": "onType",
|
"typst-lsp.exportPdf": "onType",
|
||||||
"python.createEnvironment.trigger": "off",
|
///
|
||||||
|
// Various settings
|
||||||
|
"explorer.confirmDragAndDrop": false,
|
||||||
|
"workbench.startupEditor": "none",
|
||||||
|
"security.workspace.trust.untrustedFiles": "open",
|
||||||
|
"emmet.showExpandedAbbreviation": "never",
|
||||||
|
"git.openRepositoryInParentFolders": "never",
|
||||||
|
"editor.selectionClipboard": false,
|
||||||
}
|
}
|
||||||
@ -1 +1 @@
|
|||||||
/home/paul/dotfiles/.config/alacritty/themes/dark/default.toml
|
dark/default.toml
|
||||||
128
.config/dunst/dunstrc
Normal file
128
.config/dunst/dunstrc
Normal file
@ -0,0 +1,128 @@
|
|||||||
|
[global]
|
||||||
|
|
||||||
|
### Display ###
|
||||||
|
|
||||||
|
# Display notifications on monitor with mouse focus
|
||||||
|
follow = mouse
|
||||||
|
# Set {width}x{height} and {x_pos}+{y_pos}
|
||||||
|
geometry = "300x30-5+60"
|
||||||
|
# Show number of hidden notifications
|
||||||
|
indicate_hidden = yes
|
||||||
|
# Shrink window if smaller than width
|
||||||
|
shrink = no
|
||||||
|
# Set transparency of notifications
|
||||||
|
transparency = 0
|
||||||
|
# Height of whole notification
|
||||||
|
notification_height = 0
|
||||||
|
# Height of seperators
|
||||||
|
separator_height = 2
|
||||||
|
# Text and seperator padding
|
||||||
|
padding = 8
|
||||||
|
# Horizontal padding
|
||||||
|
horizontal_padding = 8
|
||||||
|
# Width of frame around window
|
||||||
|
frame_width = 1
|
||||||
|
# Color of frame around window
|
||||||
|
frame_color = "#595959"
|
||||||
|
# Sort messages by urgency
|
||||||
|
sort = yes
|
||||||
|
# Idle seconds
|
||||||
|
idle_threshold = 0
|
||||||
|
|
||||||
|
### Text ###
|
||||||
|
|
||||||
|
# Set font of notifications
|
||||||
|
font = Iosevka 10
|
||||||
|
# Spacing between lines
|
||||||
|
line-height = 0
|
||||||
|
# Markup parsing
|
||||||
|
markup = full
|
||||||
|
# Message format:
|
||||||
|
# %a - appname
|
||||||
|
# %s - summary
|
||||||
|
# %b - body
|
||||||
|
# %i - iconname (with path)
|
||||||
|
# %I - iconname (without path)
|
||||||
|
# %p - progress value (if set)
|
||||||
|
# %n - progress value no extra characters
|
||||||
|
# %% - literal %
|
||||||
|
format = "<b>%a</b>\n<i>%s</i>\n%b"
|
||||||
|
# Align message text horizontally
|
||||||
|
alignment = center
|
||||||
|
# Align message text vertically
|
||||||
|
vertical_alignment = center
|
||||||
|
# Show age of message if message is older than x seconds
|
||||||
|
show_age_threshold = -1
|
||||||
|
# Split notifications into multiple lines
|
||||||
|
word_wrap = no
|
||||||
|
# If message too long, add ellipsize to...
|
||||||
|
ellipsize = middle
|
||||||
|
# Ignore newlines in notifications
|
||||||
|
ignore_newline = no
|
||||||
|
# Stack duplicate notifications
|
||||||
|
stack_duplicates = true
|
||||||
|
# Hide number of duplicate notifications
|
||||||
|
hide_duplicate_count = true
|
||||||
|
# Show indicatiors for urls and actions
|
||||||
|
show_indicators = no
|
||||||
|
|
||||||
|
### Icons ###
|
||||||
|
|
||||||
|
# Disable icons
|
||||||
|
icon_position = off
|
||||||
|
|
||||||
|
### History ###
|
||||||
|
|
||||||
|
# Length of history
|
||||||
|
history_length = 20
|
||||||
|
|
||||||
|
### Misc ###
|
||||||
|
|
||||||
|
# Dmenu path
|
||||||
|
dmenu = /usr/bin/dmenu -p dunst:
|
||||||
|
# Browser
|
||||||
|
browser = /usr/bin/firefox -new-tab
|
||||||
|
# Always run scripts
|
||||||
|
always_run_script = true
|
||||||
|
# Title of notification
|
||||||
|
title = Dunst
|
||||||
|
# Notification class
|
||||||
|
class = Dunst
|
||||||
|
# Print notification on startup
|
||||||
|
startup_notification = false
|
||||||
|
# Dunst verbosity
|
||||||
|
verbosity = mesg
|
||||||
|
# Corner radius of dunst
|
||||||
|
corner_radius = 15
|
||||||
|
# Ignore dbus closeNotification message
|
||||||
|
ignore_dbusclose = false
|
||||||
|
|
||||||
|
### Mouse ###
|
||||||
|
|
||||||
|
# Left click
|
||||||
|
mouse_left_click = close_current
|
||||||
|
# Middle click
|
||||||
|
mouse_middle_click = do_action
|
||||||
|
# Right click
|
||||||
|
mouse_right_click = do_action
|
||||||
|
|
||||||
|
[shortcuts]
|
||||||
|
|
||||||
|
# Close one notification
|
||||||
|
close = ctrl+space
|
||||||
|
# Close all notifications
|
||||||
|
close_all = ctrl+shift+space
|
||||||
|
|
||||||
|
[urgency_normal]
|
||||||
|
|
||||||
|
# Normal urgency notifications
|
||||||
|
background = "#202632"
|
||||||
|
foreground = "#ffffff"
|
||||||
|
timeout = 5
|
||||||
|
|
||||||
|
[urgency_critical]
|
||||||
|
|
||||||
|
# High urgency notifications
|
||||||
|
background = "#ffffff"
|
||||||
|
foreground = "#db0101"
|
||||||
|
timeout = 0
|
||||||
@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||||
monitor=DP-2,3440x1440@144,auto,auto
|
monitor=DP-2,3440x1440@144,auto,auto
|
||||||
monitor=DP-3,1920x1080,-1080x0,1,transform,1
|
monitor=DP-3,1920x1080,-1080x-550,1,transform,1
|
||||||
|
|
||||||
|
|
||||||
###################
|
###################
|
||||||
@ -28,8 +28,7 @@ monitor=DP-3,1920x1080,-1080x0,1,transform,1
|
|||||||
|
|
||||||
# Set programs that you use
|
# Set programs that you use
|
||||||
$terminal = alacritty
|
$terminal = alacritty
|
||||||
$fileManager = nautilus
|
$fileManager = nautilus --new-window
|
||||||
$menu = wofi --show drun
|
|
||||||
$browser = firefox
|
$browser = firefox
|
||||||
|
|
||||||
|
|
||||||
@ -40,11 +39,18 @@ $browser = firefox
|
|||||||
# Autostart necessary processes (like notifications daemons, status bars, etc.)
|
# Autostart necessary processes (like notifications daemons, status bars, etc.)
|
||||||
# Or execute your favorite apps at launch like this:
|
# Or execute your favorite apps at launch like this:
|
||||||
|
|
||||||
# exec-once = $terminal
|
|
||||||
# exec-once = nm-applet &
|
|
||||||
# exec-once = waybar & hyprpaper & firefox
|
|
||||||
exec-once = hyprpaper
|
exec-once = hyprpaper
|
||||||
exec-once = waybar
|
exec-once = waybar
|
||||||
|
exec-once = systemctl --user start hyprpolkitagent
|
||||||
|
exec-once = dunst
|
||||||
|
exec-once = wl-paste --type text --watch cliphist store # Stores only text data
|
||||||
|
|
||||||
|
exec-once = [ workspace special:term silent] $terminal
|
||||||
|
exec-once = [ workspace special:browser silent] $browser -url "https://web.whatsapp.com"
|
||||||
|
exec-once = [ workspace special:music silent] spotify
|
||||||
|
|
||||||
|
# Script to make bitwarden firefox extension windows launch in floating mode
|
||||||
|
exec-once = ~/.config/hypr/scripts/float-bitwarden.sh
|
||||||
|
|
||||||
#############################
|
#############################
|
||||||
### ENVIRONMENT VARIABLES ###
|
### ENVIRONMENT VARIABLES ###
|
||||||
@ -73,7 +79,7 @@ cursor {
|
|||||||
# https://wiki.hyprland.org/Configuring/Variables/#general
|
# https://wiki.hyprland.org/Configuring/Variables/#general
|
||||||
general {
|
general {
|
||||||
gaps_in = 5
|
gaps_in = 5
|
||||||
gaps_out = 20
|
gaps_out = 10,20,20,20
|
||||||
|
|
||||||
border_size = 2
|
border_size = 2
|
||||||
|
|
||||||
@ -159,7 +165,7 @@ input {
|
|||||||
kb_options =
|
kb_options =
|
||||||
kb_rules =
|
kb_rules =
|
||||||
|
|
||||||
follow_mouse = 1
|
follow_mouse = 2
|
||||||
|
|
||||||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||||
|
|
||||||
@ -180,6 +186,10 @@ device {
|
|||||||
sensitivity = -0.5
|
sensitivity = -0.5
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# cursor {
|
||||||
|
# no_warps = true
|
||||||
|
# }
|
||||||
|
|
||||||
|
|
||||||
###################
|
###################
|
||||||
### KEYBINDINGS ###
|
### KEYBINDINGS ###
|
||||||
@ -193,12 +203,16 @@ bind = $mainMod, T, exec, $terminal
|
|||||||
bind = $mainMod, B, exec, $browser
|
bind = $mainMod, B, exec, $browser
|
||||||
bind = $mainMod, Return, exec, tofi-drun | xargs hyprctl dispatch exec --
|
bind = $mainMod, Return, exec, tofi-drun | xargs hyprctl dispatch exec --
|
||||||
bind = $mainMod, Q, killactive,
|
bind = $mainMod, Q, killactive,
|
||||||
|
bind = $mainMod, F, fullscreen,
|
||||||
bind = $mainMod, M, exit,
|
bind = $mainMod, M, exit,
|
||||||
bind = $mainMod, E, exec, $fileManager
|
bind = $mainMod, E, exec, $fileManager
|
||||||
bind = $mainMod, V, togglefloating,
|
bind = SUPER, V, exec, cliphist list | tofi | cliphist decode | wl-copy
|
||||||
bind = $mainMod, R, exec, $menu
|
bind = $mainMod, X, togglefloating,
|
||||||
bind = $mainMod, P, pseudo, # dwindle
|
bind = $mainMod, P, exec, bash -c ~/.config/hypr/presets/'$(ls ~/.config/hypr/presets | tofi)' # profile presets
|
||||||
bind = $mainMod, J, togglesplit, # dwindle
|
bind = $mainMod, J, togglesplit, # dwindle
|
||||||
|
bind = $mainMod SHIFT, S, exec, hyprshot -m region
|
||||||
|
bind = $mainMod, PRINT, exec, hyprshot -m window
|
||||||
|
bind = $mainMod SHIFT, B, exec, pkill waybar & hyprctl dispatch exec waybar
|
||||||
|
|
||||||
# Move focus with mainMod + arrow keys
|
# Move focus with mainMod + arrow keys
|
||||||
bind = $mainMod, left, movefocus, l
|
bind = $mainMod, left, movefocus, l
|
||||||
@ -206,7 +220,13 @@ bind = $mainMod, right, movefocus, r
|
|||||||
bind = $mainMod, up, movefocus, u
|
bind = $mainMod, up, movefocus, u
|
||||||
bind = $mainMod, down, movefocus, d
|
bind = $mainMod, down, movefocus, d
|
||||||
|
|
||||||
# Switch workspaces with mainMod + [0-9]
|
# Move windows with mainMod + SHIFT + arrow keys
|
||||||
|
bind = $mainMod SHIFT, left, movewindow, l
|
||||||
|
bind = $mainMod SHIFT, right, movewindow, r
|
||||||
|
bind = $mainMod SHIFT, up, movewindow, u
|
||||||
|
bind = $mainMod SHIFT, down, movewindow, d
|
||||||
|
|
||||||
|
# Switch workspaces of primary monitor with mainMod + [1-9]
|
||||||
bind = $mainMod, 1, workspace, 1
|
bind = $mainMod, 1, workspace, 1
|
||||||
bind = $mainMod, 2, workspace, 2
|
bind = $mainMod, 2, workspace, 2
|
||||||
bind = $mainMod, 3, workspace, 3
|
bind = $mainMod, 3, workspace, 3
|
||||||
@ -216,9 +236,19 @@ bind = $mainMod, 6, workspace, 6
|
|||||||
bind = $mainMod, 7, workspace, 7
|
bind = $mainMod, 7, workspace, 7
|
||||||
bind = $mainMod, 8, workspace, 8
|
bind = $mainMod, 8, workspace, 8
|
||||||
bind = $mainMod, 9, workspace, 9
|
bind = $mainMod, 9, workspace, 9
|
||||||
bind = $mainMod, 0, workspace, 10
|
|
||||||
|
|
||||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
# Switch workspaces of secondary monitor with mainMod + [F1-9]
|
||||||
|
bind = $mainMod, F1, workspace, 11
|
||||||
|
bind = $mainMod, F2, workspace, 12
|
||||||
|
bind = $mainMod, F3, workspace, 13
|
||||||
|
bind = $mainMod, F4, workspace, 14
|
||||||
|
bind = $mainMod, F5, workspace, 15
|
||||||
|
bind = $mainMod, F6, workspace, 16
|
||||||
|
bind = $mainMod, F7, workspace, 17
|
||||||
|
bind = $mainMod, F8, workspace, 18
|
||||||
|
bind = $mainMod, F9, workspace, 19
|
||||||
|
|
||||||
|
# Move active window to a workspace with mainMod + SHIFT + [1-9] (primary monitor)
|
||||||
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||||
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||||
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||||
@ -228,11 +258,25 @@ bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
|||||||
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||||
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||||
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||||
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
|
||||||
|
|
||||||
# Example special workspace (scratchpad)
|
# Move active window to a workspace with mainMod + SHIFT + [F1-F9] (secondary monitor)
|
||||||
bind = $mainMod, S, togglespecialworkspace, magic
|
bind = $mainMod SHIFT, F1, movetoworkspace, 11
|
||||||
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
bind = $mainMod SHIFT, F2, movetoworkspace, 12
|
||||||
|
bind = $mainMod SHIFT, F3, movetoworkspace, 13
|
||||||
|
bind = $mainMod SHIFT, F4, movetoworkspace, 14
|
||||||
|
bind = $mainMod SHIFT, F5, movetoworkspace, 15
|
||||||
|
bind = $mainMod SHIFT, F6, movetoworkspace, 16
|
||||||
|
bind = $mainMod SHIFT, F7, movetoworkspace, 17
|
||||||
|
bind = $mainMod SHIFT, F8, movetoworkspace, 18
|
||||||
|
bind = $mainMod SHIFT, F9, movetoworkspace, 19
|
||||||
|
|
||||||
|
# Special workspaces (scratchpad)
|
||||||
|
bind = $mainMod, F10, togglespecialworkspace, term
|
||||||
|
bind = $mainMod SHIFT, F10, movetoworkspace, special:term
|
||||||
|
bind = $mainMod, F11, togglespecialworkspace, browser
|
||||||
|
bind = $mainMod SHIFT, F11, movetoworkspace, special:browser
|
||||||
|
bind = $mainMod, F12, togglespecialworkspace, music
|
||||||
|
bind = $mainMod SHIFT, F12, movetoworkspace, special:music
|
||||||
|
|
||||||
# Scroll through existing workspaces with mainMod + scroll
|
# Scroll through existing workspaces with mainMod + scroll
|
||||||
bind = $mainMod, mouse_down, workspace, e+1
|
bind = $mainMod, mouse_down, workspace, e+1
|
||||||
@ -274,3 +318,23 @@ windowrulev2 = suppressevent maximize, class:.*
|
|||||||
|
|
||||||
# Fix some dragging issues with XWayland
|
# Fix some dragging issues with XWayland
|
||||||
windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
|
windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
|
||||||
|
|
||||||
|
# Window rules to assign windows to workspaces
|
||||||
|
windowrulev2 = float,title:^(.*Extension: Bitwarden.*)$
|
||||||
|
|
||||||
|
# Open audio settings in floating mode
|
||||||
|
windowrulev2 = float, size 1000 1000, move 50 50, class:org.pulseaudio.pavucontrol
|
||||||
|
windowrulev2 = size 900 500, class:org.pulseaudio.pavucontrol
|
||||||
|
windowrulev2 = move 2464 61, class:org.pulseaudio.pavucontrol
|
||||||
|
|
||||||
|
# Workspace rules to assign workspaces to monitors
|
||||||
|
workspace = 1, monitor:DP-2
|
||||||
|
workspace = 2, monitor:DP-2
|
||||||
|
workspace = 3, monitor:DP-2
|
||||||
|
workspace = 4, monitor:DP-2
|
||||||
|
workspace = 5, monitor:DP-2
|
||||||
|
workspace = 11, monitor:DP-3
|
||||||
|
workspace = 12, monitor:DP-3
|
||||||
|
workspace = 13, monitor:DP-3
|
||||||
|
workspace = 14, monitor:DP-3
|
||||||
|
workspace = 15, monitor:DP-3
|
||||||
7
.config/hypr/presets/wasteside.sh
Executable file
7
.config/hypr/presets/wasteside.sh
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
hyprctl dispatch exec "[ workspace 11 ]" "firefox -n"
|
||||||
|
hyprctl dispatch exec "[ workspace 12 silent ]" "clickup"
|
||||||
|
|
||||||
|
hyprctl dispatch exec "[ workspace 1 ]" "firefox -n"
|
||||||
|
hyprctl dispatch exec "[ workspace 1 ]" "code ~/code/wasteside/app"
|
||||||
33
.config/hypr/scripts/float-bitwarden.sh
Executable file
33
.config/hypr/scripts/float-bitwarden.sh
Executable file
@ -0,0 +1,33 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
timeout=0
|
||||||
|
handle() {
|
||||||
|
case $1 in
|
||||||
|
windowtitle*)
|
||||||
|
# Extract the window ID from the line
|
||||||
|
window_id=${1#*>>}
|
||||||
|
|
||||||
|
# Fetch the list of windows and parse it using jq to find the window by its decimal ID
|
||||||
|
window_info=$(hyprctl clients -j | jq --arg id "0x$window_id" '.[] | select(.address == ($id))')
|
||||||
|
|
||||||
|
# Extract the title from the window info
|
||||||
|
window_title=$(echo "$window_info" | jq -r '.title')
|
||||||
|
|
||||||
|
# Check if the title matches the characteristics of the Bitwarden popup window
|
||||||
|
if [[ "$window_title" == *"(Bitwarden"*"Password Manager) - Bitwarden"* ]]; then
|
||||||
|
|
||||||
|
# in case of double rename only allow once per second
|
||||||
|
if ((SECONDS < timeout)); then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
timeout=$((SECONDS + 1))
|
||||||
|
|
||||||
|
# echo "$window_id", "$window_title"
|
||||||
|
hyprctl --batch "dispatch togglefloating address:0x$window_id; dispatch resizewindowpixel exact 20% 54%,address:0x$window_id; dispatch centerwindow"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
# Listen to the Hyprland socket for events and process each line with the handle function
|
||||||
|
socat -U - UNIX-CONNECT:"$XDG_RUNTIME_DIR"/hypr/"$HYPRLAND_INSTANCE_SIGNATURE"/.socket2.sock | while read -r line; do handle "$line"; done
|
||||||
@ -2,11 +2,11 @@ prompt-text = "> "
|
|||||||
|
|
||||||
text-color = #cdd6f4
|
text-color = #cdd6f4
|
||||||
prompt-color = #585b70
|
prompt-color = #585b70
|
||||||
selection-color = #cba6f7
|
selection-color = #33ccff
|
||||||
background-color = #181825aa
|
background-color = #181825aa
|
||||||
|
|
||||||
width = 100%
|
width = 100%
|
||||||
padding-left = 35%
|
padding-left = 25%
|
||||||
padding-top = 30%
|
padding-top = 30%
|
||||||
height = 100%
|
height = 100%
|
||||||
border-width = 0
|
border-width = 0
|
||||||
|
|||||||
6
.config/waybar/.vscode/settings.json
vendored
6
.config/waybar/.vscode/settings.json
vendored
@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
"files.associations": {
|
|
||||||
"config" : "jsonc"
|
|
||||||
},
|
|
||||||
"editor.fontFamily": "'Fira Code', 'monospace', monospace"
|
|
||||||
}
|
|
||||||
@ -1,83 +0,0 @@
|
|||||||
{
|
|
||||||
"layer": "top",
|
|
||||||
"modules-left": [
|
|
||||||
"custom/arch",
|
|
||||||
"hyprland/workspaces"
|
|
||||||
],
|
|
||||||
"modules-center": [
|
|
||||||
"clock",
|
|
||||||
"custom/spotify"
|
|
||||||
],
|
|
||||||
"modules-right": [
|
|
||||||
"cpu",
|
|
||||||
"memory",
|
|
||||||
"pulseaudio",
|
|
||||||
"bluetooth",
|
|
||||||
"network"
|
|
||||||
],
|
|
||||||
"custom/arch": {
|
|
||||||
"format": " ",
|
|
||||||
"tooltip": false,
|
|
||||||
"on-click": "sh $HOME/.config/rofi/bin/powermenu"
|
|
||||||
},
|
|
||||||
"hyprland/workspaces": {
|
|
||||||
"format": "{icon}",
|
|
||||||
"tooltip": false,
|
|
||||||
"all-outputs": true,
|
|
||||||
"format-icons": {
|
|
||||||
"active": "",
|
|
||||||
"default": ""
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"clock": {
|
|
||||||
"format": "<span color='#b4befe'> </span>{0:%H:%M:%S} <span color='#b4befe'> </span>{0:%d.%m.%Y W%W}",
|
|
||||||
"interval": 1
|
|
||||||
},
|
|
||||||
"custom/spotify": {
|
|
||||||
"exec": "/usr/bin/python3 /home/paul/downloads/repos/Waybar/resources/custom_modules/mediaplayer.py --player spotify",
|
|
||||||
"format": "{} ",
|
|
||||||
"return-type": "json",
|
|
||||||
"on-click": "playerctl play-pause",
|
|
||||||
"on-scroll-up": "playerctl next",
|
|
||||||
"on-scroll-down": "playerctl previous"
|
|
||||||
},
|
|
||||||
"cpu": {
|
|
||||||
"format": "<span color='#b4befe'></span> {usage}%",
|
|
||||||
"interval": 5
|
|
||||||
},
|
|
||||||
"memory": {
|
|
||||||
"format": "<span color='#b4befe'></span> {percentage}% ({used}GiB)",
|
|
||||||
"interval": 5
|
|
||||||
},
|
|
||||||
"pulseaudio": {
|
|
||||||
"format": "<span color='#b4befe'>{icon}</span> {volume}%",
|
|
||||||
"format-muted": "",
|
|
||||||
"tooltip": false,
|
|
||||||
"format-icons": {
|
|
||||||
"headphone": "",
|
|
||||||
"default": [
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
""
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"scroll-step": 1,
|
|
||||||
},
|
|
||||||
"bluetooth": {
|
|
||||||
"format": "<span color='#b4befe'></span> {status}",
|
|
||||||
"format-disabled": "", // an empty format will hide the module
|
|
||||||
"format-connected": "<span color='#b4befe'></span> {num_connections}",
|
|
||||||
"tooltip-format": "{device_enumerate}",
|
|
||||||
"tooltip-format-enumerate-connected": "{device_alias} {device_address}"
|
|
||||||
},
|
|
||||||
"network": {
|
|
||||||
"format": " {ifname}",
|
|
||||||
"format-ethernet": " {ipaddr}/{cidr}",
|
|
||||||
"tooltip": false,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
111
.config/waybar/config.jsonc
Normal file
111
.config/waybar/config.jsonc
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
{
|
||||||
|
"layer": "top",
|
||||||
|
"output" : "DP-2",
|
||||||
|
"modules-left": [
|
||||||
|
"custom/power",
|
||||||
|
"hyprland/workspaces",
|
||||||
|
"custom/spotify"
|
||||||
|
],
|
||||||
|
"modules-center": [
|
||||||
|
"clock",
|
||||||
|
],
|
||||||
|
"modules-right": [
|
||||||
|
"privacy",
|
||||||
|
"pulseaudio",
|
||||||
|
"cpu",
|
||||||
|
"memory",
|
||||||
|
"bluetooth",
|
||||||
|
// "network",
|
||||||
|
"custom/wireguard"
|
||||||
|
],
|
||||||
|
"custom/power": {
|
||||||
|
"format": "⏻",
|
||||||
|
"tooltip": false,
|
||||||
|
},
|
||||||
|
"hyprland/workspaces": {
|
||||||
|
"format": "{name}",
|
||||||
|
"tooltip": false,
|
||||||
|
"all-outputs": true,
|
||||||
|
"on-click": "none"
|
||||||
|
},
|
||||||
|
"clock": {
|
||||||
|
"format": "{0:%H:%M:%S}",
|
||||||
|
"interval": 1,
|
||||||
|
"tooltip": true,
|
||||||
|
"tooltip-format": "{0:%A, %d.%m.%Y W%W}"
|
||||||
|
},
|
||||||
|
"custom/spotify": {
|
||||||
|
"exec": "/usr/bin/python3 /home/paul/downloads/repos/Waybar/resources/custom_modules/mediaplayer.py",
|
||||||
|
"format": "{}",
|
||||||
|
"return-type": "json",
|
||||||
|
"on-click": "playerctl play-pause",
|
||||||
|
"on-scroll-up": "playerctl next",
|
||||||
|
"on-scroll-down": "playerctl previous"
|
||||||
|
},
|
||||||
|
"privacy": {
|
||||||
|
"icon-spacing": 4,
|
||||||
|
"icon-size": 12,
|
||||||
|
"transition-duration": 250,
|
||||||
|
"modules": [
|
||||||
|
{
|
||||||
|
"type": "screenshare",
|
||||||
|
"tooltip": true,
|
||||||
|
"tooltip-icon-size": 24
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "audio-in",
|
||||||
|
"tooltip": true,
|
||||||
|
"tooltip-icon-size": 24
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"cpu": {
|
||||||
|
"format": " {usage}%",
|
||||||
|
"interval": 5,
|
||||||
|
"on-click": "hyprctl dispatch exec 'resources -t cpu'"
|
||||||
|
},
|
||||||
|
"memory": {
|
||||||
|
"format": " {percentage}% ({used}G)",
|
||||||
|
"interval": 5,
|
||||||
|
"on-click": "hyprctl dispatch exec 'resources -t memory'"
|
||||||
|
},
|
||||||
|
"pulseaudio": {
|
||||||
|
"format": "{icon} {volume}%",
|
||||||
|
"format-muted": "",
|
||||||
|
"tooltip": false,
|
||||||
|
"format-icons": {
|
||||||
|
"headphone": "",
|
||||||
|
"default": [
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
""
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"scroll-step": 1,
|
||||||
|
"on-click": "pavucontrol"
|
||||||
|
},
|
||||||
|
"bluetooth": {
|
||||||
|
"format": " {status}",
|
||||||
|
"format-disabled": "", // an empty format will hide the module
|
||||||
|
"format-connected": " {num_connections}",
|
||||||
|
"tooltip-format": "{device_enumerate}",
|
||||||
|
"tooltip-format-enumerate-connected": "{device_alias} {device_address}",
|
||||||
|
"on-click": "hyprctl dispatch exec overskride"
|
||||||
|
},
|
||||||
|
// "network": {
|
||||||
|
// "format": " {ifname}",
|
||||||
|
// "format-ethernet": " {ipaddr}/{cidr}",
|
||||||
|
// "tooltip": false,
|
||||||
|
// },
|
||||||
|
"custom/wireguard": {
|
||||||
|
"exec": "/usr/bin/python3 /home/paul/.config/waybar/scripts/wireguard.py wasteside",
|
||||||
|
"format": " {}",
|
||||||
|
"return-type": "json",
|
||||||
|
"interval": 5
|
||||||
|
}
|
||||||
|
}
|
||||||
23
.config/waybar/scripts/wireguard.py
Normal file
23
.config/waybar/scripts/wireguard.py
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
from argparse import ArgumentParser
|
||||||
|
from json import dumps
|
||||||
|
from subprocess import run
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
parser = ArgumentParser()
|
||||||
|
parser.add_argument("interfaces", nargs="+", help="one or more names of interfaces to watch")
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
watch = set(args.interfaces)
|
||||||
|
|
||||||
|
ifconfig = run(["ifconfig", "-s"], capture_output=True, text=True).stdout
|
||||||
|
|
||||||
|
interfaces = {line.split()[0] for line in ifconfig.splitlines()[1:]}
|
||||||
|
|
||||||
|
active = interfaces.intersection(watch)
|
||||||
|
|
||||||
|
result = {
|
||||||
|
"text": "active" if len(active) > 0 else "inactive",
|
||||||
|
"tooltip": "\n".join(active),
|
||||||
|
}
|
||||||
|
|
||||||
|
print(dumps(result))
|
||||||
@ -1,47 +1,74 @@
|
|||||||
* {
|
* {
|
||||||
border: none;
|
border: none;
|
||||||
font-family: 'Fira Code', 'Symbols Nerd Font Mono';
|
font-family: 'Fira Sans Semibold', 'Symbols Nerd Font Mono';
|
||||||
font-size: 12px;
|
font-size: 16px;
|
||||||
font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"';
|
font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"';
|
||||||
min-height: 20px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
window#waybar {
|
window#waybar {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
#custom-arch, #workspaces {
|
/* All modules */
|
||||||
border-radius: 10px;
|
|
||||||
background-color: rgba(17, 17, 27, 0.6);
|
|
||||||
color: #b4befe;
|
|
||||||
margin-top: 5px;
|
|
||||||
margin-right: 5px;
|
|
||||||
padding-top: 1px;
|
|
||||||
padding-left: 10px;
|
|
||||||
padding-right: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-arch {
|
/* Module on the left */
|
||||||
font-size: 14px;
|
.modules-left {
|
||||||
margin-left: 15px;
|
color: #cdd6f4;
|
||||||
color: #b4befe;
|
margin-top: 4px;
|
||||||
}
|
|
||||||
|
|
||||||
#custom-spotify {
|
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#custom-power {
|
||||||
|
background-color: rgba(255, 255, 255, 0.2);
|
||||||
|
color: white;
|
||||||
|
padding: 0px 9px;
|
||||||
|
border-radius: 100px;
|
||||||
|
font-weight: 800;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-power:hover {
|
||||||
|
background-color: #33ccff;
|
||||||
|
color: #107091;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces {
|
||||||
|
margin-left: 10px;
|
||||||
|
font-size: 12px;
|
||||||
|
border-radius: 100px;
|
||||||
|
background-color: rgba(255, 255, 255, 0.2);
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
#workspaces button {
|
#workspaces button {
|
||||||
color: #b4befe;
|
color: white;
|
||||||
|
animation: gradient_f 20s ease-in infinite;
|
||||||
|
transition: all 0.2s ease-in;
|
||||||
|
border-radius: 100px;
|
||||||
|
padding: 0px 4px;
|
||||||
|
margin: 0px 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#workspaces button:hover {
|
#workspaces button:hover {
|
||||||
color: #000000
|
background: none;
|
||||||
|
background-color: black;
|
||||||
|
color: white;
|
||||||
|
box-shadow: inherit;
|
||||||
|
text-shadow: inherit;
|
||||||
}
|
}
|
||||||
|
|
||||||
#clock, #custom-spotify, #cpu, #memory, #pulseaudio, #bluetooth, #network{
|
#workspaces button.active {
|
||||||
border-radius: 10px;
|
background-color: #33ccff;
|
||||||
background-color: rgba(17, 17, 27, 0.6);
|
color: #167797;
|
||||||
|
border-radius: 100px;
|
||||||
|
padding: 0px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-spotify {
|
||||||
|
margin-left: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Module in the middle */
|
||||||
|
#clock {
|
||||||
color: #cdd6f4;
|
color: #cdd6f4;
|
||||||
margin-top: 3px;
|
margin-top: 3px;
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
@ -49,23 +76,39 @@ window#waybar {
|
|||||||
margin-right: 15px;
|
margin-right: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#bluetooth, #cpu {
|
/* Module on the right */
|
||||||
border-top-right-radius: 0;
|
|
||||||
border-bottom-right-radius: 0;
|
|
||||||
padding-right: 5px;
|
|
||||||
margin-right: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
#network, #memory {
|
.modules-right {
|
||||||
border-top-left-radius: 0;
|
color: black;
|
||||||
border-bottom-left-radius: 0;
|
margin-top: 3px;
|
||||||
padding-left: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#network {
|
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#clock {
|
#custom-wireguard, #memory {
|
||||||
margin-right: 0;
|
background-color: rgba(255, 255, 255, 0.8);
|
||||||
|
border-radius: 0px 100px 100px 0px;
|
||||||
|
padding-right: 7px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#bluetooth, #cpu {
|
||||||
|
background-color: rgba(255, 255, 255, 0.8);
|
||||||
|
border-radius: 100px 0px 0px 100px;
|
||||||
|
padding: 0px 7px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#memory {
|
||||||
|
margin-right: 7px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pulseaudio {
|
||||||
|
color: white;
|
||||||
|
margin-right: 7px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#privacy {
|
||||||
|
background-color: rgba(17, 17, 27, 0.15);
|
||||||
|
padding: 0px 10px;
|
||||||
|
border-radius: 100px;
|
||||||
|
color: white;
|
||||||
|
margin-right: 7px;
|
||||||
|
}
|
||||||
@ -1,3 +1,3 @@
|
|||||||
export PYENV_ROOT="$HOME/.pyenv"
|
export PYENV_ROOT="$HOME/.pyenv"
|
||||||
export PATH="$PYENV_ROOT/bin:$PATH"
|
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
|
||||||
eval "$(pyenv init --path)"
|
eval "$(pyenv init -)"
|
||||||
|
|||||||
21
.zshrc
21
.zshrc
@ -65,6 +65,9 @@ DISABLE_UNTRACKED_FILES_DIRTY="true"
|
|||||||
# Would you like to use another custom folder than $ZSH/custom?
|
# Would you like to use another custom folder than $ZSH/custom?
|
||||||
# ZSH_CUSTOM=/path/to/new-custom-folder
|
# ZSH_CUSTOM=/path/to/new-custom-folder
|
||||||
|
|
||||||
|
# Force pyenv to stop complaining about non-interactive shells
|
||||||
|
ZSH_PYENV_QUIET="true"
|
||||||
|
|
||||||
# Which plugins would you like to load?
|
# Which plugins would you like to load?
|
||||||
# Standard plugins can be found in $ZSH/plugins/
|
# Standard plugins can be found in $ZSH/plugins/
|
||||||
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
|
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
|
||||||
@ -109,12 +112,6 @@ fi
|
|||||||
# alias zshconfig="mate ~/.zshrc"
|
# alias zshconfig="mate ~/.zshrc"
|
||||||
# alias ohmyzsh="mate ~/.oh-my-zsh"
|
# alias ohmyzsh="mate ~/.oh-my-zsh"
|
||||||
|
|
||||||
# pyenv stuff
|
|
||||||
export PYENV_ROOT="$HOME/.pyenv"
|
|
||||||
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
|
|
||||||
eval "$(pyenv init -)"
|
|
||||||
eval "$(pyenv virtualenv-init -)"
|
|
||||||
|
|
||||||
# Reboot to Windows
|
# Reboot to Windows
|
||||||
reboot_windows()
|
reboot_windows()
|
||||||
{
|
{
|
||||||
@ -145,7 +142,7 @@ alias wol=wakeonlan
|
|||||||
alias ge=gnome-extensions
|
alias ge=gnome-extensions
|
||||||
alias open="xdg-open"
|
alias open="xdg-open"
|
||||||
alias lg="lazygit"
|
alias lg="lazygit"
|
||||||
alias wstmux="cd ~/code/wasteside && tmux new -A -s wasteside"
|
alias wstmux="cd ~/code/wasteside/app && tmux new -A -s wasteside"
|
||||||
|
|
||||||
alias R="R --no-save"
|
alias R="R --no-save"
|
||||||
|
|
||||||
@ -169,11 +166,6 @@ HISTFILE=~/.histfile
|
|||||||
HISTSIZE=10000
|
HISTSIZE=10000
|
||||||
SAVEHIST=10000
|
SAVEHIST=10000
|
||||||
|
|
||||||
# reload "blur my shell"
|
|
||||||
alias blur-my-shell="gnome-extensions disable blur-my-shell@aunetx && gnome-extensions enable blur-my-shell@aunetx"
|
|
||||||
alias bms=blur-my-shell
|
|
||||||
bms # run it, so it reloads on terminal open
|
|
||||||
|
|
||||||
# zoxide
|
# zoxide
|
||||||
eval "$(zoxide init --cmd cd zsh)"
|
eval "$(zoxide init --cmd cd zsh)"
|
||||||
|
|
||||||
@ -183,3 +175,8 @@ export SDKMAN_DIR="$HOME/.sdkman"
|
|||||||
|
|
||||||
# Yarn
|
# Yarn
|
||||||
export PATH="$HOME/.yarn/bin:$PATH"
|
export PATH="$HOME/.yarn/bin:$PATH"
|
||||||
|
|
||||||
|
# pyenv stuff (make sure this is at the end of the file)
|
||||||
|
export PYENV_ROOT="$HOME/.pyenv"
|
||||||
|
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
|
||||||
|
eval "$(pyenv init -)"
|
||||||
Reference in New Issue
Block a user