update configs
This commit is contained in:
@ -12,6 +12,7 @@
|
||||
"editor.suggestSelection": "first",
|
||||
"vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
|
||||
"window.titleBarStyle": "custom",
|
||||
"workbench.sideBar.location": "right",
|
||||
//
|
||||
// Excluded files and directories
|
||||
"files.exclude": {
|
||||
@ -32,12 +33,6 @@
|
||||
"editor.fontFamily"
|
||||
],
|
||||
//
|
||||
// Various settings
|
||||
"explorer.confirmDragAndDrop": false,
|
||||
"workbench.startupEditor": "none",
|
||||
"security.workspace.trust.untrustedFiles": "open",
|
||||
"emmet.showExpandedAbbreviation": "never",
|
||||
//
|
||||
// Remote SSH
|
||||
"remote.SSH.remotePlatform": {
|
||||
"lab-pc07": "linux",
|
||||
@ -54,6 +49,7 @@
|
||||
//
|
||||
// Python
|
||||
"python.languageServer": "Default",
|
||||
"python.createEnvironment.trigger": "off",
|
||||
"[python]": {
|
||||
"editor.formatOnSave": true,
|
||||
"editor.rulers": [
|
||||
@ -99,10 +95,21 @@
|
||||
"source.organizeImports": "always"
|
||||
}
|
||||
},
|
||||
//
|
||||
// Hex Editor
|
||||
"hexeditor.columnWidth": 4,
|
||||
"hexeditor.showDecodedText": true,
|
||||
"hexeditor.defaultEndianness": "little",
|
||||
"hexeditor.inspectorType": "aside",
|
||||
//
|
||||
// Typst
|
||||
"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/
|
||||
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
|
||||
$terminal = alacritty
|
||||
$fileManager = nautilus
|
||||
$menu = wofi --show drun
|
||||
$fileManager = nautilus --new-window
|
||||
$browser = firefox
|
||||
|
||||
|
||||
@ -40,11 +39,18 @@ $browser = firefox
|
||||
# Autostart necessary processes (like notifications daemons, status bars, etc.)
|
||||
# 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 = 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 ###
|
||||
@ -73,7 +79,7 @@ cursor {
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#general
|
||||
general {
|
||||
gaps_in = 5
|
||||
gaps_out = 20
|
||||
gaps_out = 10,20,20,20
|
||||
|
||||
border_size = 2
|
||||
|
||||
@ -159,7 +165,7 @@ input {
|
||||
kb_options =
|
||||
kb_rules =
|
||||
|
||||
follow_mouse = 1
|
||||
follow_mouse = 2
|
||||
|
||||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||
|
||||
@ -180,6 +186,10 @@ device {
|
||||
sensitivity = -0.5
|
||||
}
|
||||
|
||||
# cursor {
|
||||
# no_warps = true
|
||||
# }
|
||||
|
||||
|
||||
###################
|
||||
### KEYBINDINGS ###
|
||||
@ -193,12 +203,16 @@ bind = $mainMod, T, exec, $terminal
|
||||
bind = $mainMod, B, exec, $browser
|
||||
bind = $mainMod, Return, exec, tofi-drun | xargs hyprctl dispatch exec --
|
||||
bind = $mainMod, Q, killactive,
|
||||
bind = $mainMod, F, fullscreen,
|
||||
bind = $mainMod, M, exit,
|
||||
bind = $mainMod, E, exec, $fileManager
|
||||
bind = $mainMod, V, togglefloating,
|
||||
bind = $mainMod, R, exec, $menu
|
||||
bind = $mainMod, P, pseudo, # dwindle
|
||||
bind = SUPER, V, exec, cliphist list | tofi | cliphist decode | wl-copy
|
||||
bind = $mainMod, X, togglefloating,
|
||||
bind = $mainMod, P, exec, bash -c ~/.config/hypr/presets/'$(ls ~/.config/hypr/presets | tofi)' # profile presets
|
||||
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
|
||||
bind = $mainMod, left, movefocus, l
|
||||
@ -206,7 +220,13 @@ bind = $mainMod, right, movefocus, r
|
||||
bind = $mainMod, up, movefocus, u
|
||||
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, 2, workspace, 2
|
||||
bind = $mainMod, 3, workspace, 3
|
||||
@ -216,9 +236,19 @@ bind = $mainMod, 6, workspace, 6
|
||||
bind = $mainMod, 7, workspace, 7
|
||||
bind = $mainMod, 8, workspace, 8
|
||||
bind = $mainMod, 9, workspace, 9
|
||||
bind = $mainMod, 0, workspace, 10
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
# 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, 2, movetoworkspace, 2
|
||||
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, 8, movetoworkspace, 8
|
||||
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||
|
||||
# Example special workspace (scratchpad)
|
||||
bind = $mainMod, S, togglespecialworkspace, magic
|
||||
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||||
# Move active window to a workspace with mainMod + SHIFT + [F1-F9] (secondary monitor)
|
||||
bind = $mainMod SHIFT, F1, movetoworkspace, 11
|
||||
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
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
@ -274,3 +318,23 @@ windowrulev2 = suppressevent maximize, class:.*
|
||||
|
||||
# Fix some dragging issues with XWayland
|
||||
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
|
||||
prompt-color = #585b70
|
||||
selection-color = #cba6f7
|
||||
selection-color = #33ccff
|
||||
background-color = #181825aa
|
||||
|
||||
width = 100%
|
||||
padding-left = 35%
|
||||
padding-left = 25%
|
||||
padding-top = 30%
|
||||
height = 100%
|
||||
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;
|
||||
font-family: 'Fira Code', 'Symbols Nerd Font Mono';
|
||||
font-size: 12px;
|
||||
font-family: 'Fira Sans Semibold', 'Symbols Nerd Font Mono';
|
||||
font-size: 16px;
|
||||
font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"';
|
||||
min-height: 20px;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
#custom-arch, #workspaces {
|
||||
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;
|
||||
}
|
||||
/* All modules */
|
||||
|
||||
#custom-arch {
|
||||
font-size: 14px;
|
||||
margin-left: 15px;
|
||||
color: #b4befe;
|
||||
}
|
||||
|
||||
#custom-spotify {
|
||||
/* Module on the left */
|
||||
.modules-left {
|
||||
color: #cdd6f4;
|
||||
margin-top: 4px;
|
||||
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 {
|
||||
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 {
|
||||
color: #000000
|
||||
background: none;
|
||||
background-color: black;
|
||||
color: white;
|
||||
box-shadow: inherit;
|
||||
text-shadow: inherit;
|
||||
}
|
||||
|
||||
#clock, #custom-spotify, #cpu, #memory, #pulseaudio, #bluetooth, #network{
|
||||
border-radius: 10px;
|
||||
background-color: rgba(17, 17, 27, 0.6);
|
||||
#workspaces button.active {
|
||||
background-color: #33ccff;
|
||||
color: #167797;
|
||||
border-radius: 100px;
|
||||
padding: 0px 10px;
|
||||
}
|
||||
|
||||
#custom-spotify {
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
/* Module in the middle */
|
||||
#clock {
|
||||
color: #cdd6f4;
|
||||
margin-top: 3px;
|
||||
padding-left: 10px;
|
||||
@ -49,23 +76,39 @@ window#waybar {
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
#bluetooth, #cpu {
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
padding-right: 5px;
|
||||
margin-right: 0
|
||||
}
|
||||
/* Module on the right */
|
||||
|
||||
#network, #memory {
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
#network {
|
||||
.modules-right {
|
||||
color: black;
|
||||
margin-top: 3px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
#clock {
|
||||
margin-right: 0;
|
||||
#custom-wireguard, #memory {
|
||||
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 PATH="$PYENV_ROOT/bin:$PATH"
|
||||
eval "$(pyenv init --path)"
|
||||
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$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?
|
||||
# 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?
|
||||
# Standard plugins can be found in $ZSH/plugins/
|
||||
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
|
||||
@ -109,12 +112,6 @@ fi
|
||||
# alias zshconfig="mate ~/.zshrc"
|
||||
# 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_windows()
|
||||
{
|
||||
@ -145,7 +142,7 @@ alias wol=wakeonlan
|
||||
alias ge=gnome-extensions
|
||||
alias open="xdg-open"
|
||||
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"
|
||||
|
||||
@ -169,11 +166,6 @@ HISTFILE=~/.histfile
|
||||
HISTSIZE=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
|
||||
eval "$(zoxide init --cmd cd zsh)"
|
||||
|
||||
@ -183,3 +175,8 @@ export SDKMAN_DIR="$HOME/.sdkman"
|
||||
|
||||
# Yarn
|
||||
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