#!/bin/sh # SPDX-License-Identifier: AGPL-3.0-only # Copyright 2022 Sxmo Contributors envvars() { export SXMO_WM=dwm # shellcheck disable=SC2086 command -v $TERMCMD "" >/dev/null || export TERMCMD="st" command -v "$KEYBOARD" >/dev/null || defaultkeyboard [ -z "$MOZ_USE_XINPUT2" ] && export MOZ_USE_XINPUT2=1 } defaults() { xmodmap /usr/share/sxmo/appcfg/xmodmap_caps_esc xsetroot -mod 29 29 -fg '#0b3a4c' -bg '#082430' xset s off -dpms for xr in /usr/share/sxmo/appcfg/*.xr; do xrdb -merge "$xr" done [ -e "$HOME"/.Xresources ] && xrdb -merge "$HOME"/.Xresources SCREENWIDTH=$(xrandr | grep "Screen 0" | cut -d" " -f 8) SCREENHEIGHT=$(xrandr | grep "Screen 0" | cut -d" " -f 10 | tr -d ",") if [ "$SCREENWIDTH" -lt 1024 ] || [ "$SCREENHEIGHT" -lt 768 ]; then gsettings set org.gtk.Settings.FileChooser window-size "($SCREENWIDTH,$((SCREENHEIGHT / 2)))" fi } defaultkeyboard() { if command -v svkbd-mobile-intl >/dev/null; then export KEYBOARD=svkbd-mobile-intl elif command -v svkbd-mobile-plain >/dev/null; then export KEYBOARD=svkbd-mobile-plain else #legacy export KEYBOARD=svkbd-sxmo fi } with_dbus() { echo "$DBUS_SESSION_BUS_ADDRESS" > "$XDG_RUNTIME_DIR"/dbus.bus # shellcheck source=configs/appcfg/xinit_template . "$XDG_CONFIG_HOME"/sxmo/xinit exec /usr/bin/bspwm-session.sh } start() { if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then dbus-run-session -- "$0" "with_dbus" else # with_dbus calls exec because dbus-run-session starts it in a # new shell, but we need to keep this shell; start in a subshell ( with_dbus ) fi } cleanup() { sxmo_daemons.sh stop all pkill svkbd pkill dmenu } init() { # shellcheck source=scripts/core/sxmo_common.sh . /etc/profile.d/sxmo_init.sh _sxmo_load_environments _sxmo_prepare_dirs envvars sxmo_migrate.sh sync defaults # shellcheck disable=SC1090,SC1091 . "$XDG_CONFIG_HOME/sxmo/profile" start cleanup sxmo_hook_stop.sh } if [ -z "$1" ]; then init else "$1" fi