1
0
Fork 0
dotfiles/files/bin/sway

64 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
import-gsettings() {
# usage: import-gsettings <gsettings key>:<settings.ini key> <gsettings key>:<settings.ini key> ...
expression=""
for pair in "$@"; do
IFS=:; set -- $pair
expressions="$expressions -e 's:^$2=(.*)$:gsettings set org.gnome.desktop.interface $1 \1:e'"
done
IFS=
eval sed -E $expressions "${XDG_CONFIG_HOME:-$HOME/.config}"/gtk-3.0/settings.ini >/dev/null
}
export XDG_SESSION_TYPE=wayland
# Qt
export DESKTOP_SESSION=gnome
export QT_STYLE_OVERRIDE=gtk
export QT_QPA_PLATFORMTHEME=gtk2
export QT_AUTO_SCREEN_SCALE_FACTOR=0
export QT_QPA_PLATFORM=wayland
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
# GTK
export CLUTTER_BACKEND=wayland
export GTK_CSD=0
if [[ -f /usr/lib/libgtk3-nocsd.so.0 ]]; then
export LD_PRELOAD=/usr/lib/libgtk3-nocsd.so.0
fi
import-gsettings \
gtk-theme:gtk-theme-name \
icon-theme:gtk-icon-theme-name \
cursor-theme:gtk-cursor-theme-name
# Elementary/EFL
export ECORE_EVAS_ENGINE=wayland_egl
export ELM_ENGINE=wayland_egl
# SDL
export SDL_VIDEODRIVER=wayland
# Java
export _JAVA_AWT_WM_NONREPARENTING=1
# Firefox
export MOZ_ENABLE_WAYLAND=1
# wlroot rdp
wlroot_rdp_cache="$HOME/.cache/wlr-rdp"
wlroot_rdp_cert="$wlroot_rdp_cache/tls.crt"
wlroot_rdp_key="$wlroot_rdp_cache/tls.key"
wlroot_rdp_csr="$wlroot_rdp_cache/tls.csr"
mkdir "$wlroot_rdp_cache" 2>/dev/null
if [[ ! -e "$wlroot_rdp_cert" ]] || [[ ! -e "$wlroot_rdp_key" ]]; then
openssl genrsa -out "$wlroot_rdp_key" 2048
openssl req -new -key "$wlroot_rdp_key" -out "$wlroot_rdp_csr"
openssl x509 -req -days 365 -signkey "$wlroot_rdp_key" -in "$wlroot_rdp_csr" -out "$wlroot_rdp_cert"
fi
# start sway
WLR_RDP_TLS_CERT_PATH="$wlroot_rdp_cert" \
WLR_RDP_TLS_KEY_PATH="$wlroot_rdp_key" \
exec /usr/bin/sway $@