summary refs log tree commit diff
path: root/bin/sway-run
blob: be60ae48851218183bb3bd808ac564ca3c6fe45c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/bin/sh

set -ex

if [ "$XDG_RUNTIME_DIR" == "" ]; then
    export XDG_RUNTIME_DIR=/tmp
fi

LOCKED=0
SWAY_BIN=/usr/bin/sway
SWAY_ARGS=

while getopts ":dcDL" o; do
    case $o in
        d) SWAY_ARGS="$SWAY_ARGS --debug" ;;
        D)
            export XDG_RUNTIME_DIR=/tmp/sway-run-debug
            [ ! -d "$XDG_RUNTIME_DIR" ] && mkdir -p "$XDG_RUNTIME_DIR"
            ;;
        c) SWAY_ARGS="$SWAY_ARGS --config $XDG_CONFIG_HOME/sway/simple.conf" ;;
        L) LOCKED=1 ;;
        *) echo "unknown flag: $o" 1>&2
    esac
done
shift $((OPTIND-1))

if [ $LOCKED -eq 1 ]; then
    sh -c 'sleep 1; $HOME/.dotfiles/bin/lock' & disown
    exec "$0" $@
fi

case $1 in
    locked)     shift; exec $0 -L ;;
    git)        shift; 
        SWAY_SRC="$HOME/devel/upstream/github.com/swaywm/sway"
        SWAY_BIN="$SWAY_SRC/build/sway/sway";
        export PATH="$SWAY_SRC/build/sway:$PATH"
        export LD_LIBRARY_PATH="$SWAY_SRC/build/subprojects/wlroots:$LD_LIBRARY_PATH"
        ;;
    system)     shift; exec $0 ;;
    clean)      shift; exec $0 -c ;;
esac

TS="$(date -u --rfc-3339=seconds | tr ' ' 'T')"
LOG=/var/log/sway/"$TS".log

exec $SWAY_BIN -Ddamage=rerender $SWAY_ARGS $@ 1>&2 2>"$LOG"