diff --git a/clipse/config.json b/clipse/config.json new file mode 100644 index 0000000..aeca10a --- /dev/null +++ b/clipse/config.json @@ -0,0 +1,36 @@ +{ + "allowDuplicates": false, + "historyFile": "$XDG_DATA_HOME/clipse/clipboard_history.json", + "maxHistory": 100, + "logFile": "$XDG_DATA_HOME/clipse/clipse.log", + "themeFile": "custom_theme.json", + "tempDir": "$XDG_DATA_HOME/clipse/tmp_files", + "keyBindings": { + "choose": "enter", + "clearSelected": "S", + "down": "down", + "end": "end", + "filter": "/", + "home": "home", + "more": "?", + "nextPage": "right", + "prevPage": "left", + "preview": " ", + "quit": "q", + "remove": "x", + "selectDown": "ctrl+down", + "selectSingle": "s", + "selectUp": "ctrl+up", + "togglePin": "p", + "togglePinned": "tab", + "up": "up", + "yankFilter": "ctrl+s" + }, + "imageDisplay": { + "type": "basic", + "scaleX": 9, + "scaleY": 9, + "heightCut": 2 + } +} + diff --git a/clipse/custom_theme.json b/clipse/custom_theme.json new file mode 100644 index 0000000..3759206 --- /dev/null +++ b/clipse/custom_theme.json @@ -0,0 +1,28 @@ +{ + "useCustomTheme": false, + "TitleFore": "#ffffff", + "TitleBack": "#6F4CBC", + "TitleInfo": "#3498db", + "NormalTitle": "#ffffff", + "DimmedTitle": "#808080", + "SelectedTitle": "#FF69B4", + "NormalDesc": "#808080", + "DimmedDesc": "#808080", + "SelectedDesc": "#FF69B4", + "StatusMsg": "#2ecc71", + "PinIndicatorColor": "#FFD700", + "SelectedBorder": "#3498db", + "SelectedDescBorder": "#3498db", + "FilteredMatch": "#ffffff", + "FilterPrompt": "#2ecc71", + "FilterInfo": "#3498db", + "FilterText": "#ffffff", + "FilterCursor": "#FFD700", + "HelpKey": "#999999", + "HelpDesc": "#808080", + "PageActiveDot": "#3498db", + "PageInactiveDot": "#808080", + "DividerDot": "#3498db", + "PreviewedText": "#ffffff", + "PreviewBorder": "#3498db" +} \ No newline at end of file diff --git a/hypr/autostart.conf b/hypr/autostart.conf index f58a88e..b04af2c 100644 --- a/hypr/autostart.conf +++ b/hypr/autostart.conf @@ -6,10 +6,12 @@ # Autostart necessary processes (like notifications daemons, status bars, etc.) # Or execute your favorite apps at launch like this: +exec-once = pidof hyprpaper | uwsm app -- hyprpaper +exec-once = pidof hypridle | uwsm app -- hypridle exec-once = uwsm app -- elephant -exec-once = uwsm app -- hyprpaper exec-once = uwsm app -- swaync exec-once = uwsm app -- walker --gapplication-service & exec-once = uwsm app -- waybar +exec-once = clipse -listen diff --git a/hypr/hypridle.conf b/hypr/hypridle.conf new file mode 100644 index 0000000..876c076 --- /dev/null +++ b/hypr/hypridle.conf @@ -0,0 +1,34 @@ +general { + lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances. + before_sleep_cmd = loginctl lock-session # lock before suspend. + after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display. +} + +listener { + timeout = 150 # 2.5min. + on-timeout = brightnessctl -s set 10 # set monitor backlight to minimum, avoid 0 on OLED monitor. + on-resume = brightnessctl -r # monitor backlight restore. +} + +# turn off keyboard backlight, comment out this section if you dont have a keyboard backlight. +listener { + timeout = 150 # 2.5min. + on-timeout = brightnessctl -sd rgb:kbd_backlight set 0 # turn off keyboard backlight. + on-resume = brightnessctl -rd rgb:kbd_backlight # turn on keyboard backlight. +} + +listener { + timeout = 300 # 5min + on-timeout = loginctl lock-session # lock screen when timeout has passed +} + +listener { + timeout = 330 # 5.5min + on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed + on-resume = hyprctl dispatch dpms on && brightnessctl -r # screen on when activity is detected after timeout has fired. +} + +listener { + timeout = 1800 # 30min + on-timeout = systemctl suspend # suspend pc +} diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index 695655c..c33c941 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -39,7 +39,7 @@ source = ~/.config/hypr/autostart.conf # https://wiki.hyprland.org/Configuring/Variables/#general general { gaps_in = 2 - gaps_out = 5 + gaps_out = 3 border_size = 1 @@ -53,7 +53,7 @@ general { # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on allow_tearing = false - layout = master + layout = dwindle # or master } # https://wiki.hyprland.org/Configuring/Variables/#decoration diff --git a/hypr/keybinds.conf b/hypr/keybinds.conf index 8e51b9f..d31a749 100644 --- a/hypr/keybinds.conf +++ b/hypr/keybinds.conf @@ -36,17 +36,18 @@ bind = $mainMod, F, exec, $fileManager #bind = $mainMod, K, exec, $launch Komodo bind = $mainMod SHIFT, F, exec, $fileBrowser bind = $mainMod, G, exec, $pwa "https://git.housh.dev" +bind = $mainMod, M, exec, ~/.local/bin/toggle-waybar bind = $mainMod, N, exec, $terminal -e nvim bind = $mainMod, P, exec, $pwa "https://pass.proton.me" bind = $mainMod, Y, exec, $pwa "https://youtube.com" +bind = $mainMod, V, exec, kitty --class clipse -e clipse bind = $mainMod, W, killactive, bind = $mainMod SHIFT, R, exec, ~/.local/bin/waybar-restart # TODO: change modifier key. #bind = $mainMod SHIFT, L, exec, hyprlock # TODO: change modifier key. -bind = $mainMod, M, exec, ~/.local/bin/toggle-waybar -bind = $mainMod, V, togglefloating +#bind = $mainMod, V, togglefloating #bind = $mainMod, P, pseudo, # dwindle #bind = $mainMod, J, togglesplit, # dwindle # diff --git a/hypr/windows.conf b/hypr/windows.conf index e562340..ae8fa7c 100644 --- a/hypr/windows.conf +++ b/hypr/windows.conf @@ -9,6 +9,11 @@ # Force bluetooth settings to be a floating window windowrule = float, class:^(blueberry.py)$ +# Clipboard history tui in floating window. +windowrule = float, class:(clipse) +windowrule = size 622 652, class:(clipse) +windowrule = stayfocused, class:(clipse) + windowrule = float,class:^(float)$ windowrule = size 800 600,class:^(float)$,title:^(Install Web App)$ diff --git a/hypr/workspaces.conf b/hypr/workspaces.conf index e69de29..4d6c666 100644 --- a/hypr/workspaces.conf +++ b/hypr/workspaces.conf @@ -0,0 +1,14 @@ + +# Set work spaces 1-5 to be on external monitor +workspace = 1, monitor:1 +workspace = 2, monitor:1 +workspace = 3, monitor:1 +workspace = 4, monitor:1 +workspace = 5, monitor:1 + +# Set work spaces 6-10 to be on internal monitor +workspace = 6, monitor:0 +workspace = 7, monitor:0 +workspace = 8, monitor:0 +workspace = 9, monitor:0 +workspace = 10, monitor:0 diff --git a/nvim/lazynvim/lua/config/autocmds.lua b/nvim/lazynvim/lua/config/autocmds.lua index d706fc8..dc03d64 100644 --- a/nvim/lazynvim/lua/config/autocmds.lua +++ b/nvim/lazynvim/lua/config/autocmds.lua @@ -14,6 +14,19 @@ createCmd("BufEnter", { end, }) +-- Hyprlang LSP +vim.api.nvim_create_autocmd({ "BufEnter", "BufWinEnter" }, { + pattern = { "*.hl", "hypr*.conf" }, + callback = function(event) + print(string.format("starting hyprls for %s", vim.inspect(event))) + vim.lsp.start({ + name = "hyprlang", + cmd = { "hyprls" }, + root_dir = vim.fn.getcwd(), + }) + end, +}) + -- Markdown -- createCmd("BufWritePost", { -- pattern = { "*.md", "*.markdown" }, diff --git a/scripts/install-brew.sh b/scripts/install-brew.sh deleted file mode 100755 index 2dfb5ac..0000000 --- a/scripts/install-brew.sh +++ /dev/null @@ -1,4 +0,0 @@ -#/bin/bash - -/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" -chmod -R go-w "$(/opt/homebrew/bin/brew --prefix)" diff --git a/scripts/install-pkg-arch.sh b/scripts/install-pkg-arch.sh new file mode 100755 index 0000000..c540cef --- /dev/null +++ b/scripts/install-pkg-arch.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +# Installs required packages / applications when setting up a new +# arch linux with hyprland machine. +# +# TODO: I started this after a machine was already setup, so this may +# need to be revisited to ensure packages installed before this +# script started are included. + +# Clipboard history utility +yay -S --noconfirm clipse wl-clipboard diff --git a/scripts/install_launch_agents b/scripts/install_launch_agents deleted file mode 100755 index 866a7cc..0000000 --- a/scripts/install_launch_agents +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh - -set -e - -# Installs launchd agents. - -agent_dir="${HOME}/Library/LaunchAgents" -uid="$(id -u "$(whoami)")" - -mkdir -p "$agent_dir" - -for file in "${DOTFILES}"/macOS/LaunchAgents/*.plist; do - # get just the base file name, similar to using `basename` but w/o a subshell - filename="${file##*/}" - path="${agent_dir}/${filename}" - echo "$filename" - if ! test -e "${path}"; then - echo "Installing Agent: ${filename}" - cp "${file}" "${path}" - launchctl enable "user/${uid}/${filename}" - fi -done diff --git a/scripts/setup-dirs.sh b/scripts/setup-dirs.sh new file mode 100755 index 0000000..0744bd0 --- /dev/null +++ b/scripts/setup-dirs.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +# Set up clipse (clipboard history) storage directories / files. +mkdir -p ~/.local/share/clipse/tmp_files +touch ~/.local/share/clipse/clipboard_history.json +chmod 600 ~/.local/share/clipse/clipboard_history.json + + diff --git a/scripts/setup_defaults b/scripts/setup_defaults deleted file mode 100755 index 4865e38..0000000 --- a/scripts/setup_defaults +++ /dev/null @@ -1,103 +0,0 @@ -#!/bin/bash - -# sets default settings for macOS - -# change screen capture / screenshot location -defaults write com.apple.screencapture location -string "$SCREENSHOTS" - -# save screenshots in png format -defaults write com.apple.screencapture type -string "png" - -# Disable shadow in screenshots -defaults write com.apple.screencapture disable-shadow -bool true - -# Expand save panel by default -defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode -bool true -defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode2 -bool true - -# Expand print panel by default -defaults write NSGlobalDomain PMPrintingExpandedStateForPrint -bool true -defaults write NSGlobalDomain PMPrintingExpandedStateForPrint2 -bool true - -# Disable the “Are you sure you want to open this application?” dialog -defaults write com.apple.LaunchServices LSQuarantine -bool false - -# Enable full keyboard access for all controls -# (e.g. enable Tab in modal dialogs) -defaults write NSGlobalDomain AppleKeyboardUIMode -int 3 - -# Set a blazingly fast keyboard repeat rate -defaults write NSGlobalDomain KeyRepeat -int 1 -defaults write NSGlobalDomain InitialKeyRepeat -int 10 - -# Finder: allow quitting via ⌘ + Q; doing so will also hide desktop icons -defaults write com.apple.finder QuitMenuItem -bool true - -# Set Home as the default location for new Finder windows -defaults write com.apple.finder NewWindowTarget -string "PfHm" -defaults write com.apple.finder NewWindowTargetPath -string "file://${HOME}/" - -# Show icons for hard drives, servers, and removable media on the desktop -defaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool true -defaults write com.apple.finder ShowHardDrivesOnDesktop -bool true -defaults write com.apple.finder ShowMountedServersOnDesktop -bool true -defaults write com.apple.finder ShowRemovableMediaOnDesktop -bool true - -# Finder: show all filename extensions -defaults write NSGlobalDomain AppleShowAllExtensions -bool true - -# Finder: show status bar -defaults write com.apple.finder ShowStatusBar -bool true - -# Finder: show path bar -defaults write com.apple.finder ShowPathbar -bool true - -# Display full POSIX path as Finder window title -defaults write com.apple.finder _FXShowPosixPathInTitle -bool true - -# Keep folders on top when sorting by name -defaults write com.apple.finder _FXSortFoldersFirst -bool true - -# When performing a search, search the current folder by default -defaults write com.apple.finder FXDefaultSearchScope -string "SCcf" - -# Avoid creating .DS_Store files on network or USB volumes -defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true -defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true - -# Use column view in all Finder windows by default -# Four-letter codes for the other view modes: `icnv`, `Nlsv`, `glyv` -defaults write com.apple.finder FXPreferredViewStyle -string "clmv" - -# Disable the warning before emptying the Trash -defaults write com.apple.finder WarnOnEmptyTrash -bool false - -# Show the ~/Library folder -#chflags nohidden ~/Library && xattr -d com.apple.FinderInfo ~/Library - -# Copy email addresses as `foo@example.com` instead of `Foo Bar ` in Mail.app -defaults write com.apple.mail AddressesIncludeNameOnPasteboard -bool false - -# Only use UTF-8 in Terminal.app -defaults write com.apple.terminal StringEncodings -array 4 - -# Enable Secure Keyboard Entry in Terminal.app -# See: https://security.stackexchange.com/a/47786/8918 -defaults write com.apple.terminal SecureKeyboardEntry -bool true - -# Prevent Time Machine from prompting to use new hard drives as backup volume -defaults write com.apple.TimeMachine DoNotOfferNewDisksForBackup -bool true - -# Disable local Time Machine backups -# hash tmutil &> /dev/null && sudo tmutil disablelocal - -# kill affected apps -for app in "Main" \ - "Photos" \ - "Finder" \ - "SystemUIServer"; do - killall "${app}" &> /dev/null -done - -echo "Done. Some changes require a restart to take effect." - diff --git a/systemd/user/graphical-session.target.wants/hypridle.service b/systemd/user/graphical-session.target.wants/hypridle.service new file mode 120000 index 0000000..55da293 --- /dev/null +++ b/systemd/user/graphical-session.target.wants/hypridle.service @@ -0,0 +1 @@ +/usr/lib/systemd/user/hypridle.service \ No newline at end of file diff --git a/systemd/user/graphical-session.target.wants/hyprpaper.service b/systemd/user/graphical-session.target.wants/hyprpaper.service new file mode 120000 index 0000000..a5b7405 --- /dev/null +++ b/systemd/user/graphical-session.target.wants/hyprpaper.service @@ -0,0 +1 @@ +/usr/lib/systemd/user/hyprpaper.service \ No newline at end of file diff --git a/waybar/config.jsonc b/waybar/config.jsonc index c9fe016..22950dc 100644 --- a/waybar/config.jsonc +++ b/waybar/config.jsonc @@ -1,135 +1,65 @@ // -*- mode: jsonc -*- { - "reload_style_on_change": true, - "layer": "top", // Waybar at top layer - "position": "top", // Waybar position (top|bottom|left|right) - "height": 26, // Waybar height (to be removed for auto height) - // "width": 1280, // Waybar width - "spacing": 4, // Gaps between modules (4px) - // Choose the order of the modules - "modules-left": [ - "hyprland/workspaces", - "sway/mode", - "sway/scratchpad", - "custom/media", - ], + "layer": "top", + "position": "top", + "modules-left": ["hyprland/workspaces"], "modules-center": ["clock"], "modules-right": [ - "mpd", - "idle_inhibitor", "pulseaudio", "tray", - "network", "cpu", "memory", - "temperature", - "backlight", "battery", - "custom/power", + "network", + "custom/lock", ], "hyprland/workspaces": { - "on-click": "activate", - "format": "{icon}", + "format": "{name}: {icon}", "format-icons": { - "default": "", - "1": "1", - "2": "2", - "3": "3", - "4": "4", - "5": "5", - "6": "6", - "7": "7", - "8": "8", - "9": "9", - "active": "󱓻", - }, - // "persistent-workspaces": { - // "1": [], - // "2": [], - // "3": [], - // "4": [], - // "5": [], - // }, - }, - "mpd": { - "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ", - "format-disconnected": "Disconnected ", - "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", - "unknown-tag": "N/A", - "interval": 5, - "consume-icons": { - "on": " ", - }, - "random-icons": { - "off": " ", - "on": " ", - }, - "repeat-icons": { - "on": " ", - }, - "single-icons": { - "on": "1 ", - }, - "state-icons": { - "paused": "", - "playing": "", - }, - "tooltip-format": "MPD (connected)", - "tooltip-format-disconnected": "MPD (disconnected)", - }, - "idle_inhibitor": { - "format": "{icon}", - "format-icons": { - "activated": "", - "deactivated": "", + "active": "", + "default": "", }, }, "tray": { - // "icon-size": 21, + "icon-size": 21, "spacing": 10, - // "icons": { - // "blueman": "bluetooth", - // "TelegramDesktop": "$HOME/.local/share/icons/hicolor/16x16/apps/telegram.png" - // } }, "clock": { - // "timezone": "America/New_York", - "tooltip-format": "{calendar}", - // "format-alt": "{:%Y-%m-%d}", - "format": "󰭦 {:%D - %H:%M}", - "calendar": { - "mode": "year", - "mode-mon-col": 3, - "weeks-pos": "right", - "on-scroll": 1, - "format": { - "months": "{}", - "days": "{}", - "weeks": "W{}", - "weekdays": "{}", - "today": "{}", - }, - }, + "timezone": "America/Denver", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format": "{:%d - %H:%M}", }, - "cpu": { - "format": "{usage}% ", + "network": { + "format-wifi": "󰤢 ", + "format-ethernet": "󰈀 ", + "format-disconnected": "󰤠 ", + "interval": 5, "tooltip": false, }, + "cpu": { + "interval": 1, + "format": " {icon0}{icon1}{icon2}{icon3} {usage:>2}%", + "format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"], + }, "memory": { - "format": "{}% ", + "interval": 30, + "format": " {used:0.1f}G/{total:0.1f}G", }, - "temperature": { - // "thermal-zone": 2, - // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", - "critical-threshold": 80, - // "format-critical": "{temperatureC}°C {icon}", - "format": "{temperatureC}°C {icon}", - "format-icons": ["", "", ""], + "pulseaudio": { + "format": "{icon} {volume}%", + "format-muted": "", + "format-icons": { + "default": ["", "", " "], + }, + "on-click": "pavucontrol", }, - "backlight": { - // "device": "acpi_video1", - "format": "{percent}% {icon}", - "format-icons": ["", "", "", "", "", "", "", "", ""], + "custom/lock": { + "tooltip": false, + "on-click": "sh -c '(sleep 0.5s; hyprlock)' & disown", + "format": "", + }, + "later": { + "format": "{icon} {text}", }, "battery": { "states": { @@ -146,73 +76,4 @@ // "format-full": "", "format-icons": ["", "", "", "", ""], }, - "power-profiles-daemon": { - "format": "{icon}", - "tooltip-format": "Power profile: {profile}\nDriver: {driver}", - "tooltip": true, - "format-icons": { - "default": "", - "performance": "", - "balanced": "", - "power-saver": "", - }, - }, - "network": { - // "interface": "wlp2*", // (Optional) To force the use of this interface - "format-wifi": "{icon}: ({signalStrength}%)", - "format-ethernet": "{ipaddr}/{cidr} ", - "tooltip-format": "{essid} - {ifname} via {gwaddr} ", - "format-linked": "{ifname} (No IP) ", - "format-disconnected": "Disconnected ⚠", - "format-alt": "{ifname}: {ipaddr}/{cidr}", - "signalStrength": { - "low": 20, - "medium": 60, - "high": 100, - }, - "format-icons": ["󰤯", "󰤟", "󰤢", "󰤨"], // Icons for different signal strengths - }, - "pulseaudio": { - // "scroll-step": 1, // %, can be a float - "format": "{volume}% {icon} {format_source}", - "format-bluetooth": "{volume}% {icon} {format_source}", - "format-bluetooth-muted": " {icon} {format_source}", - "format-muted": " {format_source}", - "format-source": "{volume}% ", - "format-source-muted": "", - "format-icons": { - "headphone": "", - "hands-free": "", - "headset": "", - "phone": "", - "portable": "", - "car": "", - "default": ["", "", ""], - }, - "on-click": "pavucontrol", - }, - "custom/media": { - "format": "{icon} {text}", - "return-type": "json", - "max-length": 40, - "format-icons": { - "spotify": "", - "default": "🎜", - }, - "escape": true, - "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null", // Script in resources folder - // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name - }, - "custom/power": { - "format": "⏻", - "tooltip": false, - "menu": "on-click", - "menu-file": "$HOME/.config/waybar/power_menu.xml", // Menu file in resources folder - "menu-actions": { - "shutdown": "shutdown", - "reboot": "reboot", - "suspend": "systemctl suspend", - "hibernate": "systemctl hibernate", - }, - }, } diff --git a/waybar/power_menu.xml b/waybar/power_menu.xml deleted file mode 100644 index 144f6a7..0000000 --- a/waybar/power_menu.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - Suspend - - - - - Hibernate - - - - - Shutdown - - - - - - - - Reboot - - - - diff --git a/waybar/style.css b/waybar/style.css index eca3ef1..e09f5cf 100644 --- a/waybar/style.css +++ b/waybar/style.css @@ -1,171 +1,128 @@ @define-color foreground #cdd6f4; @define-color background rgba(24, 24, 37, 0.7); +@define-color skyblue #89dceb; +@define-color blue #89b4fa; +@define-color red #f38ba8; +@define-color yellow #f9e2af; * { - font-family: JetBrains Mono; + font-family: JetbrainsMono Nerd Font; font-size: 15px; - border: none; - border-radius: 0; min-height: 0; - margin: 0; - padding: 0; - box-shadow: none; - text-shadow: none; - icon-shadow: none; + padding-right: 2px; + padding-left: 2px; + padding-bottom: 0px; +} + +#waybar { + background: transparent; color: @foreground; - background-color: transparent; + margin: 0px; } -#clock, -#battery, -#cpu, -#memory, -#disk, -#temperature, -#backlight, -#network, -#pulseaudio, -#wireplumber, -#custom-media, -#tray, -#mode, -#idle_inhibitor, -#scratchpad, -#power-profiles-daemon, -#mpd { - min-width: 12px; - min-height: 25px; - margin: 0 7.5px; -} - -.modules-left { - padding: 4px; - margin: 2px 8px; - background-color: @background; - border-radius: 10; -} - -.modules-right { - margin: 0 2px; -} - -#clock { - background-color: @background; - margin: 2px 8px; - border-radius: 10; - padding: 0 8px; +#workspaces { + border-radius: 10px; + background: @background; + margin-right: 5px; + margin-left: 1rem; } #workspaces button { - padding: 0 5px; + color: @foreground; + border-radius: 5px; + padding: 0.4rem; } -#battery { - /* background-color: #ffffff; */ - /* color: #000000; */ - margin-right: 10px; +#workspaces button.active { + color: @skyblue; + border-radius: 5px; } -#battery.charging, -#battery.plugged { - color: #ffffff; - background-color: #26a65b; -} - -@keyframes blink { - to { - background-color: #ffffff; - color: #000000; - } -} - -/* Using steps() instead of linear as a timing function to limit cpu usage */ -#battery.critical:not(.charging) { - background-color: #f53c3c; - color: #ffffff; - animation-name: blink; - animation-duration: 0.5s; - animation-timing-function: steps(12); - animation-iteration-count: infinite; - animation-direction: alternate; +#workspaces button:hover { + color: #85c1dc; + border-radius: 5px; } +#custom-music, +#tray, +#backlight, +#clock, +#battery, +#pulseaudio, +#network, +#cpu, +#memory, +#custom-lock, #custom-power { - font-size: 23px; + background-color: @background; + padding: 0.5rem 1rem; + margin: 5px 0; + color: @foreground; + /* border-radius: 0px 5px 5px 0px; */ +} + +#clock { + color: @foreground; + border-radius: 5px; + margin-right: 1rem; + font-weight: 900; } #pulseaudio { - /* background-color: #f1c40f; */ - /* color: #000000; */ + color: @red; + border-radius: 10px 0px 0px 10px; + margin-left: 1rem; } -#pulseaudio.muted { - background-color: #90b1b1; - color: #2a5c45; +#tray { + color: @blue; + border-radius: 0px 10px 10px 0px; + margin-right: 1rem; } -#wireplumber { - background-color: #fff0f5; - color: #000000; +#cpu { + border-radius: 10px 0px 0px 10px; } -#wireplumber.muted { - background-color: #f53c3c; +#memory { + margin-right: 1rem; + border-radius: 0px 10px 10px 0px; } -#custom-media { - background-color: #66cc99; - color: #2a5c45; - min-width: 100px; +#battery { + border-radius: 10px 0px 0px 10px; + color: #a6d189; } -/* #tray { */ -/* background-color: red; */ -/* } */ - -#tray > .passive { - -gtk-icon-effect: dim; +#battery.charging { + color: #a6d189; } -#tray > .needs-attention { - -gtk-icon-effect: highlight; - background-color: #eb4d4b; +#battery.warning:not(.charging) { + color: #e78284; } -#mpd { - background-color: #66cc99; - color: #2a5c45; +#backlight { + color: #e5c890; } -#mpd.disconnected { - background-color: #f53c3c; +#custom-music { + color: #ca9ee6; + border-radius: 5px; } -#mpd.stopped { - background-color: #90b1b1; +#network { + margin-right: 1rem; + border-radius: 0px 10px 10px 0px; } -#mpd.paused { - background-color: #51a37a; +#custom-lock { + border-radius: 10px; + color: @yellow; } -#privacy { - padding: 0; -} - -#privacy-item { - padding: 0 5px; - color: white; -} - -#privacy-item.screenshare { - /* background-color: #cf5700; */ -} - -#privacy-item.audio-in { - /* background-color: #1ca000; */ -} - -#privacy-item.audio-out { - /* background-color: #0069d4; */ +#custom-power { + margin-right: 1rem; + border-radius: 0px 5px 5px 0px; + color: #e78284; }