File: take-screenshots

package info (click to toggle)
qtile 0.34.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,004 kB
  • sloc: python: 49,959; ansic: 4,371; xml: 324; sh: 260; makefile: 218
file content (63 lines) | stat: -rwxr-xr-x 1,546 bytes parent folder | download
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#!/usr/bin/env bash
# environment variables
PROJECT_DIR=$(dirname "$(dirname "$(readlink -f "$0")")")
XDISPLAY=${XDISPLAY:-:1}
SCREEN_SIZE=${SCREEN_SIZE:-960x540}
LOG_PATH=${PROJECT_DIR}/docs/screenshots/take_all.log
GEOMETRY=${GEOMETRY:-240x135}
DELAY=${DELAY:-1x1}
BORDER_FOCUS=${BORDER_FOCUS:-#ff0000}
BORDER_NORMAL=${BORDER_NORMAL:-#000000}
BORDER_WIDTH=${BORDER_WIDTH:-8}
MARGIN=${MARGIN:-10}
if [[ -z "${PYTHON}" ]]; then
  if [[ -f "${PROJECT_DIR}/venv/bin/python3" ]]; then
    PYTHON="${PROJECT_DIR}/venv/bin/python3"
  else
    PYTHON=python3
  fi
fi

# run command in nested X window with specific env vars
nested() {
  env \
    DISPLAY=${XDISPLAY} \
    PYTHON="${PYTHON}" \
    LOG_PATH="${LOG_PATH}" \
    GEOMETRY="${GEOMETRY}" \
    DELAY="${DELAY}" \
    BORDER_FOCUS="${BORDER_FOCUS}" \
    BORDER_NORMAL="${BORDER_NORMAL}" \
    BORDER_WIDTH="${BORDER_WIDTH}" \
    MARGIN="${MARGIN}" \
    "$@"
}

rm "${LOG_PATH}" &>/dev/null
touch "${LOG_PATH}"
tail -f "${LOG_PATH}" &
TAIL_PID=$!

Xephyr +extension RANDR -screen ${SCREEN_SIZE} ${XDISPLAY} -ac &>/dev/null &
XEPHYR_PID=$!

(
  sleep 1
  nested "${PYTHON}" "${PROJECT_DIR}/libqtile/scripts/main.py" -l CRITICAL -c "${PROJECT_DIR}/docs/screenshots/config.py" &
  QTILE_PID=$!

  case $1 in
    -i|--interactive)
      nested xterm
    ;;
    *)
      sleep 1
      nested xterm -e "${PYTHON}" "${PROJECT_DIR}/docs/screenshots/take_all.py" "$@"
      kill $TAIL_PID
      nested xterm -e qtile cmd-obj -o cmd -f shutdown
    ;;
  esac

  wait $QTILE_PID
  kill $XEPHYR_PID
)