1
0
mirror of https://github.com/frebib/dotfiles.git synced 2024-06-14 12:57:23 +00:00

Compare commits

...

5 Commits

Author SHA1 Message Date
839d972e95
systemd-run-i3: Add ExitType=cgroup to user units
systemd v250 added ExitType= which allows systemd to wait for all
processes in the cgroup to exit before terminating the unit, instead of
only the main pid. This has many uses, but for desktop applications in
particular it allows self-restarting (forking) applications to correctly
fork/restart and other background processes that may have been spawned
to continue when their forked parent inevitably exits first (like ssh
processes inside terminals).

Signed-off-by: Joe Groocock <me@frebib.net>
2022-03-21 21:46:28 +00:00
ece2eb878a
picom: Avoid odd-looking shadows in Firefox
picom cannot and does not attempt to use the window geometry from the
non-rectangular menu+friend windows that Firefox displays which causes a
strange floating blur/shadow behind the menus. Avoid this by disabling
both blur and shadows on those pop-ups until picom can handle it better.

Signed-off-by: Joe Groocock <me@frebib.net>
2022-03-21 21:44:39 +00:00
6f1569b35d
alacritty: log at Warn and above
Info produces causes logging under normal use, which creates useless log
files in /tmp, which I don't need.

Signed-off-by: Joe Groocock <me@frebib.net>
2022-03-21 21:42:48 +00:00
5035afc8b4
X11, dpi: reliably set xcursor size
Other minor tweaks to the dpi script to ensure everything gets updated
correctly.

Signed-off-by: Joe Groocock <me@frebib.net>
2022-03-21 21:41:57 +00:00
650eb08a80
aliases: rm is always verbose
That way I can see when I've been an idiot and deleted something I
actually needed.

Signed-off-by: Joe Groocock <me@frebib.net>
2022-03-21 21:35:00 +00:00
8 changed files with 43 additions and 30 deletions

View File

@ -36,4 +36,5 @@ Xft.hinting: true
Xft.hintstyle: hintfull Xft.hintstyle: hintfull
Xft.lcdfilter: lcddefault Xft.lcdfilter: lcddefault
Xcursor.size: 16
Xcursor.theme: Breeze_Obsidian Xcursor.theme: Breeze_Obsidian

View File

@ -611,7 +611,7 @@ debug:
# - Info # - Info
# - Debug # - Debug
# - Trace # - Trace
log_level: Info log_level: Warn
# Print all received window events. # Print all received window events.
#print_events: false #print_events: false

View File

@ -46,7 +46,7 @@ alias sudo='sudo '
alias open=xdg-open alias open=xdg-open
# Command rewrites # Command rewrites
alias rm='rm -i' alias rm='rm -iv'
alias mv='mv -i' alias mv='mv -i'
alias cp='cp -ir' alias cp='cp -ir'
alias scp='scp -r' alias scp='scp -r'

View File

@ -3,9 +3,9 @@
gtk-theme-name="Arc-Dark" gtk-theme-name="Arc-Dark"
gtk-icon-theme-name="Xenlism-Wildfire" gtk-icon-theme-name="Xenlism-Wildfire"
gtk-font-name="Noto Sans 9" gtk-font-name="sans 9"
gtk-cursor-theme-name="Breeze_Obsidian" gtk-cursor-theme-name="Breeze_Obsidian"
gtk-cursor-theme-size=0 gtk-cursor-theme-size=16
gtk-toolbar-style=GTK_TOOLBAR_BOTH gtk-toolbar-style=GTK_TOOLBAR_BOTH
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=1 gtk-button-images=1

View File

@ -2,9 +2,9 @@
gtk-theme-name=Arc-Dark gtk-theme-name=Arc-Dark
gtk-icon-theme-name=Xenlism-Wildfire gtk-icon-theme-name=Xenlism-Wildfire
gtk-application-prefer-dark-theme=true gtk-application-prefer-dark-theme=true
gtk-font-name=Noto Sans 9 gtk-font-name=sans 9
gtk-cursor-theme-name=Breeze_Obsidian gtk-cursor-theme-name=Breeze_Obsidian
gtk-cursor-theme-size=0 gtk-cursor-theme-size=16
gtk-toolbar-style=GTK_TOOLBAR_BOTH gtk-toolbar-style=GTK_TOOLBAR_BOTH
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=1 gtk-button-images=1

View File

@ -15,8 +15,7 @@ shadow-exclude = [
"class_g = 'slop'", "class_g = 'slop'",
"class_g = 'Conky'", "class_g = 'Conky'",
"class_g ?= 'Notify-osd'", "class_g ?= 'Notify-osd'",
"class_g = 'Cairo-clock'", "class_g = 'firefox' && argb && (window_type = 'utility' || window_type = 'popup_menu')",
"class_g = 'firefox' && argb",
"name = 'Notification'", "name = 'Notification'",
"name = 'cpt_frame_window'", "name = 'cpt_frame_window'",
"_GTK_FRAME_EXTENTS@:c" "_GTK_FRAME_EXTENTS@:c"
@ -49,10 +48,11 @@ blur-background-exclude = [
"class_g = 'Onboard'", "class_g = 'Onboard'",
"class_g = 'slop'", "class_g = 'slop'",
"class_g = 'Polybar'", "class_g = 'Polybar'",
"class_g = 'firefox' && argb", "class_g = 'firefox' && argb && (window_type = 'utility' || window_type = 'popup_menu')",
"window_type = 'dock'", "window_type = 'dock'",
"window_type = 'desktop'", "window_type = 'desktop'",
"_GTK_FRAME_EXTENTS@:c" "_GTK_FRAME_EXTENTS@:c",
"_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
]; ];
# Fading # Fading

