mirror of
https://codeberg.org/andyscott/dotfiles.git
synced 2024-12-22 18:03:11 -05:00
Compare commits
No commits in common. "0f286a69749dd5b821851ef395ff8be1515cb941" and "cc72d61a8ee8075e51e5daf42b9c3e31ae6719fa" have entirely different histories.
0f286a6974
...
cc72d61a8e
21 changed files with 2954 additions and 104 deletions
82
Packages.txt
Normal file
82
Packages.txt
Normal file
|
@ -0,0 +1,82 @@
|
|||
# List of basic packages I typically install. You may not need all of them.
|
||||
# Adjust as necessary.
|
||||
|
||||
# Arch repos
|
||||
bind
|
||||
bspwm
|
||||
dunst
|
||||
emacs
|
||||
galculator
|
||||
git
|
||||
gsimplecal
|
||||
htop
|
||||
dex
|
||||
feh
|
||||
firefox
|
||||
emacs
|
||||
gnome-keyring
|
||||
logrotate
|
||||
ncdu
|
||||
neofetch
|
||||
neovim
|
||||
nextcloud-client
|
||||
noto-fonts-cjk
|
||||
noto-fonts-emoji
|
||||
kitty
|
||||
ranger
|
||||
redshift
|
||||
rofi
|
||||
rxvt-unicode
|
||||
papirus-icon-theme
|
||||
pavucontrol
|
||||
pipewire
|
||||
wireplumber
|
||||
pipewire-pulse
|
||||
snapper # btrfs only
|
||||
sxhkd
|
||||
thunderbird
|
||||
ttf-dejavu
|
||||
ttf-fira-code
|
||||
ttf-font-awesome
|
||||
ttf-hack
|
||||
ttf-ibm-plex
|
||||
ttf-liberation
|
||||
xsecurelock
|
||||
xss-lock
|
||||
polkit-gnome
|
||||
xorg-xserver
|
||||
xorg-xinit
|
||||
xorg-xsetroot
|
||||
xorg-xrandr
|
||||
xorg-xset
|
||||
xclip
|
||||
maim
|
||||
xdotool
|
||||
dbus-pyton
|
||||
|
||||
# AUR
|
||||
arkenfox-user.js
|
||||
birdtray
|
||||
btrfs-du # more accurate du for btrfs
|
||||
pa-notify
|
||||
polybar
|
||||
pulseaudio-control
|
||||
needrestart
|
||||
neovim-plug-git
|
||||
gruvbox-dark-gtk
|
||||
sbkeys
|
||||
sbupdate-git
|
||||
spotify
|
||||
spotify-adblock-git
|
||||
polybar-spotify
|
||||
rofi-power-menu
|
||||
st
|
||||
vimix-gtk-themes-git
|
||||
xidlehook
|
||||
|
||||
# Laptop/Thinkpads (for xbacklight etc., your needs may vary)
|
||||
tlp
|
||||
acpi_call
|
||||
acpi_call-lts # only if LTS kernel installed, see 'acpi_call-dkms' for other variants
|
||||
acpilight # or 'light' is sometimes needed for older thinkpads
|
||||
rtw89-dkms-git # wifi for thinkpad t14 gen2 amd, not needed for kernel 5.16 or later
|
|
@ -5,14 +5,14 @@
|
|||
export EDITOR=nvim
|
||||
export VISUAL=emacs
|
||||
|
||||
# Ensure XDG env vars are set
|
||||
export XDG_CACHE_HOME="${HOME}"/.cache
|
||||
export XDG_CONFIG_HOME="${HOME}"/.config
|
||||
export XDG_DATA_HOME="${HOME}"/.local/share
|
||||
export XDG_STATE_HOME="${HOME}"/.local/state
|
||||
# Ensure XDG env vars are set correctly
|
||||
export XDG_CACHE_HOME="$HOME/.cache"
|
||||
export XDG_CONFIG_HOME="$HOME/.config"
|
||||
export XDG_DATA_HOME="$HOME/.local/share"
|
||||
export XDG_STATE_HOME="$HOME/.local/state"
|
||||
|
||||
# add .local/bin to $PATH
|
||||
export PATH="${HOME}/.local/bin:${PATH}"
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
|
||||
# make Java behave when not using a DE
|
||||
export _JAVA_AWT_WM_NONREPARENTING=1
|
||||
|
@ -23,43 +23,56 @@ export GPG_TTY=$(tty)
|
|||
# Mozilla + Wayland
|
||||
export MOZ_ENABLE_WAYLAND=1
|
||||
|
||||
# xsecurelock settings
|
||||
export XSECURELOCK_AUTH=auth_x11
|
||||
export XSECURELOCK_AUTHPROTO=authproto_pam
|
||||
export XSECURELOCK_BURNIN_MITIGATION=300
|
||||
export XSECURELOCK_PASSWORD_PROMPT=time
|
||||
|
||||
{{ if eq .chezmoi.hostname "helix" -}}
|
||||
# scale GTK applicatons on hidpi screens
|
||||
export GDK_SCALE=2 GDK_DPI_SCALE=0.50
|
||||
export GDK_SCALE=2 GDK_DPI_SCALE=0.50 thunar
|
||||
export GDK_SCALE=2 GDK_DPI_SCALE="0.50 Simple-scan"
|
||||
export GDK_SCALE=2 GDK_DPI_SCALE=0.50 lutris
|
||||
export GDK_SCALE=2 GDK_DPI_SCALE=0.50 spotify
|
||||
export GDK_SCALE=2 GDK_DPI_SCALE=0.50 pinta
|
||||
export GDK_SCALE=2 GDK_DPI_SCALE=0.50 Gajim
|
||||
export GDK_SCALE=2 GDK_DPI_SCALE=0.50 Ristretto
|
||||
export GDK_SCALE=2 GDK_DPI_SCALE=0.50 ghex
|
||||
{{- end }}
|
||||
|
||||
## No littering in $HOME!
|
||||
|
||||
# bash
|
||||
export HISTFILE="${XDG_STATE_HOME}"/bash_history
|
||||
export HISTFILE="$XDG_STATE_HOME"/bash_history
|
||||
|
||||
# cargo
|
||||
export CARGO_HOME="${XDG_DATA_HOME}"/cargo
|
||||
export CARGO_HOME="$XDG_DATA_HOME"/cargo
|
||||
|
||||
# go
|
||||
export GOPATH="${XDG_DATA_HOME}"/go
|
||||
export GOMODCACHE="${XDG_CACHE_HOME}"/go/mod
|
||||
export GOPATH="$XDG_DATA_HOME"/go
|
||||
export GOMODCACHE="$XDG_CACHE_HOME"/go/mod
|
||||
|
||||
# gpg
|
||||
export GNUPGHOME="${XDG_DATA_HOME}"/gnupg
|
||||
export GNUPGHOME="$XDG_DATA_HOME"/gnupg
|
||||
|
||||
# gtk2
|
||||
export GTK2_RC_FILES="${XDG_CONFIG_HOME}"/gtk-2.0/gtkrc
|
||||
export GTK2_RC_FILES="$XDG_CONFIG_HOME"/gtk-2.0/gtkrc
|
||||
|
||||
# node
|
||||
export NPM_CONFIG_USERCONFIG="${XDG_CONFIG_HOME}"/npm/npmrc
|
||||
export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME"/npm/npmrc
|
||||
|
||||
# python
|
||||
export PYTHONSTARTUP="${XDG_CONFIG_HOME}"/python/pythonrc
|
||||
export PYTHONPYCACHEPREFIX="${XDG_CACHE_HOME}"/python
|
||||
export PYTHONUSERBASE="${XDG_DATA_HOME}"/python
|
||||
export PYTHONSTARTUP="$XDG_CONFIG_HOME"/python/pythonrc
|
||||
export PYTHONPYCACHEPREFIX="$XDG_CACHE_HOME"/python
|
||||
export PYTHONUSERBASE=$XDG_DATA_HOME/python
|
||||
|
||||
# wine
|
||||
export WINEPREFIX="${XDG_DATA_HOME}"/wine
|
||||
export WINEPREFIX="$XDG_DATA_HOME"/wine
|
||||
|
||||
# Xorg
|
||||
export XINITRC="${XDG_CONFIG_HOME}"/X11/xinitrc
|
||||
export XAUTHORITY="${XDG_RUNTIME_DIR}"/Xauthority
|
||||
export XINITRC="$XDG_CONFIG_HOME"/X11/xinitrc
|
||||
export XAUTHORITY="$XDG_RUNTIME_DIR"/Xauthority
|
||||
|
||||
# Source other dotfiles
|
||||
[[ -f ~/.profile ]] && . ~/.profile
|
||||
|
|
88
dot_config/bspwm/executable_bspwmrc.tmpl
Normal file
88
dot_config/bspwm/executable_bspwmrc.tmpl
Normal file
|
@ -0,0 +1,88 @@
|
|||
#!/bin/bash
|
||||
{{ if ne .chezmoi.hostname "hydrus" }}
|
||||
bspc monitor eDP-1 -d 1 2 3 4 5 6 7 8 9 10
|
||||
{{ else }}
|
||||
bspc monitor DisplayPort-0 -d 1 2 3 4 5
|
||||
bspc monitor DisplayPort-1 -d 6 7 8 9 10
|
||||
{{ end }}
|
||||
bspc config border_width 2
|
||||
{{- if eq .chezmoi.hostname "helix" }}
|
||||
bspc config window_gap 10
|
||||
bspc config top_padding 72
|
||||
bspc config bottom_padding 0
|
||||
{{ else if eq .chezmoi.hostname "hydrus"}}
|
||||
bspc config window_gap 4
|
||||
bspc config top_padding 0
|
||||
bspc config bottom_padding 24
|
||||
{{ else }}
|
||||
bspc config window_gap 4
|
||||
bspc config top_padding 38
|
||||
bspc config bottom_padding 0
|
||||
{{- end}}
|
||||
|
||||
bspc config split_ratio 0.50
|
||||
bspc config borderless_monocle true
|
||||
bspc config gapless_monocle true
|
||||
|
||||
bspc rule -a Galculator state=floating
|
||||
bspc rule -a vlc state=floating
|
||||
bspc rule -a Blueman-manager state=floating
|
||||
bspc rule -a Blueberry.py state=floating
|
||||
bspc rule -a Bitwarden state=floating
|
||||
bspc rule -a Leafpad state=floating
|
||||
bspc rule -a KeePassXC state=floating
|
||||
bspc rule -a Mousepad state=floating
|
||||
bspc rule -a firefox desktop='^1' follow=on
|
||||
bspc rule -a firefoxdeveloperedition desktop='^1' follow=on
|
||||
bspc rule -a Chromium desktop='^2' follow=on
|
||||
bspc rule -a Vivaldi-stable desktop='^2' follow=on
|
||||
bspc rule -a Caja desktop='^3' follow=on
|
||||
bspc rule -a Thunar desktop='^3' follow=on
|
||||
bspc rule -a Evince desktop='^4' follow=on
|
||||
bspc rule -a Soffice desktop='^4' follow=on
|
||||
bspc rule -a Simple-scan='^4' follow=on
|
||||
bspc rule -a Xsane desktop='^4' follow=on state=floating
|
||||
bspc rule -a Steam desktop='^5' follow=on state=floating
|
||||
bspc rule -a Lutris desktop='^5' follow=on state=floating
|
||||
bspc rule -a eadesktop.exe desktop='^5' follow=on state=floating
|
||||
bspc rule -a origin.exe desktop='^5' state=floating
|
||||
bspc rule -a Alacritty desktop='^6' follow=on
|
||||
bspc rule -a kitty desktop='^6' follow=on
|
||||
bspc rule -a URxvt desktop='^6' follow=on
|
||||
bspc rule -a Emacs desktop='^7' follow=on state=fullscreen
|
||||
bspc rule -a Dino desktop='^8'
|
||||
bspc rule -a Gajim desktop='^8'
|
||||
bspc rule -a discord desktop='^8'
|
||||
bspc rule -a Element desktop='^9'
|
||||
bspc rule -a Mattermost desktop='^9'
|
||||
bspc rule -a Slack desktop='^9'
|
||||
bspc rule -a teams-for-linux desktop='^9'
|
||||
bspc rule -a Evolution desktop='^10'
|
||||
bspc rule -a thunderbird desktop='^10'
|
||||
bspc rule -a tutanota-desktop desktop='^10'
|
||||
|
||||
### Focus on 1st workspace by default
|
||||
bspc desktop -f 1
|
||||
|
||||
### Autostart
|
||||
grep -x sxhkd > /dev/null || sxhkd &
|
||||
/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
|
||||
xss-lock -n /usr/lib/xsecurelock/dimmer -l -- xsecurelock &
|
||||
dunst &
|
||||
xsettingsd &
|
||||
sh $HOME/.local/bin/fehbg &
|
||||
dex -a &
|
||||
redshift -r &
|
||||
{{- if (or (eq .chezmoi.hostname "helix") (eq .chezmoi.hostname "hydrus")) }}
|
||||
$HOME/.local/bin/pipewire-launcher &
|
||||
{{- end }}
|
||||
{{- if (or (eq .chezmoi.hostname "helix") (eq .chezmoi.hostname "triangulum")) }}
|
||||
$HOME/.local/bin/xidlehook-laptop &
|
||||
$HOME/.local/bin/single-polybar-launcher &
|
||||
cbatticon -u 20 -i standard -c "loginctl suspend" &
|
||||
sleep 5 && pa-notify -t 3 &
|
||||
{{- end }}
|
||||
{{- if eq .chezmoi.hostname "hydrus"}}
|
||||
$HOME/.local/bin/xidlehook-desktop &
|
||||
$HOME/.local/bin/dual-polybar-launcher &
|
||||
{{- end }}
|
|
@ -1,48 +1,151 @@
|
|||
# dunstrc - dunst(5)
|
||||
# See dunst(5) for all configuration options
|
||||
|
||||
[global]
|
||||
### Display ###
|
||||
|
||||
# Which monitor should the notifications be displayed on.
|
||||
monitor = 0
|
||||
|
||||
# Display notification on focused monitor. Possible modes are:
|
||||
# mouse: follow mouse pointer
|
||||
# keyboard: follow window with keyboard focus
|
||||
# none: don't follow anything
|
||||
#
|
||||
# "keyboard" needs a window manager that exports the
|
||||
# _NET_ACTIVE_WINDOW property.
|
||||
# This should be the case for almost all modern window managers.
|
||||
#
|
||||
# If this option is set to mouse or keyboard, the monitor option
|
||||
# will be ignored.
|
||||
follow = keyboard
|
||||
|
||||
### Geometry ###
|
||||
|
||||
# dynamic width from 0 to 300
|
||||
# width = (0, 300)
|
||||
# constant width of 300
|
||||
width = 300
|
||||
|
||||
# The maximum height of a single notification, excluding the frame.
|
||||
height = 300
|
||||
|
||||
# Position the notification in the top right corner
|
||||
origin = top-right
|
||||
|
||||
# Offset from the origin
|
||||
offset = 10x50
|
||||
|
||||
# Scale factor. It is auto-detected if value is 0.
|
||||
scale = 0
|
||||
notification_limit = 5
|
||||
|
||||
# Maximum number of notification (0 means no limit)
|
||||
notification_limit = 0
|
||||
|
||||
### Progress bar ###
|
||||
|
||||
# Turn on the progess bar. It appears when a progress hint is passed with
|
||||
# for example dunstify -h int:value:12
|
||||
progress_bar = true
|
||||
|
||||
# Set the progress bar height. This includes the frame, so make sure
|
||||
# it's at least twice as big as the frame width.
|
||||
progress_bar_height = 10
|
||||
|
||||
# Set the frame width of the progress bar
|
||||
progress_bar_frame_width = 1
|
||||
|
||||
# Set the minimum width for the progress bar
|
||||
progress_bar_min_width = 150
|
||||
|
||||
# Set the maximum width for the progress bar
|
||||
progress_bar_max_width = 300
|
||||
|
||||
### Appearance ###
|
||||
|
||||
# Show how many messages are currently hidden (because of
|
||||
# notification_limit).
|
||||
indicate_hidden = yes
|
||||
|
||||
# The transparency of the window. Range: [0; 100].
|
||||
# This option will only work if a compositing window manager is
|
||||
# present (e.g. xcompmgr, compiz, etc.). (X11 only)
|
||||
transparency = 10
|
||||
|
||||
# Draw a line of "separator_height" pixel height between two
|
||||
# notifications.
|
||||
# Set to 0 to disable.
|
||||
# If gap_size is greater than 0, this setting will be ignored.
|
||||
separator_height = 2
|
||||
|
||||
# Padding between text and separator.
|
||||
padding = 8
|
||||
|
||||
# Horizontal padding.
|
||||
horizontal_padding = 8
|
||||
|
||||
# Padding between text and icon.
|
||||
text_icon_padding = 0
|
||||
|
||||
# Defines width in pixels of frame around the notification window.
|
||||
# Set to 0 to disable.
|
||||
frame_width = 3
|
||||
|
||||
# Defines color of the frame around the notification window.
|
||||
frame_color = "#222222"
|
||||
|
||||
# Size of gap to display between notifications - requires a compositor.
|
||||
# If value is greater than 0, separator_height will be ignored and a border
|
||||
# of size frame_width will be drawn around each notification instead.
|
||||
# Click events on gaps do not currently propagate to applications below.
|
||||
gap_size = 0
|
||||
|
||||
# Define a color for the separator.
|
||||
# possible values are:
|
||||
# * auto: dunst tries to find a color fitting to the background;
|
||||
# * foreground: use the same color as the foreground;
|
||||
# * frame: use the same color as the frame;
|
||||
# * anything else will be interpreted as a X color.
|
||||
separator_color = frame
|
||||
|
||||
# Sort messages by urgency.
|
||||
sort = yes
|
||||
idle_threshold = 120
|
||||
corner_radius = 4
|
||||
|
||||
# Don't remove messages, if the user is idle (no mouse or keyboard input)
|
||||
# for longer than idle_threshold seconds.
|
||||
# Set to 0 to disable.
|
||||
# A client can set the 'transient' hint to bypass this. See the rules
|
||||
# section for how to disable this if necessary
|
||||
# idle_threshold = 120
|
||||
|
||||
### Text ###
|
||||
|
||||
font = Hack 11
|
||||
|
||||
# The spacing between lines. If the height is smaller than the
|
||||
# font height, it will get raised to the font height.
|
||||
line_height = 0
|
||||
|
||||
# Possible values are:
|
||||
# full: Allow a small subset of html markup in notifications:
|
||||
# <b>bold</b>
|
||||
# <i>italic</i>
|
||||
# <s>strikethrough</s>
|
||||
# <u>underline</u>
|
||||
#
|
||||
# For a complete reference see
|
||||
# <https://docs.gtk.org/Pango/pango_markup.html>.
|
||||
#
|
||||
# strip: This setting is provided for compatibility with some broken
|
||||
# clients that send markup even though it's not enabled on the
|
||||
# server. Dunst will try to strip the markup but the parsing is
|
||||
# simplistic so using this option outside of matching rules for
|
||||
# specific applications *IS GREATLY DISCOURAGED*.
|
||||
#
|
||||
# no: Disable markup parsing, incoming notifications will be treated as
|
||||
# plain text. Dunst will not advertise that it has the body-markup
|
||||
# capability if this is set as a global setting.
|
||||
#
|
||||
# It's important to note that markup inside the format option will be parsed
|
||||
# regardless of what this is set to.
|
||||
markup = full
|
||||
|
||||
# The format of the message. Possible variables are:
|
||||
|
@ -57,45 +160,125 @@
|
|||
# Markup is allowed
|
||||
format = "<b>%s</b>\n%b"
|
||||
|
||||
# Alignment of message text.
|
||||
# Possible values are "left", "center" and "right".
|
||||
alignment = left
|
||||
|
||||
# Vertical alignment of message text and icon.
|
||||
# Possible values are "top", "center" and "bottom".
|
||||
vertical_alignment = center
|
||||
|
||||
# Show age of message if message is older than show_age_threshold
|
||||
# seconds.
|
||||
# Set to -1 to disable.
|
||||
show_age_threshold = 60
|
||||
|
||||
# Specify where to make an ellipsis in long lines.
|
||||
# Possible values are "start", "middle" and "end".
|
||||
ellipsize = middle
|
||||
|
||||
# Ignore newlines '\n' in notifications.
|
||||
ignore_newline = no
|
||||
|
||||
# Stack together notifications with the same content
|
||||
stack_duplicates = true
|
||||
|
||||
# Hide the count of stacked notifications with the same content
|
||||
hide_duplicate_count = false
|
||||
|
||||
# Display indicators for URLs (U) and actions (A).
|
||||
show_indicators = yes
|
||||
|
||||
### Icons ###
|
||||
|
||||
# Recursive icon lookup. You can set a single theme, instead of having to
|
||||
# define all lookup paths.
|
||||
enable_recursive_icon_lookup = true
|
||||
icon_theme = "Qogir-dark, Papirus-Dark, Adwaita"
|
||||
|
||||
# Set icon theme (only used for recursive icon lookup)
|
||||
icon_theme = "Papirus-Dark, Adwaita"
|
||||
# You can also set multiple icon themes, with the leftmost one being used first.
|
||||
# icon_theme = "Adwaita, breeze"
|
||||
|
||||
# Align icons left/right/top/off
|
||||
icon_position = left
|
||||
|
||||
# Scale small icons up to this size, set to 0 to disable. Helpful
|
||||
# for e.g. small files or high-dpi screens. In case of conflict,
|
||||
# max_icon_size takes precedence over this.
|
||||
min_icon_size = 32
|
||||
|
||||
# Scale larger icons down to this size, set to 0 to disable
|
||||
max_icon_size = 128
|
||||
|
||||
# Paths to default icons (only neccesary when not using recursive icon lookup)
|
||||
icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
|
||||
|
||||
### History ###
|
||||
|
||||
# Should a notification popped up from history be sticky or timeout
|
||||
# as if it would normally do.
|
||||
sticky_history = yes
|
||||
|
||||
# Maximum amount of notifications kept in history
|
||||
history_length = 20
|
||||
|
||||
### Misc/Advanced ###
|
||||
|
||||
# dmenu path.
|
||||
dmenu = /usr/bin/dmenu -p dunst:
|
||||
|
||||
# Browser for opening urls in context menu.
|
||||
browser = /usr/bin/xdg-open
|
||||
|
||||
# Always run rule-defined scripts, even if the notification is suppressed
|
||||
always_run_script = true
|
||||
|
||||
# Define the title of the windows spawned by dunst
|
||||
title = Dunst
|
||||
|
||||
# Define the class of the windows spawned by dunst
|
||||
class = Dunst
|
||||
|
||||
# Define the corner radius of the notification window
|
||||
# in pixel size. If the radius is 0, you have no rounded
|
||||
# corners.
|
||||
# The radius will be automatically lowered if it exceeds half of the
|
||||
# notification height to avoid clipping text and/or icons.
|
||||
corner_radius = 0
|
||||
|
||||
# Ignore the dbus closeNotification message.
|
||||
# Useful to enforce the timeout set by dunst configuration. Without this
|
||||
# parameter, an application may close the notification sent before the
|
||||
# user defined timeout.
|
||||
ignore_dbusclose = false
|
||||
|
||||
### Wayland ###
|
||||
# These settings are Wayland-specific. They have no effect when using X11
|
||||
|
||||
# Uncomment this if you want to let notications appear under fullscreen
|
||||
# applications (default: overlay)
|
||||
# layer = top
|
||||
|
||||
# Set this to true to use X11 output on Wayland.
|
||||
force_xwayland = false
|
||||
|
||||
### Legacy
|
||||
|
||||
# Use the Xinerama extension instead of RandR for multi-monitor support.
|
||||
# This setting is provided for compatibility with older nVidia drivers that
|
||||
# do not support RandR and using it on systems that support RandR is highly
|
||||
# discouraged.
|
||||
#
|
||||
# By enabling this setting dunst will not be able to detect when a monitor
|
||||
# is connected or disconnected which might break follow mode if the screen
|
||||
# layout changes.
|
||||
force_xinerama = false
|
||||
|
||||
### mouse
|
||||
|
||||
# Defines list of actions for each mouse event
|
||||
# Possible values are:
|
||||
# * none: Don't do anything.
|
||||
# * do_action: Invoke the action determined by the action_name rule. If there is no
|
||||
# such action, open the context menu.
|
||||
|
@ -111,19 +294,31 @@
|
|||
mouse_middle_click = close_all
|
||||
mouse_right_click = close_current
|
||||
|
||||
# Experimental features that may or may not work correctly. Do not expect them
|
||||
# to have a consistent behaviour across releases.
|
||||
[experimental]
|
||||
# Calculate the dpi to use on a per-monitor basis.
|
||||
# If this setting is enabled the Xft.dpi value will be ignored and instead
|
||||
# dunst will attempt to calculate an appropriate dpi value for each monitor
|
||||
# using the resolution and physical size. This might be useful in setups
|
||||
# where there are multiple screens with very different dpi values.
|
||||
per_monitor_dpi = false
|
||||
|
||||
|
||||
[urgency_low]
|
||||
# IMPORTANT: colors have to be defined in quotation marks.
|
||||
# Otherwise the "#" and following would be interpreted as a comment.
|
||||
background = "#222222"
|
||||
foreground = "#555555"
|
||||
timeout = 10
|
||||
# Icon for notifications with low urgency, uncomment to enable
|
||||
#default_icon = /path/to/icon
|
||||
|
||||
[urgency_normal]
|
||||
background = "#222222"
|
||||
foreground = "#dfdfdf"
|
||||
timeout = 10
|
||||
# Icon for notifications with normal urgency, uncomment to enable
|
||||
#default_icon = /path/to/icon
|
||||
|
||||
[urgency_critical]
|
||||
|
@ -131,4 +326,129 @@
|
|||
foreground = "#8a4644"
|
||||
frame_color = "#ff0000"
|
||||
timeout = 0
|
||||
# Icon for notifications with critical urgency, uncomment to enable
|
||||
#default_icon = /path/to/icon
|
||||
|
||||
# Every section that isn't one of the above is interpreted as a rules to
|
||||
# override settings for certain messages.
|
||||
#
|
||||
# Messages can be matched by
|
||||
# appname (discouraged, see desktop_entry)
|
||||
# body
|
||||
# category
|
||||
# desktop_entry
|
||||
# icon
|
||||
# match_transient
|
||||
# msg_urgency
|
||||
# stack_tag
|
||||
# summary
|
||||
#
|
||||
# and you can override the
|
||||
# background
|
||||
# foreground
|
||||
# format
|
||||
# frame_color
|
||||
# fullscreen
|
||||
# new_icon
|
||||
# set_stack_tag
|
||||
# set_transient
|
||||
# set_category
|
||||
# timeout
|
||||
# urgency
|
||||
# icon_position
|
||||
# skip_display
|
||||
# history_ignore
|
||||
# action_name
|
||||
# word_wrap
|
||||
# ellipsize
|
||||
# alignment
|
||||
# hide_text
|
||||
#
|
||||
# Shell-like globbing will get expanded.
|
||||
#
|
||||
# Instead of the appname filter, it's recommended to use the desktop_entry filter.
|
||||
# GLib based applications export their desktop-entry name. In comparison to the appname,
|
||||
# the desktop-entry won't get localized.
|
||||
#
|
||||
# SCRIPTING
|
||||
# You can specify a script that gets run when the rule matches by
|
||||
# setting the "script" option.
|
||||
# The script will be called as follows:
|
||||
# script appname summary body icon urgency
|
||||
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
|
||||
#
|
||||
# NOTE: It might be helpful to run dunst -print in a terminal in order
|
||||
# to find fitting options for rules.
|
||||
|
||||
# Disable the transient hint so that idle_threshold cannot be bypassed from the
|
||||
# client
|
||||
#[transient_disable]
|
||||
# match_transient = yes
|
||||
# set_transient = no
|
||||
#
|
||||
# Make the handling of transient notifications more strict by making them not
|
||||
# be placed in history.
|
||||
#[transient_history_ignore]
|
||||
# match_transient = yes
|
||||
# history_ignore = yes
|
||||
|
||||
# fullscreen values
|
||||
# show: show the notifications, regardless if there is a fullscreen window opened
|
||||
# delay: displays the new notification, if there is no fullscreen window active
|
||||
# If the notification is already drawn, it won't get undrawn.
|
||||
# pushback: same as delay, but when switching into fullscreen, the notification will get
|
||||
# withdrawn from screen again and will get delayed like a new notification
|
||||
#[fullscreen_delay_everything]
|
||||
# fullscreen = delay
|
||||
#[fullscreen_show_critical]
|
||||
# msg_urgency = critical
|
||||
# fullscreen = show
|
||||
|
||||
#[espeak]
|
||||
# summary = "*"
|
||||
# script = dunst_espeak.sh
|
||||
|
||||
#[script-test]
|
||||
# summary = "*script*"
|
||||
# script = dunst_test.sh
|
||||
|
||||
#[ignore]
|
||||
# # This notification will not be displayed
|
||||
# summary = "foobar"
|
||||
# skip_display = true
|
||||
|
||||
#[history-ignore]
|
||||
# # This notification will not be saved in history
|
||||
# summary = "foobar"
|
||||
# history_ignore = yes
|
||||
|
||||
#[skip-display]
|
||||
# # This notification will not be displayed, but will be included in the history
|
||||
# summary = "foobar"
|
||||
# skip_display = yes
|
||||
|
||||
#[signed_on]
|
||||
# appname = Pidgin
|
||||
# summary = "*signed on*"
|
||||
# urgency = low
|
||||
#
|
||||
#[signed_off]
|
||||
# appname = Pidgin
|
||||
# summary = *signed off*
|
||||
# urgency = low
|
||||
#
|
||||
#[says]
|
||||
# appname = Pidgin
|
||||
# summary = *says*
|
||||
# urgency = critical
|
||||
#
|
||||
#[twitter]
|
||||
# appname = Pidgin
|
||||
# summary = *twitter.com*
|
||||
# urgency = normal
|
||||
#
|
||||
#[stack-volumes]
|
||||
# appname = "some_volume_notifiers"
|
||||
# set_stack_tag = "volume"
|
||||
#
|
||||
# vim: ft=cfg
|
||||
|
|
|
@ -4,5 +4,5 @@ profile dual {
|
|||
}
|
||||
|
||||
profile laptop {
|
||||
output eDP-1 mode 3840x2160@60Hz position 0,0 scale 2
|
||||
}
|
||||
output eDP-1 mode 3840x2160@60Hz position 0,0 scale 2
|
||||
}
|
||||
|
|
438
dot_config/picom/picom.conf
Normal file
438
dot_config/picom/picom.conf
Normal file
|
@ -0,0 +1,438 @@
|
|||
#################################
|
||||
# Shadows #
|
||||
#################################
|
||||
|
||||
|
||||
# Enabled client-side shadows on windows. Note desktop windows
|
||||
# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
|
||||
# unless explicitly requested using the wintypes option.
|
||||
#
|
||||
# shadow = false
|
||||
shadow = true;
|
||||
|
||||
# The blur radius for shadows, in pixels. (defaults to 12)
|
||||
# shadow-radius = 12
|
||||
shadow-radius = 7;
|
||||
|
||||
# The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
|
||||
# shadow-opacity = .75
|
||||
|
||||
# The left offset for shadows, in pixels. (defaults to -15)
|
||||
# shadow-offset-x = -15
|
||||
shadow-offset-x = -7;
|
||||
|
||||
# The top offset for shadows, in pixels. (defaults to -15)
|
||||
# shadow-offset-y = -15
|
||||
shadow-offset-y = -7;
|
||||
|
||||
# Red color value of shadow (0.0 - 1.0, defaults to 0).
|
||||
# shadow-red = 0
|
||||
|
||||
# Green color value of shadow (0.0 - 1.0, defaults to 0).
|
||||
# shadow-green = 0
|
||||
|
||||
# Blue color value of shadow (0.0 - 1.0, defaults to 0).
|
||||
# shadow-blue = 0
|
||||
|
||||
# Hex string color value of shadow (#000000 - #FFFFFF, defaults to #000000). This option will override options set shadow-(red/green/blue)
|
||||
# shadow-color = "#000000"
|
||||
|
||||
# Specify a list of conditions of windows that should have no shadow.
|
||||
#
|
||||
# examples:
|
||||
# shadow-exclude = "n:e:Notification";
|
||||
#
|
||||
# shadow-exclude = []
|
||||
shadow-exclude = [
|
||||
"name = 'Notification'",
|
||||
"class_g = 'Conky'",
|
||||
"class_g ?= 'Notify-osd'",
|
||||
"class_g = 'Cairo-clock'",
|
||||
"_GTK_FRAME_EXTENTS@:c",
|
||||
"class_g = 'firefox' && argb"
|
||||
];
|
||||
|
||||
# Specify a list of conditions of windows that should have no shadow painted over, such as a dock window.
|
||||
# clip-shadow-above = []
|
||||
|
||||
# Specify a X geometry that describes the region in which shadow should not
|
||||
# be painted in, such as a dock window region. Use
|
||||
# shadow-exclude-reg = "x10+0+0"
|
||||
# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on.
|
||||
#
|
||||
# shadow-exclude-reg = ""
|
||||
|
||||
# Crop shadow of a window fully on a particular Xinerama screen to the screen.
|
||||
# xinerama-shadow-crop = false
|
||||
|
||||
|
||||
#################################
|
||||
# Fading #
|
||||
#################################
|
||||
|
||||
|
||||
# Fade windows in/out when opening/closing and when opacity changes,
|
||||
# unless no-fading-openclose is used.
|
||||
# fading = false
|
||||
fading = true;
|
||||
|
||||
# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
|
||||
# fade-in-step = 0.028
|
||||
fade-in-step = 0.03;
|
||||
|
||||
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
|
||||
# fade-out-step = 0.03
|
||||
fade-out-step = 0.03;
|
||||
|
||||
# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
|
||||
# fade-delta = 10
|
||||
|
||||
# Specify a list of conditions of windows that should not be faded.
|
||||
fade-exclude = [ "class_g = 'xsecurelock'" ];
|
||||
|
||||
# Do not fade on window open/close.
|
||||
# no-fading-openclose = false
|
||||
|
||||
# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
|
||||
# no-fading-destroyed-argb = false
|
||||
|
||||
|
||||
#################################
|
||||
# Transparency / Opacity #
|
||||
#################################
|
||||
|
||||
|
||||
# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
|
||||
# inactive-opacity = 1
|
||||
inactive-opacity = 0.95;
|
||||
|
||||
# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
|
||||
# frame-opacity = 1.0
|
||||
frame-opacity = 0.9;
|
||||
|
||||
# Let inactive opacity set by -i override the '_NET_WM_WINDOW_OPACITY' values of windows.
|
||||
# inactive-opacity-override = true
|
||||
inactive-opacity-override = false;
|
||||
|
||||
# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
|
||||
# active-opacity = 1.0
|
||||
|
||||
# Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
|
||||
# inactive-dim = 0.0
|
||||
|
||||
# Specify a list of conditions of windows that should never be considered focused.
|
||||
# focus-exclude = []
|
||||
focus-exclude = [ "class_g = 'Cairo-clock'" ];
|
||||
|
||||
# Use fixed inactive dim value, instead of adjusting according to window opacity.
|
||||
# inactive-dim-fixed = 1.0
|
||||
|
||||
# Specify a list of opacity rules, in the format `PERCENT:PATTERN`,
|
||||
# like `50:name *= "Firefox"`. picom-trans is recommended over this.
|
||||
# Note we don't make any guarantee about possible conflicts with other
|
||||
# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows.
|
||||
# example:
|
||||
# opacity-rule = [ "80:class_g = 'URxvt'" ];
|
||||
#
|
||||
# opacity-rule = [
|
||||
# "90:class_g = 'URxvt' && focused",
|
||||
# "60:class_g = 'URxvt' && !focused"
|
||||
# ];
|
||||
|
||||
|
||||
|
||||
#################################
|
||||
# Corners #
|
||||
#################################
|
||||
|
||||
# Sets the radius of rounded window corners. When > 0, the compositor will
|
||||
# round the corners of windows. Does not interact well with
|
||||
# `transparent-clipping`.
|
||||
corner-radius = 5
|
||||
|
||||
# Exclude conditions for rounded corners.
|
||||
rounded-corners-exclude = [
|
||||
"window_type = 'dock'",
|
||||
"window_type = 'desktop'"
|
||||
];
|
||||
|
||||
|
||||
#################################
|
||||
# Background-Blurring #
|
||||
#################################
|
||||
|
||||
|
||||
# Parameters for background blurring, see the *BLUR* section for more information.
|
||||
blur-method = "dual_kawase"
|
||||
# blur-size = 12
|
||||
#
|
||||
# blur-deviation = false
|
||||
#
|
||||
blur-strength = 3
|
||||
|
||||
# Blur background of semi-transparent / ARGB windows.
|
||||
# Bad in performance, with driver-dependent behavior.
|
||||
# The name of the switch may change without prior notifications.
|
||||
#
|
||||
blur-background = true
|
||||
|
||||
# Blur background of windows when the window frame is not opaque.
|
||||
# Implies:
|
||||
# blur-background
|
||||
# Bad in performance, with driver-dependent behavior. The name may change.
|
||||
#
|
||||
blur-background-frame = true
|
||||
|
||||
|
||||
# Use fixed blur strength rather than adjusting according to window opacity.
|
||||
# blur-background-fixed = false
|
||||
|
||||
|
||||
# Specify the blur convolution kernel, with the following format:
|
||||
# example:
|
||||
# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
|
||||
#
|
||||
# blur-kern = ""
|
||||
blur-kern = "3x3box";
|
||||
|
||||
|
||||
# Exclude conditions for background blur.
|
||||
# blur-background-exclude = []
|
||||
blur-background-exclude = [
|
||||
#"window_type = 'dock'",
|
||||
"window_type = 'desktop'",
|
||||
"_GTK_FRAME_EXTENTS@:c",
|
||||
"class_g = 'slop'"
|
||||
];
|
||||
|
||||
#################################
|
||||
# General Settings #
|
||||
#################################
|
||||
|
||||
# Enable remote control via D-Bus. See the man page for more details.
|
||||
# dbus = true
|
||||
|
||||
# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
|
||||
# daemon = false
|
||||
|
||||
# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
|
||||
# `xrender` is the default one.
|
||||
#
|
||||
backend = "glx"
|
||||
# backend = "xrender";
|
||||
|
||||
# Enable/disable VSync.
|
||||
# vsync = false
|
||||
vsync = true;
|
||||
|
||||
# Enable remote control via D-Bus. See the *D-BUS API* section below for more details.
|
||||
# dbus = false
|
||||
|
||||
# Try to detect WM windows (a non-override-redirect window with no
|
||||
# child that has 'WM_STATE') and mark them as active.
|
||||
#
|
||||
# mark-wmwin-focused = false
|
||||
mark-wmwin-focused = true;
|
||||
|
||||
# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused.
|
||||
# mark-ovredir-focused = false
|
||||
mark-ovredir-focused = false;
|
||||
|
||||
# Try to detect windows with rounded corners and don't consider them
|
||||
# shaped windows. The accuracy is not very high, unfortunately.
|
||||
#
|
||||
# detect-rounded-corners = false
|
||||
detect-rounded-corners = true;
|
||||
|
||||
# Detect '_NET_WM_WINDOW_OPACITY' on client windows, useful for window managers
|
||||
# not passing '_NET_WM_WINDOW_OPACITY' of client windows to frame windows.
|
||||
#
|
||||
# detect-client-opacity = false
|
||||
detect-client-opacity = true;
|
||||
|
||||
# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
|
||||
# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy,
|
||||
# provided that the WM supports it.
|
||||
#
|
||||
# use-ewmh-active-win = false
|
||||
|
||||
# Unredirect all windows if a full-screen opaque window is detected,
|
||||
# to maximize performance for full-screen windows. Known to cause flickering
|
||||
# when redirecting/unredirecting windows.
|
||||
#
|
||||
# unredir-if-possible = false
|
||||
|
||||
# Delay before unredirecting the window, in milliseconds. Defaults to 0.
|
||||
# unredir-if-possible-delay = 0
|
||||
|
||||
# Conditions of windows that shouldn't be considered full-screen for unredirecting screen.
|
||||
# unredir-if-possible-exclude = []
|
||||
|
||||
# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
|
||||
# in the same group focused at the same time.
|
||||
#
|
||||
# detect-transient = false
|
||||
detect-transient = true;
|
||||
|
||||
# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
|
||||
# group focused at the same time. This usually means windows from the same application
|
||||
# will be considered focused or unfocused at the same time.
|
||||
# 'WM_TRANSIENT_FOR' has higher priority if detect-transient is enabled, too.
|
||||
#
|
||||
# detect-client-leader = false
|
||||
|
||||
# Resize damaged region by a specific number of pixels.
|
||||
# A positive value enlarges it while a negative one shrinks it.
|
||||
# If the value is positive, those additional pixels will not be actually painted
|
||||
# to screen, only used in blur calculation, and such. (Due to technical limitations,
|
||||
# with use-damage, those pixels will still be incorrectly painted to screen.)
|
||||
# Primarily used to fix the line corruption issues of blur,
|
||||
# in which case you should use the blur radius value here
|
||||
# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`,
|
||||
# with a 5x5 one you use `--resize-damage 2`, and so on).
|
||||
# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly.
|
||||
#
|
||||
# resize-damage = 1
|
||||
|
||||
# Specify a list of conditions of windows that should be painted with inverted color.
|
||||
# Resource-hogging, and is not well tested.
|
||||
#
|
||||
# invert-color-include = []
|
||||
|
||||
# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer.
|
||||
# Might cause incorrect opacity when rendering transparent content (but never
|
||||
# practically happened) and may not work with blur-background.
|
||||
# My tests show a 15% performance boost. Recommended.
|
||||
#
|
||||
glx-no-stencil = true;
|
||||
|
||||
# GLX backend: Avoid rebinding pixmap on window damage.
|
||||
# Probably could improve performance on rapid window content changes,
|
||||
# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.).
|
||||
# Recommended if it works.
|
||||
#
|
||||
# glx-no-rebind-pixmap = false
|
||||
|
||||
# Disable the use of damage information.
|
||||
# This cause the whole screen to be redrawn every time, instead of the part of the screen
|
||||
# has actually changed. Potentially degrades the performance, but might fix some artifacts.
|
||||
# The opposing option is use-damage
|
||||
#
|
||||
# no-use-damage = false
|
||||
use-damage = true;
|
||||
|
||||
# Use X Sync fence to sync clients' draw calls, to make sure all draw
|
||||
# calls are finished before picom starts drawing. Needed on nvidia-drivers
|
||||
# with GLX backend for some users.
|
||||
#
|
||||
# xrender-sync-fence = false
|
||||
|
||||
# GLX backend: Use specified GLSL fragment shader for rendering window
|
||||
# contents. Read the man page for a detailed explanation of the interface.
|
||||
#
|
||||
# window-shader-fg = "default"
|
||||
|
||||
# Use rules to set per-window shaders. Syntax is SHADER_PATH:PATTERN, similar
|
||||
# to opacity-rule. SHADER_PATH can be "default". This overrides window-shader-fg.
|
||||
#
|
||||
# window-shader-fg-rule = [
|
||||
# "my_shader.frag:window_type != 'dock'"
|
||||
# ]
|
||||
|
||||
# Force all windows to be painted with blending. Useful if you
|
||||
# have a glx-fshader-win that could turn opaque pixels transparent.
|
||||
#
|
||||
# force-win-blend = false
|
||||
|
||||
# Do not use EWMH to detect fullscreen windows.
|
||||
# Reverts to checking if a window is fullscreen based only on its size and coordinates.
|
||||
#
|
||||
# no-ewmh-fullscreen = false
|
||||
|
||||
# Dimming bright windows so their brightness doesn't exceed this set value.
|
||||
# Brightness of a window is estimated by averaging all pixels in the window,
|
||||
# so this could comes with a performance hit.
|
||||
# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0)
|
||||
#
|
||||
# max-brightness = 1.0
|
||||
|
||||
# Make transparent windows clip other windows like non-transparent windows do,
|
||||
# instead of blending on top of them.
|
||||
#
|
||||
# transparent-clipping = false
|
||||
|
||||
# Specify a list of conditions of windows that should never have transparent
|
||||
# clipping applied. Useful for screenshot tools, where you need to be able to
|
||||
# see through transparent parts of the window.
|
||||
#
|
||||
# transparent-clipping-exclude = []
|
||||
|
||||
# Set the log level. Possible values are:
|
||||
# "trace", "debug", "info", "warn", "error"
|
||||
# in increasing level of importance. Case doesn't matter.
|
||||
# If using the "TRACE" log level, it's better to log into a file
|
||||
# using *--log-file*, since it can generate a huge stream of logs.
|
||||
#
|
||||
# log-level = "debug"
|
||||
log-level = "warn";
|
||||
|
||||
# Set the log file.
|
||||
# If *--log-file* is never specified, logs will be written to stderr.
|
||||
# Otherwise, logs will to written to the given file, though some of the early
|
||||
# logs might still be written to the stderr.
|
||||
# When setting this option from the config file, it is recommended to use an absolute path.
|
||||
#
|
||||
# log-file = "/path/to/your/log/file"
|
||||
|
||||
# Show all X errors (for debugging)
|
||||
# show-all-xerrors = false
|
||||
|
||||
# Write process ID to a file.
|
||||
# write-pid-path = "/path/to/your/log/file"
|
||||
|
||||
# Window type settings
|
||||
#
|
||||
# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard:
|
||||
# "unknown", "desktop", "dock", "toolbar", "menu", "utility",
|
||||
# "splash", "dialog", "normal", "dropdown_menu", "popup_menu",
|
||||
# "tooltip", "notification", "combo", and "dnd".
|
||||
#
|
||||
# Following per window-type options are available: ::
|
||||
#
|
||||
# fade, shadow:::
|
||||
# Controls window-type-specific shadow and fade settings.
|
||||
#
|
||||
# opacity:::
|
||||
# Controls default opacity of the window type.
|
||||
#
|
||||
# focus:::
|
||||
# Controls whether the window of this type is to be always considered focused.
|
||||
# (By default, all window types except "normal" and "dialog" has this on.)
|
||||
#
|
||||
# full-shadow:::
|
||||
# Controls whether shadow is drawn under the parts of the window that you
|
||||
# normally won't be able to see. Useful when the window has parts of it
|
||||
# transparent, and you want shadows in those areas.
|
||||
#
|
||||
# clip-shadow-above:::
|
||||
# Controls whether shadows that would have been drawn above the window should
|
||||
# be clipped. Useful for dock windows that should have no shadow painted on top.
|
||||
#
|
||||
# redir-ignore:::
|
||||
# Controls whether this type of windows should cause screen to become
|
||||
# redirected again after been unredirected. If you have unredir-if-possible
|
||||
# set, and doesn't want certain window to cause unnecessary screen redirection,
|
||||
# you can set this to `true`.
|
||||
#
|
||||
wintypes:
|
||||
{
|
||||
tooltip = { fade = true; shadow = true; opacity = false; focus = true; full-shadow = false; };
|
||||
dock = { shadow = false; clip-shadow-above = true; opacity = 0.9; }
|
||||
dnd = { shadow = false; }
|
||||
popup_menu = { opacity = false; }
|
||||
dropdown_menu = { opacity = false; }
|
||||
menu = { shadow = false; };
|
||||
# dropdown_menu = { shadow = false; };
|
||||
# popup_menu = { shadow = false; };
|
||||
# utility = { shadow = false; };
|
||||
};
|
21
dot_config/polybar/colors.ini
Normal file
21
dot_config/polybar/colors.ini
Normal file
|
@ -0,0 +1,21 @@
|
|||
[color]
|
||||
background = ${xrdb:background}
|
||||
foreground = ${xrdb:foreground}
|
||||
sep = ${xrdb:color8}
|
||||
|
||||
white = ${xrdb:color15}
|
||||
black = ${xrdb:color0}
|
||||
dark-grey = ${xrdb:color8}
|
||||
light-grey = ${xrdb:color7}
|
||||
dark-red = ${xrdb:color1}
|
||||
red = ${xrdb:color9}
|
||||
dark-green = ${xrdb:color2}
|
||||
green = ${xrdb:color10}
|
||||
dark-yellow = ${xrdb:color3}
|
||||
yellow = ${xrdb:color11}
|
||||
dark-blue = ${xrdb:color4}
|
||||
blue = ${xrdb:color12}
|
||||
dark-magenta = ${xrdb:color5}
|
||||
magenta = ${xrdb:color13}
|
||||
dark-cyan = ${xrdb:color6}
|
||||
cyan = ${xrdb:color14}
|
152
dot_config/polybar/config.ini.tmpl
Normal file
152
dot_config/polybar/config.ini.tmpl
Normal file
|
@ -0,0 +1,152 @@
|
|||
[global/wm]
|
||||
include-file = ~/.config/polybar/colors.ini
|
||||
include-file = ~/.config/polybar/modules.ini
|
||||
include-file = ~/.config/polybar/custom_modules.ini
|
||||
|
||||
margin-bottom = 0
|
||||
margin-top = 0
|
||||
|
||||
[bar/one]
|
||||
{{- if eq .chezmoi.hostname "hydrus"}}
|
||||
monitor = DisplayPort-0
|
||||
height = 24
|
||||
bottom = true
|
||||
{{- else }}
|
||||
monitor = eDP-1
|
||||
height = 72
|
||||
bottom = false
|
||||
{{- end}}
|
||||
monitor-fallback =
|
||||
monitor-strict = false
|
||||
enable-ipc = true
|
||||
override-redirect = true
|
||||
fixed-center = true
|
||||
width = 99.5%
|
||||
offset-x = 0.25%
|
||||
offset-y = 0.25%
|
||||
{{- if eq .chezmoi.hostname "helix" }}
|
||||
dpi-x = 216
|
||||
dpi-y = 216
|
||||
{{- end }}
|
||||
background = ${color.background}
|
||||
foreground = ${color.foreground}
|
||||
radius = 5.0
|
||||
line-size = 0
|
||||
line-color = ${color.background}
|
||||
border-bottom-size = 0
|
||||
border-bottom-color = ${color.foreground}
|
||||
padding = 1
|
||||
module-margin-left = 1
|
||||
module-margin-right = 0
|
||||
seperator =
|
||||
dim-value = 1.0
|
||||
locale = en_US.UTF-8
|
||||
|
||||
font-0 = Hack:size=10;3
|
||||
font-1 = Font Awesome 6 Free:style=Solid:size=12;3
|
||||
font-2 = Font Awesome 6 Free:style=Regular:size=12;3
|
||||
font-3 = Font Awesome 6 Brands:style=Regular:size=12;3
|
||||
|
||||
modules-left = workspaces sep title
|
||||
modules-center =
|
||||
modules-right = keyboard sep pulseaudio-control sep date sep
|
||||
tray-position = right
|
||||
tray-detached = false
|
||||
{{- if eq .chezmoi.hostname "helix" }}
|
||||
tray-maxsize = 40
|
||||
{{- else }}
|
||||
tray-maxsize = 16
|
||||
{{- end }}
|
||||
tray-background = ${color.background}
|
||||
tray-offset-x = 0
|
||||
tray-offset-y = 0
|
||||
tray-padding = 0
|
||||
tray-scale = 1.0
|
||||
|
||||
wm-name = bspwm
|
||||
wm-restack = bspwm
|
||||
scroll-up = bspwm-desknext
|
||||
scroll-down = bspwm-deskprev
|
||||
click-left =
|
||||
click-middle =
|
||||
click-right =
|
||||
;scroll-up = bspc desktop -f prev.local
|
||||
;scroll-down = bspc desktop -f next.local
|
||||
double-click-left =
|
||||
double-click-middle =
|
||||
double-click-right =
|
||||
cursor-click =
|
||||
cursor-scroll =
|
||||
|
||||
[bar/two]
|
||||
{{- if eq .chezmoi.hostname "hydrus"}}
|
||||
monitor = DisplayPort-1
|
||||
height = 24
|
||||
{{- else }}
|
||||
monitor = eDP-1
|
||||
height = 72
|
||||
{{- end}}
|
||||
bottom = true
|
||||
monitor-fallback =
|
||||
monitor-strict = false
|
||||
enable-ipc = true
|
||||
override-redirect = true
|
||||
fixed-center = true
|
||||
width = 99.5%
|
||||
offset-x = 0.25%
|
||||
offset-y = 0.25%
|
||||
{{- if eq .chezmoi.hostname "helix" }}
|
||||
dpi-x = 216
|
||||
dpi-y = 216
|
||||
{{- end }}
|
||||
background = ${color.background}
|
||||
foreground = ${color.foreground}
|
||||
radius = 5.0
|
||||
line-size = 0
|
||||
line-color = ${color.background}
|
||||
border-bottom-size = 0
|
||||
border-bottom-color = ${color.foreground}
|
||||
padding = 1
|
||||
module-margin-left = 1
|
||||
module-margin-right = 1
|
||||
seperator =
|
||||
dim-value = 1.0
|
||||
locale = en_US.UTF-8
|
||||
|
||||
font-0 = Hack:size=10;3
|
||||
font-1 = Font Awesome 6 Free:style=Solid:size=12;3
|
||||
font-2 = Font Awesome 6 Free:style=Regular:size=12;3
|
||||
font-3 = Font Awesome 6 Brands:style=Regular:size=12;3
|
||||
|
||||
modules-left = workspaces sep title
|
||||
modules-center = spotify
|
||||
modules-right = network sep cpu sep memory sep filesystem
|
||||
|
||||
tray-position = none
|
||||
tray-detached = false
|
||||
tray-maxsize = 16
|
||||
tray-background = ${color.background}
|
||||
tray-offset-x = 0
|
||||
tray-offset-y = 0
|
||||
tray-padding = 0
|
||||
tray-scale = 1.0
|
||||
|
||||
wm-name = bspwm
|
||||
wm-restack = bspwm
|
||||
scroll-up = bspwm-desknext
|
||||
scroll-down = bspwm-deskprev
|
||||
click-left =
|
||||
click-middle =
|
||||
click-right =
|
||||
;scroll-up = bspc desktop -f prev.local
|
||||
;scroll-down = bspc desktop -f next.local
|
||||
double-click-left =
|
||||
double-click-middle =
|
||||
double-click-right =
|
||||
cursor-click =
|
||||
cursor-scroll =
|
||||
|
||||
[settings]
|
||||
screenchange-reload = false
|
||||
pseudo-transparency = false
|
||||
|
107
dot_config/polybar/custom_modules.ini
Normal file
107
dot_config/polybar/custom_modules.ini
Normal file
|
@ -0,0 +1,107 @@
|
|||
[module/sep]
|
||||
type = custom/text
|
||||
content = |
|
||||
|
||||
content-foreground = ${color.sep}
|
||||
|
||||
[module/powermenu]
|
||||
type = custom/menu
|
||||
|
||||
; If true, <label-toggle> will be to the left of the menu items (default).
|
||||
; If false, it will be on the right of all the items.
|
||||
expand-right = true
|
||||
|
||||
; "menu-LEVEL-N" has the same properties as "label-NAME" with
|
||||
; the additional "exec" property
|
||||
;
|
||||
; Available exec commands:
|
||||
; menu-open-LEVEL
|
||||
; menu-close
|
||||
; Other commands will be executed using "/usr/bin/env sh -c $COMMAND"
|
||||
|
||||
menu-0-0 = " Log Out |"
|
||||
menu-0-0-exec = menu-open-1
|
||||
menu-0-1 = " Suspend |"
|
||||
menu-0-1-exec = menu-open-2
|
||||
menu-0-2 = " Reboot |"
|
||||
menu-0-2-exec = menu-open-3
|
||||
menu-0-3 = " Shutdown "
|
||||
menu-0-3-exec = menu-open-4
|
||||
|
||||
menu-1-0 = " Back |"
|
||||
menu-1-0-exec = menu-open-0
|
||||
menu-1-1 = " Log Out "
|
||||
menu-1-1-exec = loginctl kill-session $XDG_SESSION_ID
|
||||
|
||||
menu-2-0 = " Back |"
|
||||
menu-2-0-exec = menu-open-0
|
||||
menu-2-1 = " Suspend "
|
||||
menu-2-1-exec = systemctl suspend
|
||||
menu-2-2 = " Suspend-then-Hibernate "
|
||||
menu-2-2-exec = systemctl suspend-then-hibernate
|
||||
menu-2-3 = " Hibernate "
|
||||
menu-2-3-exec = systemctl hibernate
|
||||
|
||||
menu-3-0 = " Back |"
|
||||
menu-3-0-exec = menu-open-0
|
||||
menu-3-1 = " Reboot "
|
||||
menu-3-1-exec = systemctl reboot
|
||||
|
||||
menu-4-0 = " Back |"
|
||||
menu-4-0-exec = menu-open-0
|
||||
menu-4-1 = " Shutdown "
|
||||
menu-4-1-exec = systemctl poweroff
|
||||
|
||||
|
||||
; Available tags:
|
||||
; <label-toggle> (default) - gets replaced with <label-(open|close)>
|
||||
; <menu> (default)
|
||||
; Note that if you use <label-toggle> you must also include
|
||||
; the definition for <label-open>
|
||||
|
||||
format = <label-toggle><menu>
|
||||
|
||||
label-open =
|
||||
label-open-foreground = ${color.dark-cyan}
|
||||
label-open-padding = 1
|
||||
label-close =
|
||||
label-close-foreground = ${color.red}
|
||||
label-close-padding = 1
|
||||
|
||||
; Optional item separator
|
||||
; Default: none
|
||||
;label-separator = " | "
|
||||
;label-separator-foreground = ${color.foreground}
|
||||
;label-separator-background = ${color.background-alt}
|
||||
|
||||
;;label-open-foreground = ${color.foreground}
|
||||
;;label-close-foreground = ${color.background}
|
||||
|
||||
[module/pulseaudio-control]
|
||||
type = custom/script
|
||||
tail = true
|
||||
;format-underline = ${colors.cyan}
|
||||
;label-padding = 2
|
||||
;label-foreground = ${color.foreground}
|
||||
label-foreground = ${color.blue}
|
||||
|
||||
# You can copy-paste your options for each possible action, which is more
|
||||
# trouble-free but repetitive, or apply only the relevant ones (for example
|
||||
# --sink-blacklist is only needed for next-sink).
|
||||
exec = pulseaudio-control --icons-volume " , , " --icon-muted " " --node-nicknames-from "device.profile.description" listen
|
||||
#exec = pulseaudio-control --icons-volume " , , " --icon-muted " " --sink-nicknames-from "device.description" --sink-nickname "alsa_output.pci-0000_00_1b.0.analog-stereo: Speakers" --sink-nickname "alsa_output.usb-Kingston_HyperX_Virtual_Surround_Sound_00000000-00.analog-stereo: Headphones" listen
|
||||
click-right = exec pavucontrol &
|
||||
click-left = pulseaudio-control togmute
|
||||
click-middle = pulseaudio-control next-sink
|
||||
#click-middle = pulseaudio-control --sink-blacklist "alsa_output.pci-0000_01_00.1.hdmi-stereo-extra2" next-sink
|
||||
scroll-up = pulseaudio-control --volume-max 130 up
|
||||
scroll-down = pulseaudio-control --volume-max 130 down
|
||||
|
||||
[module/spotify]
|
||||
type = custom/script
|
||||
interval = 1
|
||||
format-prefix = " "
|
||||
format = <label>
|
||||
exec = python /usr/bin/polybar-spotify -f '{artist}: {song}'
|
||||
format-prefix-foreground = ${color.dark-green}
|
||||
;format-underline = ${color.green}
|
897
dot_config/polybar/modules.ini
Normal file
897
dot_config/polybar/modules.ini
Normal file
|
@ -0,0 +1,897 @@
|
|||
[module/alsa]
|
||||
type = internal/alsa
|
||||
|
||||
; Soundcard to be used
|
||||
; Usually in the format hw:# where # is the card number
|
||||
; You can find the different card numbers in `/proc/asound/cards`
|
||||
master-soundcard = default
|
||||
speaker-soundcard = default
|
||||
headphone-soundcard = default
|
||||
|
||||
; Name of the master, speaker and headphone mixers
|
||||
; Use the following command to list available mixer controls:
|
||||
; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p"
|
||||
; If master, speaker or headphone-soundcard isn't the default,
|
||||
; use `amixer -c # scontrols` instead where # is the number
|
||||
; of the master, speaker or headphone soundcard respectively
|
||||
;
|
||||
; Default: Master
|
||||
master-mixer = Master
|
||||
|
||||
; Optionally define speaker and headphone mixers
|
||||
; Default: none
|
||||
;speaker-mixer = Speaker
|
||||
; Default: none
|
||||
;headphone-mixer = Headphone
|
||||
|
||||
; NOTE: This is required if headphone_mixer is defined
|
||||
; Use the following command to list available device controls
|
||||
; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort
|
||||
; You may also need to use `amixer -c # controls` as above for the mixer names
|
||||
; Default: none
|
||||
;headphone-id = 9
|
||||
|
||||
; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear
|
||||
; Default: false
|
||||
mapped = true
|
||||
|
||||
; Interval for volume increase/decrease (in percent points)
|
||||
; Default: 5
|
||||
interval = 5
|
||||
|
||||
; Available tags:
|
||||
; <label-volume> (default)
|
||||
; <ramp-volume>
|
||||
; <bar-volume>
|
||||
format-volume = <ramp-volume> <label-volume>
|
||||
|
||||
; Available tags:
|
||||
; <label-muted> (default)
|
||||
; <ramp-volume>
|
||||
; <bar-volume>
|
||||
format-muted = <label-muted>
|
||||
format-muted-prefix =
|
||||
format-muted-prefix-foreground = ${color.red}
|
||||
|
||||
; Available tokens:
|
||||
; %percentage% (default)
|
||||
label-volume = %percentage%%
|
||||
|
||||
; Available tokens:
|
||||
; %percentage% (default)
|
||||
label-muted = " Muted"
|
||||
label-muted-foreground = ${color.sep}
|
||||
|
||||
; Only applies if <ramp-volume> is used
|
||||
ramp-volume-0 =
|
||||
ramp-volume-1 =
|
||||
ramp-volume-2 =
|
||||
ramp-volume-foreground = ${color.blue}
|
||||
|
||||
; If defined, it will replace <ramp-volume> when
|
||||
; headphones are plugged in to `headphone_control_numid`
|
||||
; If undefined, <ramp-volume> will be used for both
|
||||
; Only applies if <ramp-volume> is used
|
||||
ramp-headphones-0 =
|
||||
ramp-headphones-1 =
|
||||
ramp-headphones-foreground = ${color.blue}
|
||||
|
||||
[module/battery0]
|
||||
type = internal/battery
|
||||
|
||||
; This is useful in case the battery never reports 100% charge
|
||||
full-at = 99
|
||||
|
||||
; Use the following command to list batteries and adapters:
|
||||
; $ ls -1 /sys/class/power_supply/
|
||||
battery = BAT0
|
||||
adapter = AC
|
||||
|
||||
; If an inotify event haven't been reported in this many
|
||||
; seconds, manually poll for new values.
|
||||
;
|
||||
; Needed as a fallback for systems that don't report events
|
||||
; on sysfs/procfs.
|
||||
;
|
||||
; Disable polling by setting the interval to 0.
|
||||
;
|
||||
; Default: 5
|
||||
poll-interval = 2
|
||||
|
||||
; see "man date" for details on how to format the time string
|
||||
; NOTE: if you want to use syntax tags here you need to use %%{...}
|
||||
; Default: %H:%M:%S
|
||||
time-format = %H:%M
|
||||
|
||||
; Available tags:
|
||||
; <label-charging> (default)
|
||||
; <bar-capacity>
|
||||
; <ramp-capacity>
|
||||
; <animation-charging>
|
||||
format-charging = <animation-charging> <label-charging>
|
||||
; Available tags:
|
||||
; <label-discharging> (default)
|
||||
; <bar-capacity>
|
||||
; <ramp-capacity>
|
||||
; <animation-discharging>
|
||||
format-discharging = <ramp-capacity> <label-discharging>
|
||||
|
||||
; Available tags:
|
||||
; <label-full> (default)
|
||||
; <bar-capacity>
|
||||
; <ramp-capacity>
|
||||
format-full = <label-full>
|
||||
format-full-prefix =
|
||||
format-full-prefix-foreground = ${color.dark-green}
|
||||
|
||||
; Available tokens:
|
||||
; %percentage% (default)
|
||||
; %time%
|
||||
; %consumption% (shows current charge rate in watts)
|
||||
label-charging = %percentage%%
|
||||
|
||||
; Available tokens:
|
||||
; %percentage% (default)
|
||||
; %time%
|
||||
; %consumption% (shows current discharge rate in watts)
|
||||
label-discharging = %percentage%%
|
||||
|
||||
; Available tokens:
|
||||
; %percentage% (default)
|
||||
label-full = " Full"
|
||||
|
||||
; Only applies if <ramp-capacity> is used
|
||||
ramp-capacity-0 =
|
||||
ramp-capacity-1 =
|
||||
ramp-capacity-2 =
|
||||
ramp-capacity-3 =
|
||||
ramp-capacity-4 =
|
||||
ramp-capacity-foreground = ${color.dark-yellow}
|
||||
|
||||
; Only applies if <bar-capacity> is used
|
||||
;bar-capacity-width = 10
|
||||
|
||||
; Only applies if <animation-charging> is used
|
||||
animation-charging-0 =
|
||||
animation-charging-1 =
|
||||
animation-charging-2 =
|
||||
animation-charging-3 =
|
||||
animation-charging-4 =
|
||||
animation-charging-foreground = ${color.green}
|
||||
; Framerate in milliseconds
|
||||
animation-charging-framerate = 750
|
||||
|
||||
; Only applies if <animation-discharging> is used
|
||||
animation-discharging-0 =
|
||||
animation-discharging-1 =
|
||||
animation-discharging-2 =
|
||||
animation-discharging-3 =
|
||||
animation-discharging-4 =
|
||||
; Framerate in milliseconds
|
||||
animation-discharging-framerate = 500
|
||||
|
||||
[module/battery1]
|
||||
type = internal/battery
|
||||
|
||||
; This is useful in case the battery never reports 100% charge
|
||||
full-at = 89
|
||||
|
||||
; Use the following command to list batteries and adapters:
|
||||
; $ ls -1 /sys/class/power_supply/
|
||||
battery = BAT1
|
||||
adapter = AC
|
||||
|
||||
; If an inotify event haven't been reported in this many
|
||||
; seconds, manually poll for new values.
|
||||
;
|
||||
; Needed as a fallback for systems that don't report events
|
||||
; on sysfs/procfs.
|
||||
;
|
||||
; Disable polling by setting the interval to 0.
|
||||
;
|
||||
; Default: 5
|
||||
poll-interval = 2
|
||||
|
||||
; see "man date" for details on how to format the time string
|
||||
; NOTE: if you want to use syntax tags here you need to use %%{...}
|
||||
; Default: %H:%M:%S
|
||||
time-format = %H:%M
|
||||
|
||||
; Available tags:
|
||||
; <label-charging> (default)
|
||||
; <bar-capacity>
|
||||
; <ramp-capacity>
|
||||
; <animation-charging>
|
||||
format-charging = <animation-charging> <label-charging>
|
||||
; Available tags:
|
||||
; <label-discharging> (default)
|
||||
; <bar-capacity>
|
||||
; <ramp-capacity>
|
||||
; <animation-discharging>
|
||||
format-discharging = <ramp-capacity> <label-discharging>
|
||||
|
||||
; Available tags:
|
||||
; <label-full> (default)
|
||||
; <bar-capacity>
|
||||
; <ramp-capacity>
|
||||
format-full = <label-full>
|
||||
format-full-prefix =
|
||||
format-full-prefix-foreground = ${color.dark-green}
|
||||
|
||||
; Available tokens:
|
||||
; %percentage% (default)
|
||||
; %time%
|
||||
; %consumption% (shows current charge rate in watts)
|
||||
label-charging = %percentage%%
|
||||
|
||||
; Available tokens:
|
||||
; %percentage% (default)
|
||||
; %time%
|
||||
; %consumption% (shows current discharge rate in watts)
|
||||
label-discharging = %percentage%%
|
||||
|
||||
; Available tokens:
|
||||
; %percentage% (default)
|
||||
label-full = " Full"
|
||||
|
||||
; Only applies if <ramp-capacity> is used
|
||||
ramp-capacity-0 =
|
||||
ramp-capacity-1 =
|
||||
ramp-capacity-2 =
|
||||
ramp-capacity-3 =
|
||||
ramp-capacity-4 =
|
||||
ramp-capacity-foreground = ${color.dark-yellow}
|
||||
|
||||
; Only applies if <bar-capacity> is used
|
||||
;bar-capacity-width = 10
|
||||
|
||||
; Only applies if <animation-charging> is used
|
||||
animation-charging-0 =
|
||||
animation-charging-1 =
|
||||
animation-charging-2 =
|
||||
animation-charging-3 =
|
||||
animation-charging-4 =
|
||||
animation-charging-foreground = ${color.green}
|
||||
; Framerate in milliseconds
|
||||
animation-charging-framerate = 750
|
||||
|
||||
; Only applies if <animation-discharging> is used
|
||||
animation-discharging-0 =
|
||||
animation-discharging-1 =
|
||||
animation-discharging-2 =
|
||||
animation-discharging-3 =
|
||||
animation-discharging-4 =
|
||||
; Framerate in milliseconds
|
||||
animation-discharging-framerate = 500
|
||||
|
||||
[module/bspwm]
|
||||
type = internal/bspwm
|
||||
|
||||
; Only show workspaces defined on the same output as the bar
|
||||
; NOTE: The bspwm and XRandR monitor names must match, which they do by default.
|
||||
; Default: true
|
||||
pin-workspaces = true
|
||||
|
||||
; Output mode flags after focused state label
|
||||
; Default: false
|
||||
;;inline-mode = false
|
||||
|
||||
; Create click handler used to focus workspace
|
||||
; Default: true
|
||||
enable-click = true
|
||||
|
||||
; Create scroll handlers used to cycle workspaces
|
||||
; Default: true
|
||||
enable-scroll = true
|
||||
|
||||
; Set the scroll cycle direction
|
||||
; Default: true
|
||||
;;reverse-scroll = false
|
||||
|
||||
; Use fuzzy (partial) matching on labels when assigning
|
||||
; icons to workspaces
|
||||
; Example: code;♚ will apply the icon to all workspaces
|
||||
; containing 'code' in the label
|
||||
; Default: false
|
||||
;;fuzzy-match = true
|
||||
|
||||
; ws-icon-[0-9]+ = label;icon
|
||||
; Note that the label needs to correspond with the bspwm workspace name
|
||||
;;ws-icon-0 = code;♚
|
||||
;;ws-icon-1 = office;♛
|
||||
;;ws-icon-2 = graphics;♜
|
||||
;;ws-icon-3 = mail;♝
|
||||
;;ws-icon-4 = web;♞
|
||||
;;ws-icon-default = ♟
|
||||
|
||||
; Available tags:
|
||||
; <label-monitor>
|
||||
; <label-state> - gets replaced with <label-(focused|urgent|occupied|empty)>
|
||||
; <label-mode> - gets replaced with <label-(monocle|tiled|fullscreen|floating|locked|sticky|private)>
|
||||
; Default: <label-state>
|
||||
format = <label-state> <label-mode>
|
||||
|
||||
; Available tokens:
|
||||
; %name%
|
||||
; Default: %name%
|
||||
label-monitor = %name%
|
||||
|
||||
; If any values for label-dimmed-N are defined, the workspace/mode
|
||||
; colors will get overridden with those values if the monitor is out of focus
|
||||
; To only override workspaces in a specific state, use:
|
||||
; label-dimmed-focused
|
||||
; label-dimmed-occupied
|
||||
; label-dimmed-urgent
|
||||
; label-dimmed-empty
|
||||
;;label-dimmed-foreground = #555
|
||||
;;label-dimmed-underline = ${bar/top.background}
|
||||
;;label-dimmed-focused-background = #f00
|
||||
|
||||
; Available tokens:
|
||||
; %name%
|
||||
; %icon%
|
||||
; %index%
|
||||
; Default: %icon% %name%
|
||||
label-focused = %icon%
|
||||
label-focused-foreground = ${color.foreground}
|
||||
label-focused-background = ${color.background}
|
||||
;label-focused-underline = #fba922
|
||||
|
||||
; Available tokens:
|
||||
; %name%
|
||||
; %icon%
|
||||
; %index%
|
||||
; Default: %icon% %name%
|
||||
label-occupied = %icon%
|
||||
;label-occupied-underline = #555555
|
||||
|
||||
; Available tokens:
|
||||
; %name%
|
||||
; %icon%
|
||||
; %index%
|
||||
; Default: %icon% %name%
|
||||
label-urgent = %icon%
|
||||
label-urgent-foreground = ${color.white}
|
||||
label-urgent-background = ${color.red}
|
||||
;label-urgent-underline = #9b0a20
|
||||
|
||||
; Available tokens:
|
||||
; %name%
|
||||
; %icon%
|
||||
; %index%
|
||||
; Default: %icon% %name%
|
||||
label-empty = %icon%
|
||||
label-empty-foreground = ${color.foreground}
|
||||
|
||||
; The following labels will be used to indicate the layout/mode
|
||||
; for the focused workspace. Requires <label-mode>
|
||||
;
|
||||
; Available tokens:
|
||||
; None
|
||||
label-monocle =
|
||||
label-tiled =
|
||||
label-fullscreen =
|
||||
label-floating =
|
||||
label-pseudotiled = P
|
||||
label-locked =
|
||||
label-locked-foreground = #bd2c40
|
||||
label-sticky =
|
||||
label-sticky-foreground = #fba922
|
||||
label-private =
|
||||
label-private-foreground = #bd2c40
|
||||
|
||||
; Separator in between workspaces
|
||||
label-separator = |
|
||||
label-separator-padding = 2
|
||||
label-separator-foreground = ${color.sep}
|
||||
|
||||
[module/cpu]
|
||||
type = internal/cpu
|
||||
|
||||
; Seconds to sleep between updates
|
||||
; Default: 1
|
||||
interval = 1
|
||||
|
||||
; Available tags:
|
||||
; <label> (default)
|
||||
; <bar-load>
|
||||
; <ramp-load>
|
||||
; <ramp-coreload>
|
||||
;;format = <label> <ramp-coreload>
|
||||
format = <label>
|
||||
format-prefix =
|
||||
format-prefix-foreground = ${color.red}
|
||||
|
||||
; Available tokens:
|
||||
; %percentage% (default) - total cpu load averaged over all cores
|
||||
; %percentage-sum% - Cumulative load on all cores
|
||||
; %percentage-cores% - load percentage for each core
|
||||
; %percentage-core[1-9]% - load percentage for specific core
|
||||
label = " %percentage%%"
|
||||
|
||||
; Spacing between individual per-core ramps
|
||||
;;ramp-coreload-spacing = 1
|
||||
;;ramp-coreload-0 = ${cpu.load0}
|
||||
;;ramp-coreload-1 = ${cpu.load1}
|
||||
|
||||
;;ramp-load-0 = ${cpu.load0}
|
||||
;;ramp-load-1 = ${cpu.load1}i
|
||||
|
||||
[module/date]
|
||||
type = internal/date
|
||||
|
||||
; Seconds to sleep between updates
|
||||
interval = 1.0
|
||||
|
||||
; See "http://en.cppreference.com/w/cpp/io/manip/put_time" for details on how to format the date string.
|
||||
; NOTE: if you want to use syntax tags here you need to use %%{...}
|
||||
date = %a, %d %b
|
||||
|
||||
; Optional time format
|
||||
time = @ %R
|
||||
|
||||
; if `date-alt` or `time-alt` is defined, clicking
|
||||
; the module will toggle between formats
|
||||
date-alt = %m/%d
|
||||
time-alt = %R
|
||||
|
||||
; Available tags:
|
||||
; <label> (default)
|
||||
format = %{A3:gsimplecal:} <label> %{A}
|
||||
format-prefix = " "
|
||||
format-prefix-foreground = ${color.red}
|
||||
|
||||
; Available tokens:
|
||||
; %date%
|
||||
; %time%
|
||||
; Default: %date%
|
||||
label = %date% %time%
|
||||
|
||||
[module/filesystem]
|
||||
type = internal/fs
|
||||
|
||||
; Mountpoints to display
|
||||
mount-0 = /
|
||||
#mount-1 = /home
|
||||
;mount-2 = /var
|
||||
|
||||
; Seconds to sleep between updates
|
||||
; Default: 30
|
||||
interval = 30
|
||||
|
||||
; Display fixed precision values
|
||||
; Default: false
|
||||
fixed-values = true
|
||||
|
||||
; Spacing between entries
|
||||
; Default: 2
|
||||
spacing = 0
|
||||
|
||||
; Available tags:
|
||||
; <label-mounted> (default)
|
||||
; <bar-free>
|
||||
; <bar-used>
|
||||
; <ramp-capacity>
|
||||
format-mounted = <label-mounted>
|
||||
format-mounted-prefix =
|
||||
format-mounted-prefix-foreground = ${color.dark-green}
|
||||
|
||||
; Available tags:
|
||||
; <label-unmounted> (default)
|
||||
format-unmounted = <label-unmounted>
|
||||
format-unmounted-prefix =
|
||||
format-unmounted-prefix-foreground = ${color.red}
|
||||
|
||||
; Available tokens:
|
||||
; %mountpoint%
|
||||
; %type%
|
||||
; %fsname%
|
||||
; %percentage_free%
|
||||
; %percentage_used%
|
||||
; %total%
|
||||
; %free%
|
||||
; %used%
|
||||
; Default: %mountpoint% %percentage_free%%
|
||||
label-mounted = " %used% / %total% "
|
||||
|
||||
; Available tokens:
|
||||
; %mountpoint%
|
||||
; Default: %mountpoint% is not mounted
|
||||
label-unmounted = " %mountpoint%: NA"
|
||||
|
||||
[module/memory]
|
||||
type = internal/memory
|
||||
|
||||
; Seconds to sleep between updates
|
||||
; Default: 1
|
||||
interval = 5
|
||||
|
||||
; Available tags:
|
||||
; <label> (default)
|
||||
; <bar-used>
|
||||
; <bar-free>
|
||||
; <ramp-used>
|
||||
; <ramp-free>
|
||||
; <bar-swap-used>
|
||||
; <bar-swap-free>
|
||||
; <ramp-swap-used>
|
||||
; <ramp-swap-free>
|
||||
format = <label>
|
||||
format-prefix =
|
||||
format-prefix-foreground = ${color.blue}
|
||||
|
||||
; Available tokens:
|
||||
; %percentage_used% (default)
|
||||
; %percentage_free%
|
||||
; %gb_used%
|
||||
; %gb_free%
|
||||
; %gb_total%
|
||||
; %mb_used%
|
||||
; %mb_free%
|
||||
; %mb_total%
|
||||
; %percentage_swap_used%
|
||||
; %percentage_swap_free%
|
||||
; %mb_swap_total%
|
||||
; %mb_swap_free%
|
||||
; %mb_swap_used%
|
||||
; %gb_swap_total%
|
||||
; %gb_swap_free%
|
||||
; %gb_swap_used%
|
||||
|
||||
label = " %mb_used% / %gb_total%"
|
||||
|
||||
; Only applies if <ramp-used> is used
|
||||
;;ramp-used-0 = ${memory.used0}
|
||||
;;ramp-used-1 = ${memory.used1}
|
||||
;;ramp-used-2 = ${memory.used2}
|
||||
|
||||
; Only applies if <ramp-free> is used
|
||||
;;ramp-free-0 = ${memory.free0}
|
||||
;;ramp-free-1 = ${memory.free1}
|
||||
;;ramp-free-2 = ${memory.free2}
|
||||
|
||||
; If you use both a wired and a wireless network, just add 2 module definitions.
|
||||
[module/wired-network]
|
||||
type = internal/network
|
||||
interface = eth0
|
||||
|
||||
[module/wireless-network]
|
||||
type = internal/network
|
||||
interface = wlp4s0
|
||||
|
||||
; Normal Module
|
||||
[module/network]
|
||||
type = internal/network
|
||||
interface = wlan0
|
||||
|
||||
; Seconds to sleep between updates
|
||||
; Default: 1
|
||||
interval = 1.0
|
||||
|
||||
; Test connectivity every Nth update
|
||||
; A value of 0 disables the feature
|
||||
; NOTE: Experimental (needs more testing)
|
||||
; Default: 0
|
||||
;ping-interval = 3
|
||||
|
||||
; @deprecated: Define min width using token specifiers (%downspeed:min% and %upspeed:min%)
|
||||
; Minimum output width of upload/download rate
|
||||
; Default: 3
|
||||
;;udspeed-minwidth = 5
|
||||
|
||||
; Accumulate values from all interfaces
|
||||
; when querying for up/downspeed rate
|
||||
; Default: false
|
||||
accumulate-stats = false
|
||||
|
||||
; Consider an `UNKNOWN` interface state as up.
|
||||
; Some devices have an unknown state, even when they're running
|
||||
; Default: false
|
||||
unknown-as-up = false
|
||||
|
||||
; Available tags:
|
||||
; <label-connected> (default)
|
||||
; <ramp-signal>
|
||||
format-connected = <label-connected>
|
||||
|
||||
; Available tags:
|
||||
; <label-disconnected> (default)
|
||||
format-disconnected = <label-disconnected>
|
||||
format-disconnected-prefix =
|
||||
format-disconnected-prefix-foreground = ${color.dark-yellow}
|
||||
|
||||
; Available tags:
|
||||
; <label-connected> (default)
|
||||
; <label-packetloss>
|
||||
; <animation-packetloss>
|
||||
;;format-packetloss = <animation-packetloss> <label-connected>
|
||||
|
||||
; Available tokens:
|
||||
; %ifname% [wireless+wired]
|
||||
; %local_ip% [wireless+wired]
|
||||
; %local_ip6% [wireless+wired]
|
||||
; %essid% [wireless]
|
||||
; %signal% [wireless]
|
||||
; %upspeed% [wireless+wired]
|
||||
; %downspeed% [wireless+wired]
|
||||
; %linkspeed% [wired]
|
||||
; Default: %ifname% %local_ip%
|
||||
label-connected = " %signal%% %upspeed% %downspeed%"
|
||||
label-connected-foreground = ${color.magenta}
|
||||
; Available tokens:
|
||||
; %ifname% [wireless+wired]
|
||||
; Default: (none)
|
||||
label-disconnected = "Offline"
|
||||
label-disconnected-foreground = ${color.dark-red}
|
||||
; Available tokens:
|
||||
; %ifname% [wireless+wired]
|
||||
; %local_ip% [wireless+wired]
|
||||
; %local_ip6% [wireless+wired]
|
||||
; %essid% [wireless]
|
||||
; %signal% [wireless]
|
||||
; %upspeed% [wireless+wired]
|
||||
; %downspeed% [wireless+wired]
|
||||
; %linkspeed% [wired]
|
||||
; Default: (none)
|
||||
;label-packetloss = %essid%
|
||||
;label-packetloss-foreground = #eefafafa
|
||||
|
||||
; Only applies if <ramp-signal> is used
|
||||
;ramp-signal-0 =
|
||||
;ramp-signal-1 =
|
||||
;ramp-signal-2 =
|
||||
;ramp-signal-3 =
|
||||
;ramp-signal-foreground = ${color.purple}
|
||||
|
||||
; Only applies if <animation-packetloss> is used
|
||||
;;animation-packetloss-0 = ⚠
|
||||
;;animation-packetloss-0-foreground = #ffa64c
|
||||
;;animation-packetloss-1 = ⚠
|
||||
;;animation-packetloss-1-foreground = #000000
|
||||
; Framerate in milliseconds
|
||||
;;animation-packetloss-framerate = 500
|
||||
|
||||
[module/pulseaudio]
|
||||
type = internal/pulseaudio
|
||||
|
||||
; Sink to be used, if it exists (find using `pacmd list-sinks`, name field)
|
||||
; If not, uses default sink
|
||||
sink = alsa_output.pci-0000_12_00.3.analog-stereo
|
||||
|
||||
; Use PA_VOLUME_UI_MAX (~153%) if true, or PA_VOLUME_NORM (100%) if false
|
||||
; Default: true
|
||||
use-ui-max = true
|
||||
|
||||
; Interval for volume increase/decrease (in percent points)
|
||||
; Default: 5
|
||||
interval = 5
|
||||
|
||||
; Available tags:
|
||||
; <label-volume> (default)
|
||||
; <ramp-volume>
|
||||
; <bar-volume>
|
||||
format-volume = <ramp-volume> <label-volume>
|
||||
|
||||
; Available tags:
|
||||
; <label-muted> (default)
|
||||
; <ramp-volume>
|
||||
; <bar-volume>
|
||||
format-muted = <label-muted>
|
||||
format-muted-prefix =
|
||||
format-muted-prefix-foreground = ${color.red}
|
||||
|
||||
; Available tokens:
|
||||
; %percentage% (default)
|
||||
; %decibels%
|
||||
label-volume = %percentage%%
|
||||
|
||||
; Available tokens:
|
||||
; %percentage% (default)
|
||||
; %decibels%
|
||||
label-muted = " Muted"
|
||||
label-muted-foreground = ${color.sep}
|
||||
|
||||
; Only applies if <ramp-volume> is used
|
||||
ramp-volume-0 =
|
||||
ramp-volume-1 =
|
||||
ramp-volume-2 =
|
||||
ramp-volume-foreground = ${color.dark-blue}
|
||||
|
||||
; Right and Middle click
|
||||
click-right = pavucontrol
|
||||
; click-middle =
|
||||
|
||||
[module/temperature]
|
||||
type = internal/temperature
|
||||
|
||||
; Seconds to sleep between updates
|
||||
; Default: 1
|
||||
interval = 5
|
||||
|
||||
; Thermal zone to use
|
||||
; To list all the zone types, run
|
||||
; $ for i in /sys/class/thermal/thermal_zone*; do echo "$i: $(<$i/type)"; done
|
||||
; Default: 0
|
||||
thermal-zone = 1
|
||||
|
||||
; Full path of temperature sysfs path
|
||||
; Use `sensors` to find preferred temperature source, then run
|
||||
; $ for i in /sys/class/hwmon/hwmon*/temp*_input;
|
||||
; do echo "$(<$(dirname $i)/name): $(cat ${i%_*}_label 2>/dev/null ||
|
||||
; echo $(basename ${i%_*})) $(readlink -f $i)"; done
|
||||
; to find path to desired file
|
||||
; Default reverts to thermal zone setting
|
||||
;;hwmon-path = /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input
|
||||
hwmon-path = /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input
|
||||
;hwmon-path = /sys/class/hwmon/hwmon1/temp1_input
|
||||
|
||||
; Threshold temperature to display warning label (in degrees celsius)
|
||||
; Default: 80
|
||||
warn-temperature = 84
|
||||
|
||||
; Whether or not to show units next to the temperature tokens (°C, °F)
|
||||
; Default: true
|
||||
units = true
|
||||
|
||||
; Available tags:
|
||||
; <label> (default)
|
||||
; <ramp>
|
||||
format = <ramp> <label>
|
||||
|
||||
; Available tags:
|
||||
; <label-warn> (default)
|
||||
; <ramp>
|
||||
format-warn = <ramp> <label-warn>
|
||||
|
||||
; Available tokens:
|
||||
; %temperature% (deprecated)
|
||||
; %temperature-c% (default, temperature in °C)
|
||||
; %temperature-f% (temperature in °F)
|
||||
label = %temperature-c%
|
||||
|
||||
; Available tokens:
|
||||
; %temperature% (deprecated)
|
||||
; %temperature-c% (default, temperature in °C)
|
||||
; %temperature-f% (temperature in °F)
|
||||
label-warn = "%temperature-c%"
|
||||
label-warn-foreground = ${color.red}
|
||||
|
||||
; Requires the <ramp> tag
|
||||
; The icon selection will range from 0 to `warn-temperature`
|
||||
; with the current temperature as index.
|
||||
ramp-0 =
|
||||
ramp-1 =
|
||||
ramp-2 =
|
||||
ramp-3 =
|
||||
ramp-4 =
|
||||
ramp-foreground = ${color.cyan}
|
||||
|
||||
[module/keyboard]
|
||||
type = internal/xkeyboard
|
||||
|
||||
; List of indicators to ignore
|
||||
blacklist-0 = num lock
|
||||
blacklist-1 = scroll lock
|
||||
|
||||
; Available tags:
|
||||
; <label-layout> (default)
|
||||
; <label-indicator> (default)
|
||||
format = <label-layout> <label-indicator>
|
||||
format-prefix =
|
||||
format-prefix-foreground = ${color.magenta}
|
||||
|
||||
; Available tokens:
|
||||
; %layout%
|
||||
; %name%
|
||||
; %number%
|
||||
; Default: %layout%
|
||||
label-layout = " %layout%"
|
||||
|
||||
; Available tokens:
|
||||
; %name%
|
||||
; Default: %name%
|
||||
label-indicator-on = "%name%"
|
||||
label-indicator-on-foreground = ${color.white}
|
||||
label-indicator-on-background = ${color.dark-red}
|
||||
|
||||
[module/title]
|
||||
type = internal/xwindow
|
||||
|
||||
; Available tags:
|
||||
; <label> (default)
|
||||
format = <label>
|
||||
format-prefix =
|
||||
format-foreground = ${color.foreground}
|
||||
|
||||
; Available tokens:
|
||||
; %title%
|
||||
; Default: %title%
|
||||
label = " %title%"
|
||||
label-maxlen = 30
|
||||
|
||||
; Used instead of label when there is no window title
|
||||
label-empty = " Desktop"
|
||||
|
||||
[module/workspaces]
|
||||
type = internal/xworkspaces
|
||||
|
||||
; Only show workspaces defined on the same output as the bar
|
||||
;
|
||||
; Useful if you want to show monitor specific workspaces
|
||||
; on different bars
|
||||
;
|
||||
; Default: false
|
||||
pin-workspaces = true
|
||||
|
||||
; Create click handler used to focus desktop
|
||||
; Default: true
|
||||
enable-click = true
|
||||
|
||||
; Create scroll handlers used to cycle desktops
|
||||
; Default: true
|
||||
enable-scroll = true
|
||||
|
||||
; icon-[0-9]+ = <desktop-name>;<icon>
|
||||
; NOTE: The desktop name needs to match the name configured by the WM
|
||||
; You can get a list of the defined desktops using:
|
||||
; $ xprop -root _NET_DESKTOP_NAMES
|
||||
icon-0 = 1;
|
||||
icon-1 = 2;
|
||||
icon-2 = 3;
|
||||
icon-3 = 4;
|
||||
icon-4 = 5;
|
||||
icon-5 = 6;
|
||||
icon-6 = 7;
|
||||
icon-7 = 8;
|
||||
;
|
||||
icon-8 = 9;
|
||||
icon-9 = 10;
|
||||
icon-default =
|
||||
|
||||
; Available tags:
|
||||
; <label-monitor>
|
||||
; <label-state> - gets replaced with <label-(active|urgent|occupied|empty)>
|
||||
; Default: <label-state>
|
||||
format = <label-state>
|
||||
|
||||
; Available tokens:
|
||||
; %name%
|
||||
; Default: %name%
|
||||
label-monitor = %name%
|
||||
|
||||
; Available tokens:
|
||||
; %name%
|
||||
; %icon%
|
||||
; %index%
|
||||
; Default: %icon% %name%
|
||||
label-active = %icon%
|
||||
label-active-foreground = ${color.red}
|
||||
|
||||
; Available tokens:
|
||||
; %name%
|
||||
; %icon%
|
||||
; %index%
|
||||
; Default: %icon% %name%
|
||||
label-occupied = %icon%
|
||||
label-occupied-foreground = ${color.cyan}
|
||||
|
||||
; Available tokens:
|
||||
; %name%
|
||||
; %icon%
|
||||
; %index%
|
||||
; Default: %icon% %name%
|
||||
label-urgent = %icon%
|
||||
label-urgent-foreground = ${color.dark-red}
|
||||
|
||||
; Available tokens:
|
||||
; %name%
|
||||
; %icon%
|
||||
; %index%
|
||||
; Default: %icon% %name%
|
||||
label-empty = %icon%
|
||||
label-empty-foreground = ${color.foreground}
|
||||
|
||||
label-active-padding = 1
|
||||
label-urgent-padding = 1
|
||||
label-occupied-padding = 1
|
||||
label-empty-padding = 1
|
|
@ -56,8 +56,8 @@ riverctl map normal Super Grave send-to-output previous
|
|||
riverctl map normal Super+Shift Return zoom
|
||||
|
||||
# Increase/decrease the main ratio of rivertile(1)
|
||||
riverctl map normal Super B send-layout-cmd rivertile "main-ratio -0.05"
|
||||
riverctl map normal Super F send-layout-cmd rivertile "main-ratio +0.05"
|
||||
riverctl map normal Super F send-layout-cmd rivertile "main-ratio -0.05"
|
||||
riverctl map normal Super B send-layout-cmd rivertile "main-ratio +0.05"
|
||||
|
||||
# Increment/decrement the main count of rivertile(1)
|
||||
riverctl map normal Super+Alt F send-layout-cmd rivertile "main-count +1"
|
||||
|
@ -212,7 +212,7 @@ riverctl map-switch normal lid close 'waylock-launcher'
|
|||
|
||||
# Default layout generator - rivertile(1)
|
||||
riverctl default-layout rivertile
|
||||
rivertile -view-padding 4 -outer-padding 4 -main-ratio .55 &
|
||||
rivertile -view-padding 4 -outer-padding 4 -main-ratio .55 -main-location right &
|
||||
|
||||
# Autostart
|
||||
dbus-update-activation-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=river &
|
||||
|
@ -224,15 +224,14 @@ gnome-keyring-daemon --start --components=ssh &
|
|||
kanshi &
|
||||
pipewire-launcher &
|
||||
swayidle-launcher &
|
||||
waybar-launcher &
|
||||
dunst &
|
||||
gammastep -r &
|
||||
{{- if eq .chezmoi.hostname "hydrus" }}
|
||||
waybar-launcher &
|
||||
river-tag-overlay &
|
||||
blueman-applet &
|
||||
swaybg -m fill -i "${HOME}/Pictures/Wallpapers/dark-forest-path.jpg" &
|
||||
{{- if eq .chezmoi.hostname "hydrus" }}
|
||||
swaybg -m fill -i ${HOME}/Pictures/Wallpapers/dark-forest-path.jpg &
|
||||
{{- else if eq .chezmoi.hostname "helix" }}
|
||||
yambar-launcher &
|
||||
swaybg -m center -i "${HOME}/Pictures/Wallpapers/Mountain Retreat.jpg" &
|
||||
{{- end }}
|
||||
blueman-applet &
|
||||
sleep 10 && nextcloud --background &
|
||||
|
|
185
dot_config/rofi/config.rasi
Normal file
185
dot_config/rofi/config.rasi
Normal file
|
@ -0,0 +1,185 @@
|
|||
/* ==========================================================================
|
||||
Everforest dark theme for rofi
|
||||
|
||||
Based on the Everforest color scheme for Vim by sainnhe
|
||||
https://github.com/sainnhe/everforest/
|
||||
========================================================================== */
|
||||
|
||||
* {
|
||||
/* Theme settings */
|
||||
highlight: bold italic;
|
||||
scrollbar: true;
|
||||
|
||||
/* Everforest colors */
|
||||
|
||||
everforest-bg0: #323d43;
|
||||
everforest-bg1: #525c6d;
|
||||
everforest-fg: #d8cacc;
|
||||
everforest-black: #4a555b;
|
||||
everforest-dark-grey: #525c62;
|
||||
everforest-dark-red: #e26c6e;
|
||||
everforest-red: #e68183;
|
||||
everforest-dark-yellow: #d5b26b;
|
||||
everforest-yellow: #dbbc7f;
|
||||
everforest-dark-blue: #6eb2a9;
|
||||
everforest-blue: #7fbbb3;
|
||||
everforest-dark-magenta: #cf87a9;
|
||||
everforest-magenta: #d699b6;
|
||||
everforest-dark-cyan: #72b783;
|
||||
everforest-cyan: #83c092;
|
||||
everforest-light-grey: #d8caac;
|
||||
everforest-white: #d8caac;
|
||||
|
||||
/* Theme colors */
|
||||
background: @everforest-bg0;
|
||||
background-color: @background;
|
||||
foreground: @everforest-fg;
|
||||
border-color: @everforest-dark-yellow;
|
||||
separatorcolor: @border-color;
|
||||
scrollbar-handle: @border-color;
|
||||
|
||||
normal-background: @background;
|
||||
normal-foreground: @foreground;
|
||||
alternate-normal-background: @everforest-bg1;
|
||||
alternate-normal-foreground: @foreground;
|
||||
selected-normal-background: @everforest-dark-cyan;
|
||||
selected-normal-foreground: @everforest-black;
|
||||
|
||||
active-background: @everforest-yellow;
|
||||
active-foreground: @background;
|
||||
alternate-active-background: @active-background;
|
||||
alternate-active-foreground: @active-foreground;
|
||||
selected-active-background: @everforest-cyan;
|
||||
selected-active-foreground: @active-foreground;
|
||||
|
||||
urgent-background: @everforest-dark-red;
|
||||
urgent-foreground: @background;
|
||||
alternate-urgent-background: @urgent-background;
|
||||
alternate-urgent-foreground: @urgent-foreground;
|
||||
selected-urgent-background: @everforest-red;
|
||||
selected-urgent-foreground: @urgent-foreground;
|
||||
}
|
||||
|
||||
window {
|
||||
background-color: @background;
|
||||
border: 2;
|
||||
padding: 2;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
message {
|
||||
border: 2px 0 0;
|
||||
border-color: @separatorcolor;
|
||||
padding: 1px;
|
||||
}
|
||||
|
||||
textbox {
|
||||
highlight: @highlight;
|
||||
text-color: @foreground;
|
||||
}
|
||||
|
||||
listview {
|
||||
border: 2px solid 0 0;
|
||||
padding: 2px 0 0;
|
||||
border-color: @separatorcolor;
|
||||
spacing: 2px;
|
||||
scrollbar: @scrollbar;
|
||||
}
|
||||
|
||||
element {
|
||||
border: 0;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
element.normal.normal {
|
||||
background-color: @normal-background;
|
||||
text-color: @normal-foreground;
|
||||
}
|
||||
|
||||
element.normal.urgent {
|
||||
background-color: @urgent-background;
|
||||
text-color: @urgent-foreground;
|
||||
}
|
||||
|
||||
element.normal.active {
|
||||
background-color: @active-background;
|
||||
text-color: @active-foreground;
|
||||
}
|
||||
|
||||
element.selected.normal {
|
||||
background-color: @selected-normal-background;
|
||||
text-color: @selected-normal-foreground;
|
||||
}
|
||||
|
||||
element.selected.urgent {
|
||||
background-color: @selected-urgent-background;
|
||||
text-color: @selected-urgent-foreground;
|
||||
}
|
||||
|
||||
element.selected.active {
|
||||
background-color: @selected-active-background;
|
||||
text-color: @selected-active-foreground;
|
||||
}
|
||||
|
||||
element.alternate.normal {
|
||||
background-color: @alternate-normal-background;
|
||||
text-color: @alternate-normal-foreground;
|
||||
}
|
||||
|
||||
element.alternate.urgent {
|
||||
background-color: @alternate-urgent-background;
|
||||
text-color: @alternate-urgent-foreground;
|
||||
}
|
||||
|
||||
element.alternate.active {
|
||||
background-color: @alternate-active-background;
|
||||
text-color: @alternate-active-foreground;
|
||||
}
|
||||
|
||||
scrollbar {
|
||||
width: 4px;
|
||||
border: 0;
|
||||
handle-color: @scrollbar-handle;
|
||||
handle-width: 8px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
mode-switcher {
|
||||
border: 2px 0 0;
|
||||
border-color: @separatorcolor;
|
||||
}
|
||||
|
||||
inputbar {
|
||||
spacing: 0;
|
||||
text-color: @normal-foreground;
|
||||
padding: 2px;
|
||||
children: [ prompt, textbox-prompt-sep, entry, case-indicator ];
|
||||
}
|
||||
|
||||
case-indicator,
|
||||
entry,
|
||||
prompt,
|
||||
button {
|
||||
spacing: 0;
|
||||
text-color: @normal-foreground;
|
||||
}
|
||||
|
||||
button.selected {
|
||||
background-color: @selected-normal-background;
|
||||
text-color: @selected-normal-foreground;
|
||||
}
|
||||
|
||||
textbox-prompt-sep {
|
||||
expand: false;
|
||||
str: ":";
|
||||
text-color: @normal-foreground;
|
||||
margin: 0 0.3em 0 0;
|
||||
}
|
||||
element-text, element-icon {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
188
dot_config/sxhkd/executable_sxhkdrc.tmpl
Normal file
188
dot_config/sxhkd/executable_sxhkdrc.tmpl
Normal file
|
@ -0,0 +1,188 @@
|
|||
#
|
||||
# wm independent hotkeys
|
||||
#
|
||||
|
||||
# terminal emulator
|
||||
super + Return
|
||||
kitty
|
||||
{{ if eq .chezmoi.hostname "helix"}}
|
||||
# power menu
|
||||
super + @End
|
||||
rofi -eh 2 -dpi 240 -show power-menu -modi power-menu:rofi-power-menu
|
||||
|
||||
# program launcher
|
||||
super + @space
|
||||
rofi -dpi 240 -modi drun, run -show drun -show-icons
|
||||
{{ else }}
|
||||
# power menu
|
||||
super + @End
|
||||
rofi -show power-menu -modi power-menu:/usr/bin/rofi-power-menu
|
||||
|
||||
# program launcher
|
||||
super + @space
|
||||
rofi -modi drun, run -show drun -show-icons
|
||||
{{ end }}
|
||||
# make sxhkd reload its configuration files:
|
||||
super + Escape
|
||||
pkill -USR1 -x sxhkd
|
||||
|
||||
# Show list of open windows
|
||||
alt + @Tab
|
||||
rofi -show window
|
||||
|
||||
# Lock the screen
|
||||
ctrl + alt + l
|
||||
xset s activate
|
||||
|
||||
# Screenshot
|
||||
Print
|
||||
maim | xclip -selection clipboard -t image/png
|
||||
|
||||
alt + Print
|
||||
maim -s | xclip -selection clipboard -t image/png
|
||||
|
||||
shift + Print
|
||||
maim -i $(xdotool getactivewindow) | xclip -selection clipboard -t image/png
|
||||
|
||||
# bspwm hotkeys
|
||||
#
|
||||
|
||||
# quit/restart bspwm
|
||||
super + alt + {q,r}
|
||||
bspc {quit,wm -r}
|
||||
|
||||
# close and kill
|
||||
super + {_,shift + }q
|
||||
bspc node -{c,k}
|
||||
|
||||
# alternate between the tiled and monocle layout
|
||||
super + m
|
||||
bspc desktop -l next
|
||||
|
||||
# send the newest marked node to the newest preselected node
|
||||
super + y
|
||||
bspc node newest.marked.local -n newest.!automatic.local
|
||||
|
||||
# swap the current node and the biggest window
|
||||
super + g
|
||||
bspc node -s biggest.window
|
||||
|
||||
#
|
||||
# state/flags
|
||||
#
|
||||
|
||||
# set the window state
|
||||
super + {t,shift + t,s,f}
|
||||
bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
|
||||
|
||||
# set the node flags
|
||||
super + ctrl + {m,x,y,z}
|
||||
bspc node -g {marked,locked,sticky,private}
|
||||
|
||||
#
|
||||
# focus/swap
|
||||
#
|
||||
|
||||
# focus the node in the given direction
|
||||
super + {_,shift + }{h,j,k,l}
|
||||
bspc node -{f,s} {west,south,north,east}
|
||||
|
||||
# focus the node for the given path jump
|
||||
super + {p,b,comma,period}
|
||||
bspc node -f @{parent,brother,first,second}
|
||||
|
||||
# focus the next/previous window in the current desktop
|
||||
super + {_,shift + }c
|
||||
bspc node -f {next,prev}.local.!hidden.window
|
||||
|
||||
# focus the next/previous desktop in the current monitor
|
||||
super + bracket{left,right}
|
||||
bspc desktop -f {prev,next}.local
|
||||
|
||||
# focus the last node/desktop
|
||||
super + {grave,Tab}
|
||||
bspc {node,desktop} -f last
|
||||
|
||||
# focus the older or newer node in the focus history
|
||||
super + {o,i}
|
||||
bspc wm -h off; \
|
||||
bspc node {older,newer} -f; \
|
||||
bspc wm -h on
|
||||
|
||||
# focus or send to the given desktop
|
||||
super + {_,shift + }{1-9,0}
|
||||
bspc {desktop -f,node -d} '^{1-9,10}'
|
||||
|
||||
#
|
||||
# preselect
|
||||
#
|
||||
|
||||
# preselect the direction
|
||||
super + ctrl + {h,j,k,l}
|
||||
bspc node -p {west,south,north,east}
|
||||
|
||||
# preselect the ratio
|
||||
super + ctrl + {1-9}
|
||||
bspc node -o 0.{1-9}
|
||||
|
||||
# cancel the preselection for the focused node
|
||||
super + ctrl + space
|
||||
bspc node -p cancel
|
||||
|
||||
# cancel the preselection for the focused desktop
|
||||
super + ctrl + shift + space
|
||||
bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
|
||||
|
||||
#
|
||||
# move/resize
|
||||
#
|
||||
|
||||
# expand a window by moving one of its side outward
|
||||
super + alt + {h,j,k,l}
|
||||
bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
|
||||
|
||||
# contract a window by moving one of its side inward
|
||||
super + alt + shift + {h,j,k,l}
|
||||
bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
|
||||
|
||||
# move a floating window
|
||||
super + {Left,Down,Up,Right}
|
||||
bspc node -v {-20 0,0 20,0 -20,20 0}
|
||||
|
||||
### Function Keys
|
||||
|
||||
XF86AudioMute
|
||||
pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||
|
||||
XF86AudioLowerVolume
|
||||
pactl set-sink-volume @DEFAULT_SINK@ -5%
|
||||
|
||||
XF86AudioRaiseVolume
|
||||
pactl set-sink-volume @DEFAULT_SINK@ +5%
|
||||
|
||||
XF86AudioMicMute
|
||||
pactl set-source-mute @DEFAULT_SOURCE@ toggle
|
||||
|
||||
XF86MonBrightnessDown
|
||||
xbacklight -dec 2
|
||||
|
||||
XF86MonBrightnessUp
|
||||
xbacklight -inc 2
|
||||
|
||||
XF86Display
|
||||
mirror-outputs
|
||||
|
||||
XF86WLAN
|
||||
toggle-wifi
|
||||
|
||||
XF86Tools
|
||||
lxappearance
|
||||
|
||||
XF86Search
|
||||
pamac-manager
|
||||
|
||||
XF86LaunchA
|
||||
rofi -show window
|
||||
|
||||
XF86Explorer
|
||||
thunar
|
304
dot_config/tint2/tint2rc
Normal file
304
dot_config/tint2/tint2rc
Normal file
|
@ -0,0 +1,304 @@
|
|||
#---- Generated by tint2conf aeaf ----
|
||||
# See https://gitlab.com/o9000/tint2/wikis/Configure for
|
||||
# full documentation of the configuration options.
|
||||
|
||||
#-------------------------------------
|
||||
# Gradients
|
||||
|
||||
# Gradient 1: thin film effect
|
||||
gradient = horizontal
|
||||
start_color = #111122 30
|
||||
end_color = #112211 30
|
||||
color_stop = 60 #221111 30
|
||||
|
||||
# Gradient 2: radial glow
|
||||
gradient = radial
|
||||
start_color = #ffffff 20
|
||||
end_color = #ffffff 0
|
||||
|
||||
#-------------------------------------
|
||||
# Backgrounds
|
||||
|
||||
# Background 1: Panel
|
||||
rounded = 8
|
||||
border_width = 0
|
||||
border_sides = TBLR
|
||||
background_color = #323d43 90
|
||||
border_color = #323d43 30
|
||||
background_color_hover = #323d43 70
|
||||
border_color_hover = #323d43 30
|
||||
background_color_pressed = #323d43 100
|
||||
border_color_pressed = #323d43 30
|
||||
|
||||
# Background 2: Default task, Iconified task
|
||||
rounded = 4
|
||||
border_width = 1
|
||||
border_sides = TBLR
|
||||
background_color = #4a555b 20
|
||||
border_color = #525c62 30
|
||||
background_color_hover = #aaaaaa 22
|
||||
border_color_hover = #eaeaea 44
|
||||
background_color_pressed = #555555 4
|
||||
border_color_pressed = #eaeaea 44
|
||||
|
||||
# Background 3: Active task
|
||||
rounded = 4
|
||||
border_width = 1
|
||||
border_sides = TBLR
|
||||
background_color = #7fbbb3 40
|
||||
border_color = #d8caac 40
|
||||
background_color_hover = #aaaaaa 22
|
||||
border_color_hover = #eaeaea 44
|
||||
background_color_pressed = #555555 4
|
||||
border_color_pressed = #eaeaea 44
|
||||
|
||||
# Background 4: Urgent task
|
||||
rounded = 4
|
||||
border_width = 1
|
||||
border_sides = TBLR
|
||||
background_color = #e26c6e 100
|
||||
border_color = #d5b26b 100
|
||||
background_color_hover = #dbbc7f 100
|
||||
border_color_hover = #d5b26b 100
|
||||
background_color_pressed = #555555 4
|
||||
border_color_pressed = #d5b26b 100
|
||||
|
||||
# Background 5: Tooltip
|
||||
rounded = 1
|
||||
border_width = 1
|
||||
border_sides = TBLR
|
||||
background_color = #9bb86f 100
|
||||
border_color = #4a555b 100
|
||||
background_color_hover = #ffffaa 100
|
||||
border_color_hover = #000000 100
|
||||
background_color_pressed = #ffffaa 100
|
||||
border_color_pressed = #000000 100
|
||||
|
||||
#-------------------------------------
|
||||
# Panel
|
||||
panel_items = TE:B:SCP
|
||||
panel_size = 99% 48
|
||||
scale_relative_to_dpi = 216
|
||||
panel_margin = 0 8
|
||||
panel_padding = 2 0 2
|
||||
panel_background_id = 1
|
||||
wm_menu = 1
|
||||
panel_dock = 0
|
||||
panel_position = top center horizontal
|
||||
panel_layer = bottom
|
||||
panel_monitor = all
|
||||
panel_shrink = 0
|
||||
autohide = 0
|
||||
autohide_show_timeout = 0
|
||||
autohide_hide_timeout = 0.5
|
||||
autohide_height = 2
|
||||
strut_policy = follow_size
|
||||
panel_window_name = tint2
|
||||
disable_transparency = 0
|
||||
mouse_effects = 1
|
||||
font_shadow = 0
|
||||
mouse_hover_icon_asb = 100 0 10
|
||||
mouse_pressed_icon_asb = 100 0 0
|
||||
|
||||
#-------------------------------------
|
||||
# Taskbar
|
||||
taskbar_mode = multi_desktop
|
||||
taskbar_hide_if_empty = 1
|
||||
taskbar_padding = 0 0 2
|
||||
taskbar_background_id = 0
|
||||
taskbar_active_background_id = 0
|
||||
taskbar_name = 1
|
||||
taskbar_hide_inactive_tasks = 0
|
||||
taskbar_hide_different_monitor = 0
|
||||
taskbar_hide_different_desktop = 0
|
||||
taskbar_always_show_all_desktop_tasks = 0
|
||||
taskbar_name_padding = 4 2
|
||||
taskbar_name_background_id = 0
|
||||
taskbar_name_active_background_id = 0
|
||||
taskbar_name_font = Hack 18
|
||||
taskbar_name_font_color = #d8caac 100
|
||||
taskbar_name_active_font_color = #d0bf9b 100
|
||||
taskbar_distribute_size = 0
|
||||
taskbar_sort_order = none
|
||||
task_align = left
|
||||
|
||||
#-------------------------------------
|
||||
# Task
|
||||
task_text = 1
|
||||
task_icon = 1
|
||||
task_centered = 1
|
||||
urgent_nb_of_blink = 100000
|
||||
task_maximum_size = 150 35
|
||||
task_padding = 2 4 2
|
||||
task_tooltip = 1
|
||||
task_thumbnail = 0
|
||||
task_thumbnail_size = 210
|
||||
task_font = Hack 10
|
||||
task_font_color = #d8caac 100
|
||||
task_background_id = 2
|
||||
task_active_background_id = 3
|
||||
task_urgent_background_id = 4
|
||||
task_iconified_background_id = 2
|
||||
mouse_left = toggle
|
||||
mouse_middle = none
|
||||
mouse_right = close
|
||||
mouse_scroll_up = prev_task
|
||||
mouse_scroll_down = next_task
|
||||
|
||||
#-------------------------------------
|
||||
# System tray (notification area)
|
||||
systray_padding = 2 4 4
|
||||
systray_background_id = 0
|
||||
systray_sort = ascending
|
||||
systray_icon_size = 28
|
||||
systray_icon_asb = 100 0 0
|
||||
systray_monitor = 1
|
||||
systray_name_filter =
|
||||
|
||||
#-------------------------------------
|
||||
# Launcher
|
||||
launcher_padding = 2 4 2
|
||||
launcher_background_id = 0
|
||||
launcher_icon_background_id = 0
|
||||
launcher_icon_size = 24
|
||||
launcher_icon_asb = 100 0 0
|
||||
launcher_icon_theme_override = 0
|
||||
startup_notifications = 1
|
||||
launcher_tooltip = 1
|
||||
launcher_item_app = tint2conf.desktop
|
||||
launcher_item_app = firefox.desktop
|
||||
launcher_item_app = iceweasel.desktop
|
||||
launcher_item_app = chromium-browser.desktop
|
||||
launcher_item_app = google-chrome.desktop
|
||||
|
||||
#-------------------------------------
|
||||
# Clock
|
||||
time1_format = %H:%M
|
||||
time2_format = %a %d %b
|
||||
time1_font = Hack 14
|
||||
time2_font = Hack 10
|
||||
time1_timezone =
|
||||
time2_timezone =
|
||||
clock_font_color = #d8caac 100
|
||||
clock_padding = 6 0
|
||||
clock_background_id = 0
|
||||
clock_tooltip = %H:%M %A %d %B %Y
|
||||
clock_tooltip_timezone =
|
||||
clock_lclick_command = gsimplecal
|
||||
clock_rclick_command =
|
||||
clock_mclick_command =
|
||||
clock_uwheel_command =
|
||||
clock_dwheel_command =
|
||||
|
||||
#-------------------------------------
|
||||
# Battery
|
||||
battery_tooltip = 1
|
||||
battery_low_status = 10
|
||||
battery_low_cmd = notify-send "Low battery: 10%"
|
||||
battery_full_cmd = notify-send "Battery done charging"
|
||||
bat1_font = Hack 14
|
||||
battery_font_color = #d8caac 100
|
||||
bat1_format = | BAT: %s %p %t
|
||||
bat2_format =
|
||||
battery_padding = 1 0
|
||||
battery_background_id = 0
|
||||
battery_hide = 101
|
||||
battery_lclick_command =
|
||||
battery_rclick_command =
|
||||
battery_mclick_command =
|
||||
battery_uwheel_command =
|
||||
battery_dwheel_command =
|
||||
ac_connected_cmd = notify-send "AC Power connected"
|
||||
ac_disconnected_cmd = "AC Power disconnected"
|
||||
|
||||
#-------------------------------------
|
||||
# Tooltip
|
||||
tooltip_show_timeout = 0.5
|
||||
tooltip_hide_timeout = 0.1
|
||||
tooltip_padding = 4 4
|
||||
tooltip_background_id = 5
|
||||
tooltip_font_color = #4a555b 100
|
||||
tooltip_font = Hack 14
|
||||
|
||||
#-------------------------------------
|
||||
# Separators
|
||||
|
||||
# Separator1
|
||||
separator = new
|
||||
separator_background_id = 0
|
||||
separator_color = #7fbbb3
|
||||
separator_style = empty
|
||||
separator_size = 4
|
||||
separator_padding = 0 0
|
||||
|
||||
# Separator2
|
||||
separator = new
|
||||
separator_background_id = 0
|
||||
separator_color = #7fbbb3
|
||||
separator_style = dots
|
||||
separator_size = 4
|
||||
separator_padding = 12 0
|
||||
|
||||
# Separator3
|
||||
separator = new
|
||||
separator_background_id = 0
|
||||
separator_color = #7fbbb3 80
|
||||
separator_style = line
|
||||
separator_size = 2
|
||||
separator_padding = 12 0
|
||||
|
||||
# Separator4
|
||||
separator = new
|
||||
separator_background_id = 0
|
||||
separator_color = #7fbbb3
|
||||
separator_style = empty
|
||||
separator_size = 6
|
||||
separator_padding = 12 0
|
||||
|
||||
#-------------------------------------
|
||||
# Executors
|
||||
|
||||
# Exec1
|
||||
# Note the use of "stdbuf -oL" to force the program to flush the output line by line.
|
||||
#execp = new
|
||||
#execp_command = free -b -s10| stdbuf -oL awk '/^Mem:/ { printf "Mem: %s / \n", $3 }' | stdbuf -oL numfmt --to=iec-i --field=2 -d' '
|
||||
#execp_interval = 30
|
||||
#execp_continuous = 1
|
||||
#execp_font = Hack 14
|
||||
#execp_font_color = #d8caac 100
|
||||
|
||||
# Exec2
|
||||
#execp = new
|
||||
#execp_command = free -b -s10| stdbuf -oL awk '/^Mem:/ { printf "%s %.0f%%\n", $2, 100 * ($2 - $7) / $2 }' | stdbuf -oL numfmt --to=iec-i --field=1 -d' '
|
||||
#execp_interval = 30
|
||||
#execp_continuous = 1
|
||||
#execp_font = Hack 14
|
||||
#execp_font_color = #d8caac 100
|
||||
|
||||
# Exec3
|
||||
execp = new
|
||||
execp_command = sys-mon.py -CatMu -N
|
||||
execp_interval = 10
|
||||
execp_has_icon = 0
|
||||
execp_cache_icon = 0
|
||||
execp_continuous = 0
|
||||
execp_markup = 0
|
||||
execp_font_color = #d8caac 100
|
||||
execp_padding = 0 0
|
||||
execp_font = Hack 14
|
||||
execp_background_id = 0
|
||||
execp_centered = 1
|
||||
execp_icon_w = 0
|
||||
execp_icon_h = 0
|
||||
|
||||
#-------------------------------------
|
||||
# Buttons
|
||||
|
||||
#Button1
|
||||
button = new
|
||||
button_text =
|
||||
button_icon = /usr/share/icons/Papirus-Dark/24x24/actions/exit.svg
|
||||
button_background_id = 0
|
||||
button_lclick_command = rofi -dpi 240 -show power-menu -modi power-menu:/usr/bin/rofi-power-menu
|
||||
button_mclick_command = rofi -dpi 240 -show power-menu -modi power-menu:"/usr/bin/rofi-power-menu --choose suspend/hibernate"
|
||||
button_rclick_command = rofi -dpi 240 -show power-menu -modi power-menu:"/usr/bin/rofi-power-menu --choices reboot/shutdown"
|
|
@ -1,7 +1,6 @@
|
|||
# Colors
|
||||
.everforest:
|
||||
0: &foreground d8caacff
|
||||
1: &background 323d43dd
|
||||
1: &background 323d43cc
|
||||
2: &black 4a555bff
|
||||
3: &dark_grey 525c62ff
|
||||
4: &dark_red e26c6eff
|
||||
|
@ -18,22 +17,20 @@
|
|||
15: &cyan 83c092ff
|
||||
16: &light_grey d0bf9bff
|
||||
17: &white d8caacff
|
||||
transparent_light_grey: &transparent_light_grey d0bf9b99
|
||||
transparent_black: &transparent_black 4a555b99
|
||||
# Fonts
|
||||
{{- if eq .chezmoi.hostname "helix" }}
|
||||
hack: &hack Hack:pixelsize=24
|
||||
awesome: &awesome Font Awesome 6 Free:style=solid:pixelsize=24
|
||||
hack: &hack Hack:pixelsize=28
|
||||
awesome: &awesome Font Awesome 6 Free:style=solid:pixelsize=26
|
||||
{{- else}}
|
||||
hack: &hack Hack:pixelsize=13
|
||||
awesome: &awesome Font Awesome 6 Free:style=solid:pixelsize=12
|
||||
{{- end }}
|
||||
# Labels
|
||||
separator: &separator {string: {text: " ", font: *hack, foreground: *light_grey}}
|
||||
separator: &separator {string: {text: " | ", font: *hack, foreground: *light_grey}}
|
||||
light_underline: &light_underline d0bf9b99
|
||||
dark_underline: &dark_underline 4a555b99
|
||||
|
||||
bar:
|
||||
{{- if eq .chezmoi.hostname "helix" }}
|
||||
height: 64
|
||||
height: 72
|
||||
location: top
|
||||
{{- else if eq .chezmoi.hostname "hydrus" }}
|
||||
monitor: DP-1
|
||||
|
@ -51,16 +48,16 @@ bar:
|
|||
background: *background
|
||||
border:
|
||||
{{- if eq .chezmoi.hostname "hydrus" }}
|
||||
bottom-margin: 4
|
||||
left-margin: 8
|
||||
right-margin: 8
|
||||
top-width: 0
|
||||
bottom-width: 2
|
||||
{{- else }}
|
||||
top-margin: 8
|
||||
left-margin: 16
|
||||
right-margin: 16
|
||||
top-width: 4
|
||||
bottom-width: 0
|
||||
{{- end }}
|
||||
width: 0
|
||||
color: *transparent_light_grey
|
||||
left-width: 0
|
||||
right-width: 0
|
||||
color: *light_underline
|
||||
margin: 0
|
||||
|
||||
left:
|
||||
- river:
|
||||
|
@ -84,32 +81,32 @@ bar:
|
|||
urgent:
|
||||
string:
|
||||
<<: *river_base
|
||||
deco: {stack: [{background: {color: *dark_red}}, {border: {size: 6, color: *black}}]}
|
||||
deco: {stack: [{background: {color: *dark_red}}, {underline: {size: 4, color: *black}}]}
|
||||
foreground: *black
|
||||
focused:
|
||||
string:
|
||||
<<: *river_base
|
||||
deco: {stack: [{background: {color: *light_grey}}, {underline: {size: 6, color: *transparent_black}}]}
|
||||
deco: {stack: [{background: {color: *light_grey}}, {underline: {size: 4, color: *dark_underline}}]}
|
||||
foreground: *dark_grey
|
||||
visible && occupied:
|
||||
string:
|
||||
<<: *river_base
|
||||
deco: {stack: [{background: {color: *transparent_light_grey}}, {underline: {size: 6, color: *transparent_black}}]}
|
||||
deco: {stack: [{background: {color: *light_underline}}, {underline: {size: 4, color: *dark_underline}}]}
|
||||
foreground: *light_grey
|
||||
visible && ~occupied:
|
||||
string:
|
||||
<<: *river_base
|
||||
deco: {stack: [{background: {color: *transparent_light_grey}}, {underline: {size: 6, color: *transparent_black}}]}
|
||||
deco: {stack: [{background: {color: *light_underline}}, {underline: {size: 4, color: *dark_underline}}]}
|
||||
foreground: *light_grey
|
||||
~visible && occupied:
|
||||
string:
|
||||
<<: *river_base
|
||||
deco: {stack: [{background: {color: *dark_grey}}, {underline: {size: 6, color: *transparent_light_grey}}]}
|
||||
deco: {stack: [{background: {color: *dark_grey}}, {underline: {size: 4, color: *light_underline}}]}
|
||||
foreground: *light_grey
|
||||
~focused && occupied:
|
||||
string:
|
||||
<<: *river_base
|
||||
deco: {stack: [{background: {color: *dark_grey}}, {underline: {size: 6, color: *transparent_light_grey}}]}
|
||||
deco: {stack: [{background: {color: *dark_grey}}, {underline: {size: 4, color: *light_underline}}]}
|
||||
foreground: *light_grey
|
||||
id < 10 && ~visible && ~occupied:
|
||||
string:
|
||||
|
@ -136,8 +133,8 @@ bar:
|
|||
wheel-down: sh -c "pactl set-sink-volume @DEFAULT_SINK@ -5%"
|
||||
conditions:
|
||||
sink_muted:
|
||||
- string: {text: , font: *awesome, foreground: *transparent_light_grey}
|
||||
- string: {text: " {sink_percent}% ({sink_port})", foreground: *transparent_light_grey}
|
||||
- string: {text: , font: *awesome, foreground: *light_underline}
|
||||
- string: {text: " {sink_percent}% ({sink_port})", foreground: *light_underline}
|
||||
~sink_muted:
|
||||
- ramp:
|
||||
tag: sink_percent
|
||||
|
@ -162,38 +159,23 @@ bar:
|
|||
content: *separator
|
||||
- network:
|
||||
name: wlan0
|
||||
poll-interval: 60
|
||||
poll-interval: 1000
|
||||
content:
|
||||
map:
|
||||
default: {string: {text: , font: *awesome}}
|
||||
conditions:
|
||||
state == down: {string: {text: , font: *awesome, foreground: *dark_grey}}
|
||||
state == down: {string: {text: , font: *awesome, foreground: *dark_grey}}
|
||||
state == up:
|
||||
map:
|
||||
default:
|
||||
- string: {text: , font: *awesome}
|
||||
- string: {text: " {name}: {state}"}
|
||||
#- string: {text: " {ssid} {dl-speed:mb}/{ul-speed:mb} Mb/s", foreground: *light_grey}
|
||||
conditions:
|
||||
ipv4 == "":
|
||||
- string: {text: , font: *awesome}
|
||||
- string: {text: " {name}: {state}"}
|
||||
- network:
|
||||
name: eth0
|
||||
poll-interval: 60
|
||||
content:
|
||||
map:
|
||||
conditions:
|
||||
~carrier: {empty: {}}
|
||||
carrier:
|
||||
map:
|
||||
default:
|
||||
- string: {text: , font: *awesome}
|
||||
- string: {text: " {name}: {state}"}
|
||||
conditions:
|
||||
state == down: {string: {text: , font: *awesome}}
|
||||
ipv4 == "":
|
||||
- string: {text: , font: *awesome}
|
||||
- string: {text: " {name}: {state}"}
|
||||
#- string: {text: " {ssid} {dl-speed:mb}/{ul-speed:mb} Mb/s", foreground: *light_grey}
|
||||
- label:
|
||||
content: *separator
|
||||
- battery:
|
||||
|
@ -236,6 +218,6 @@ bar:
|
|||
time-format: "%R"
|
||||
content:
|
||||
- string: {text: , font: *awesome}
|
||||
- string: {text: " {date} "}
|
||||
- string: {text: " {date} | "}
|
||||
- string: {text: , font: *awesome}
|
||||
- string: {text: " {time} "}
|
||||
|
|
21
dot_local/bin/executable_dual-polybar-launcher
Normal file
21
dot_local/bin/executable_dual-polybar-launcher
Normal file
|
@ -0,0 +1,21 @@
|
|||
#!/bin/bash
|
||||
|
||||
START_TIME=`date +"%b %d, %Y %T"`
|
||||
LOG_FILE_BAR1="${XDG_STATE_HOME}"/polybar1.log
|
||||
LOG_FILE_BAR2="${XDG_STATE_HOME}"/polybar2.log
|
||||
|
||||
echo "--- ${START_TIME} ---" > "$LOG_FILE_BAR1"
|
||||
echo "--- ${START_TIME} ---" > "$LOG_FILE_BAR2"
|
||||
|
||||
# Terminate already running bar instances
|
||||
#killall -q polybar # needed if ipc disabled
|
||||
polybar-msg cmd quit
|
||||
|
||||
# Wait until the processes have been shut down
|
||||
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
|
||||
|
||||
# Launch Polybar
|
||||
polybar one -r --config=~/.config/polybar/config.ini 2>&1 | tee -a "$LOG_FILE_BAR1" & disown
|
||||
polybar two -r --config=~/.config/polybar/config.ini 2>&1 | tee -a "$LOG_FILE_BAR2" & disown
|
||||
|
||||
echo "Polybar launched..."
|
17
dot_local/bin/executable_single-polybar-launcher
Normal file
17
dot_local/bin/executable_single-polybar-launcher
Normal file
|
@ -0,0 +1,17 @@
|
|||
#!/bin/bash
|
||||
|
||||
START_TIME=`date +"%b %d, %Y %T"`
|
||||
LOG_FILE="${XDG_STATE_HOME}"/polybar.log
|
||||
|
||||
echo "--- ${START_TIME} ---" > "$LOG_FILE"
|
||||
|
||||
# Terminate already running bar instances
|
||||
#killall -q polybar # needed if ipc disabled
|
||||
polybar-msg cmd quit
|
||||
|
||||
# Wait until the processes have been shut down
|
||||
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
|
||||
|
||||
# Launch Polybar
|
||||
polybar one -r --config=~/.config/polybar/config.ini 2>&1 | tee -a "$LOG_FILE" & disown
|
||||
|
23
dot_local/bin/executable_tint2-launcher
Normal file
23
dot_local/bin/executable_tint2-launcher
Normal file
|
@ -0,0 +1,23 @@
|
|||
#!/bin/bash
|
||||
|
||||
START_TIME=`date +"%b %d, %Y %T"`
|
||||
LOG_FILE="${XDG_STATE_HOME}"/tint2.log
|
||||
|
||||
echo "--- ${START_TIME} ---" > "$LOG_FILE"
|
||||
|
||||
# Terminate already running bar instances
|
||||
killall -q tint2
|
||||
|
||||
# Wait until the processes have been shut down
|
||||
while pgrep -u $UID -x tint2 >/dev/null; do sleep 1; done
|
||||
|
||||
# Launch tint2
|
||||
tint2 2>&1 | tee -a "$LOG_FILE" & disown
|
||||
|
||||
# Final command won't work without sleep
|
||||
sleep 1 &&
|
||||
|
||||
# Keep tint2 below other windows in fullscreen
|
||||
if pgrep -x "tint2" > /dev/null ; then
|
||||
xdo above -t "$(xdo id -N Bspwm -n root | sort | head -n 1)" $(xdo id -n tint2)
|
||||
fi
|
16
dot_local/bin/executable_xidlehook-desktop
Normal file
16
dot_local/bin/executable_xidlehook-desktop
Normal file
|
@ -0,0 +1,16 @@
|
|||
#!/bin/bash
|
||||
|
||||
START_TIME=`date +"%b %d, %Y %T"`
|
||||
LOG_FILE="${XDG_STATE_HOME}"/xidlehook.log
|
||||
|
||||
echo "--- ${START_TIME} ---" > "$LOG_FILE"
|
||||
|
||||
# Wait on pipewire or "--not-when-audio" will break everything
|
||||
until pgrep -u $UID -x pipewire-pulse >/dev/null; do sleep 1; done
|
||||
|
||||
# lock screen after 10 minutes
|
||||
xidlehook \
|
||||
--not-when-audio \
|
||||
--not-when-fullscreen \
|
||||
--timer 600 'xset s activate' '' \
|
||||
2>&1 | tee -a "$LOG_FILE" & disown
|
18
dot_local/bin/executable_xidlehook-laptop
Normal file
18
dot_local/bin/executable_xidlehook-laptop
Normal file
|
@ -0,0 +1,18 @@
|
|||
#!/bin/bash
|
||||
|
||||
START_TIME=`date +"%b %d, %Y %T"`
|
||||
LOG_FILE="${XDG_STATE_HOME}"/xidlehook.log
|
||||
|
||||
echo "--- ${START_TIME} ---" > "$LOG_FILE"
|
||||
|
||||
# Wait on pipewire or "--not-when-audio" will break everything
|
||||
until pgrep -u $UID -x pipewire-pulse >/dev/null; do sleep 1; done
|
||||
|
||||
# dim screen after 2 minutes, lock screen after 10, suspend after an hour
|
||||
xidlehook \
|
||||
--not-when-audio \
|
||||
--not-when-fullscreen \
|
||||
--timer 120 'killall -q redshift && xrandr --output eDP-1 --brightness .1' 'xrandr --output eDP-1 --brightness 1 && redshift -r & disown' \
|
||||
--timer 480 'xset s activate' 'xrandr --output eDP-1 --brightness 1 && redshift -r & disown' \
|
||||
--timer 3000 'loginctl suspend' 'xrandr --output eDP-1 --brightness 1 && redshift -r & disown' \
|
||||
2>&1 | tee -a "$LOG_FILE" & disown
|
|
@ -1,21 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
START_TIME=`date +"%b %d, %Y %T"`
|
||||
LOG_FILE_BAR1="${XDG_STATE_HOME}"/yambar1.log
|
||||
echo "--- ${START_TIME} ---" > "$LOG_FILE_BAR1"
|
||||
{{- if eq .chezmoi.hostname "hydrus" }}
|
||||
LOG_FILE_BAR2="${XDG_STATE_HOME}"/yambar2.log
|
||||
echo "--- ${START_TIME} ---" > "$LOG_FILE_BAR2"
|
||||
{{- end }}
|
||||
|
||||
# Terminate already running bar instances
|
||||
killall -q yambar
|
||||
|
||||
# Wait until the processes have been shut down
|
||||
while pgrep -u $UID -x yambar >/dev/null; do sleep 1; done
|
||||
|
||||
# Launch Yambar
|
||||
yambar -s 2>&1 | tee -a "$LOG_FILE_BAR1" & disown
|
||||
{{- if eq .chezmoi.hostname "hydrus" }}
|
||||
yambar -s -c "${XDG_CONFIG_HOME}/yambar/bar2.yml" 2>&1 | tee -a "$LOG_FILE_BAR2" & disown
|
||||
{{- end }}
|
Loading…
Reference in a new issue