diff --git a/.config/Code/User/settings.json b/.config/Code/User/settings.json
index 130e3cc..dfb78fb 100644
--- a/.config/Code/User/settings.json
+++ b/.config/Code/User/settings.json
@@ -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,
}
\ No newline at end of file
diff --git a/.config/alacritty/themes/current.toml b/.config/alacritty/themes/current.toml
index a6b0acd..6031c52 120000
--- a/.config/alacritty/themes/current.toml
+++ b/.config/alacritty/themes/current.toml
@@ -1 +1 @@
-/home/paul/dotfiles/.config/alacritty/themes/dark/default.toml
\ No newline at end of file
+dark/default.toml
\ No newline at end of file
diff --git a/.config/dunst/dunstrc b/.config/dunst/dunstrc
new file mode 100644
index 0000000..e9feb42
--- /dev/null
+++ b/.config/dunst/dunstrc
@@ -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 = "%a\n%s\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
\ No newline at end of file
diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf
index c6ca88f..5871165 100644
--- a/.config/hypr/hyprland.conf
+++ b/.config/hypr/hyprland.conf
@@ -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
\ No newline at end of file
diff --git a/.config/hypr/presets/wasteside.sh b/.config/hypr/presets/wasteside.sh
new file mode 100755
index 0000000..48759f1
--- /dev/null
+++ b/.config/hypr/presets/wasteside.sh
@@ -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"
diff --git a/.config/hypr/scripts/float-bitwarden.sh b/.config/hypr/scripts/float-bitwarden.sh
new file mode 100755
index 0000000..0cae111
--- /dev/null
+++ b/.config/hypr/scripts/float-bitwarden.sh
@@ -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
\ No newline at end of file
diff --git a/.config/tofi/config b/.config/tofi/config
index fc5542e..ef8fa72 100644
--- a/.config/tofi/config
+++ b/.config/tofi/config
@@ -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
diff --git a/.config/waybar/.vscode/settings.json b/.config/waybar/.vscode/settings.json
deleted file mode 100644
index ce22e55..0000000
--- a/.config/waybar/.vscode/settings.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "files.associations": {
- "config" : "jsonc"
- },
- "editor.fontFamily": "'Fira Code', 'monospace', monospace"
-}
\ No newline at end of file
diff --git a/.config/waybar/config b/.config/waybar/config
deleted file mode 100644
index 28cd3fa..0000000
--- a/.config/waybar/config
+++ /dev/null
@@ -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": " {0:%H:%M:%S} {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": " {usage}%",
- "interval": 5
- },
- "memory": {
- "format": " {percentage}% ({used}GiB)",
- "interval": 5
- },
- "pulseaudio": {
- "format": "{icon} {volume}%",
- "format-muted": "",
- "tooltip": false,
- "format-icons": {
- "headphone": "",
- "default": [
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- ""
- ]
- },
- "scroll-step": 1,
- },
- "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}"
- },
- "network": {
- "format": " {ifname}",
- "format-ethernet": " {ipaddr}/{cidr}",
- "tooltip": false,
- }
-}
\ No newline at end of file
diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc
new file mode 100644
index 0000000..b704e0b
--- /dev/null
+++ b/.config/waybar/config.jsonc
@@ -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
+ }
+}
diff --git a/.config/waybar/scripts/wireguard.py b/.config/waybar/scripts/wireguard.py
new file mode 100644
index 0000000..d4429c8
--- /dev/null
+++ b/.config/waybar/scripts/wireguard.py
@@ -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))
diff --git a/.config/waybar/style.css b/.config/waybar/style.css
index 4a94f3f..9e98927 100644
--- a/.config/waybar/style.css
+++ b/.config/waybar/style.css
@@ -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;
+}
\ No newline at end of file
diff --git a/.zprofile b/.zprofile
index 5791174..9eaa048 100644
--- a/.zprofile
+++ b/.zprofile
@@ -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 -)"
diff --git a/.zshrc b/.zshrc
index cab3efe..87110bc 100644
--- a/.zshrc
+++ b/.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 -)"
\ No newline at end of file