View File

@ -9,43 +9,57 @@ xrdbget() {
xrdb -query | grep -i -m1 "$1" | sed 's/^.*:\s//g' || echo "$2" xrdb -query | grep -i -m1 "$1" | sed 's/^.*:\s//g' || echo "$2"
} }
dpi=$1 xsetting_bool() {
case "$1" in
true) echo 1;;
false) echo 0;;
default) echo -1;;
*) echo -1;;
esac
}
if [ -z "$1" ]; then
>&2 printf "Usage\n\t%s: <dpi>" "$(basename "$0")" if [ -z "$1" ] || [ "$1" -gt 200 ] || [ "$1" -lt 96 ]; then
>&2 printf "Usage\n\t%s: value\n\n value\t Value must be within 96-200 inclusive\n" "$(basename "$0")"
exit 1 exit 1
fi fi
# Update picom and xorg dpi=$1
sed -i "s/strength =.*$/strength = $(( dpi*8/96 ));/" "$CONF_DIR/picom/picom.conf" &
xrandr --dpi "$dpi" &
scale=$(( dpi/96 )) scale=$(( dpi/96 ))
cursor=$(( dpi/6 )) cursor=$(( dpi/6 ))
# Update picom scale
sed -i -e "s/strength =.*$/strength = $(( dpi*8/96 ));/" \
-e "s/corner-radius =.*$/corner-radius = $(( dpi/13 ));/" \
"$CONF_DIR/picom/picom.conf" &
# Build xsettingsd.conf # Build xsettingsd.conf
mkdir -p "$CONF_DIR/xsettingsd" mkdir -p "$CONF_DIR/xsettingsd"
{ {
cat "$CONF_DIR/xsettingsd.local" 2>/dev/null || true cat "$CONF_DIR/xsettingsd.local" 2>/dev/null || :
echo "Xcursor/size $cursor" echo "Xcursor/size $cursor"
echo "Gtk/CursorThemeSize $cursor" echo "Gtk/CursorThemeSize $cursor"
echo "Gtk/CursorThemeName \"$(xrdbget Xcursor.theme Adwaita)\"" echo "Gtk/CursorThemeName \"$(xrdbget Xcursor.theme Adwaita)\""
echo "Xft/HintStyle \"$(xrdbget Xft.hintstyle hintfull)\"" echo "Xft/HintStyle \"$(xrdbget Xft.hintstyle hintfull)\""
echo "Xft/Hinting \"$(xrdbget Xft.hinting -1)\"" echo "Xft/Hinting $(xsetting_bool "$(xrdbget Xft.hinting default)")"
echo "Xft/RGBA \"$(xrdbget Xft.rgba rgb)\"" echo "Xft/RGBA \"$(xrdbget Xft.rgba rgb)\""
echo "Xft/DPI $(( dpi*1024 ))" echo "Xft/DPI $(( dpi*1024 ))"
echo "Gdk/WindowScalingFactor $scale" echo "Gdk/WindowScalingFactor $scale"
echo "Gdk/UnscaledDPI $(( dpi*1024/scale ))" echo "Gdk/UnscaledDPI $(( dpi*1024/scale ))"
} > "$CONF_DIR/xsettingsd/xsettingsd.conf" } > "$CONF_DIR/xsettingsd/xsettingsd.conf"
{ xrdb -merge <<EOF &
echo "Xft.dpi: $dpi" Xft.dpi: $dpi
echo "Xcursor.size: $cursor" Xcursor.size: $cursor
} | xrdb -merge & EOF
xrandr --dpi "$dpi" &
systemctl --user reload-or-restart xsettingsd & systemctl --user reload-or-restart xsettingsd &
wait wait
systemctl --user reload \ systemctl --user reload \
i3 \ i3 \
polybar@i3bar polybar@i3bar &
systemctl --user restart \
dunst &
wait

View File

@ -1,5 +1,6 @@
#!/bin/bash -e #!/bin/bash -e
slice=app
rand=$(tr -dc 'a-f0-9' < /dev/urandom | head -c 8) rand=$(tr -dc 'a-f0-9' < /dev/urandom | head -c 8)
args=() args=()
@ -16,14 +17,11 @@ do case "$opt" in
done done
shift $((OPTIND-1)) shift $((OPTIND-1))
if [ -z "$slice" ]; then
slice=app
fi
exec systemd-run \ exec systemd-run \
--user \ --user \
--collect \ --collect \
--slice="$slice" \ --slice="$slice" \
--unit="$slice-$1-$rand" \ --unit="$slice-$1-$rand" \
--property=BindsTo=graphical-session.target \ --property=BindsTo=graphical-session.target \
${args[@]} -- "$@" --property=ExitType=cgroup \
"${args[@]}" -- "$@"