master ohmu/wmutils / scripts / center.sh
ohmu  ·  2026-07-25
 1#!/bin/sh
 2
 3. ~/.theme
 4
 5if [ $# -ne 2 ]; then
 6    echo "Usage: $0 {x|y|xy} wid"
 7    exit 1
 8fi
 9
10OLD_WIN=$2
11OLD_X=$(wattr x $OLD_WIN)
12OLD_Y=$(wattr y $OLD_WIN)
13
14CURSOR=$(wmp -r)
15CURSOR_X=$(echo $CURSOR | cut -d' ' -f1)
16CURSOR_Y=$(echo $CURSOR | cut -d' ' -f2)
17
18REL_X=$((CURSOR_X - OLD_X))
19REL_Y=$((CURSOR_Y - OLD_Y))
20
21ROOT_W=$(wattr w $(lsw -r))
22ROOT_H=$(wattr h $(lsw -r))
23
24WIN_W=$(wattr w $OLD_WIN)
25WIN_H=$(wattr h $OLD_WIN)
26
27NEW_X=$(((ROOT_W - WIN_W) / 2))
28NEW_Y=$(((ROOT_H - WIN_H) / 2))
29
30case $1 in
31    xy)
32        wtp $NEW_X $NEW_Y $WIN_W $WIN_H $OLD_WIN
33        ;;
34    x)
35        wtp $NEW_X $OLD_Y $WIN_W $WIN_H $OLD_WIN
36        ;;
37    y)
38        wtp $OLD_X $NEW_Y $WIN_W $WIN_H $OLD_WIN
39        ;;
40    *)
41        echo "Invalid argument. Use: x, y, xy"
42        exit 1
43        ;;
44esac
45
46NEW_CURSOR_X=$((NEW_X + WIN_W/2))
47NEW_CURSOR_Y=$((NEW_Y + WIN_H/2))
48
49#wmp -a $NEW_CURSOR_X $NEW_CURSOR_Y
50