mirror of
https://github.com/m-housh/dotfiles.git
synced 2026-02-14 06:12:34 +00:00
feat: Adds clipse clipboard history, removes macos specific scripts, begin creating install scripts.
This commit is contained in:
36
clipse/config.json
Normal file
36
clipse/config.json
Normal file
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
28
clipse/custom_theme.json
Normal file
28
clipse/custom_theme.json
Normal file
@@ -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"
|
||||
}
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
34
hypr/hypridle.conf
Normal file
34
hypr/hypridle.conf
Normal file
@@ -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
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
#
|
||||
|
||||
@@ -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)$
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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" },
|
||||
|
||||
@@ -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)"
|
||||
11
scripts/install-pkg-arch.sh
Executable file
11
scripts/install-pkg-arch.sh
Executable file
@@ -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
|
||||
@@ -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
|
||||
8
scripts/setup-dirs.sh
Executable file
8
scripts/setup-dirs.sh
Executable file
@@ -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
|
||||
|
||||
|
||||
@@ -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 <foo@example.com>` 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."
|
||||
|
||||
1
systemd/user/graphical-session.target.wants/hypridle.service
Symbolic link
1
systemd/user/graphical-session.target.wants/hypridle.service
Symbolic link
@@ -0,0 +1 @@
|
||||
/usr/lib/systemd/user/hypridle.service
|
||||
1
systemd/user/graphical-session.target.wants/hyprpaper.service
Symbolic link
1
systemd/user/graphical-session.target.wants/hyprpaper.service
Symbolic link
@@ -0,0 +1 @@
|
||||
/usr/lib/systemd/user/hyprpaper.service
|
||||
@@ -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": "<span color=\"#f53c3c\"></span> ",
|
||||
"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": "<tt><small>{calendar}</small></tt>",
|
||||
// "format-alt": "{:%Y-%m-%d}",
|
||||
"format": " {:%D - %H:%M}",
|
||||
"calendar": {
|
||||
"mode": "year",
|
||||
"mode-mon-col": 3,
|
||||
"weeks-pos": "right",
|
||||
"on-scroll": 1,
|
||||
"format": {
|
||||
"months": "<span color='#ffead3'><b>{}</b></span>",
|
||||
"days": "<span color='#ecc6d9'><b>{}</b></span>",
|
||||
"weeks": "<span color='#99ffdd'><b>W{}</b></span>",
|
||||
"weekdays": "<span color='#ffcc66'><b>{}</b></span>",
|
||||
"today": "<span color='#ff6699'><b><u>{}</u></b></span>",
|
||||
},
|
||||
},
|
||||
"timezone": "America/Denver",
|
||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||
"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": "<span class='icon'>{icon}</span> <span class='text'>{text}</span>",
|
||||
},
|
||||
"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",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- TODO: This doesn't work. -->
|
||||
<interface>
|
||||
<object class="GtkMenu" id="menu">
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="suspend">
|
||||
<property name="label">Suspend</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="hibernate">
|
||||
<property name="label">Hibernate</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="shutdown">
|
||||
<property name="label">Shutdown</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSeparatorMenuItem" id="delimiter1"/>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="reboot">
|
||||
<property name="label">Reboot</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
||||
209
waybar/style.css
209
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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user