aboutsummaryrefslogtreecommitdiff
path: root/dbus-examples
diff options
context:
space:
mode:
Diffstat (limited to 'dbus-examples')
-rw-r--r--dbus-examples/cdbus-driver.sh54
-rw-r--r--dbus-examples/inverter.sh69
2 files changed, 0 insertions, 123 deletions
diff --git a/dbus-examples/cdbus-driver.sh b/dbus-examples/cdbus-driver.sh
deleted file mode 100644
index 31a9b2f..0000000
--- a/dbus-examples/cdbus-driver.sh
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/bin/sh
-
-if [ -z "$SED" ]; then
- SED="sed"
- command -v gsed > /dev/null && SED="gsed"
-fi
-
-# === Get connection parameters ===
-
-dpy=$(echo -n "$DISPLAY" | tr -c '[:alnum:]' _)
-
-if [ -z "$dpy" ]; then
- echo "Cannot find display."
- exit 1
-fi
-
-service="com.github.chjj.compton.${dpy}"
-interface='com.github.chjj.compton'
-object='/com/github/chjj/compton'
-type_win='uint32'
-type_enum='uint32'
-
-# === DBus methods ===
-
-# List all window ID compton manages (except destroyed ones)
-dbus-send --print-reply --dest="$service" "$object" "${interface}.list_win"
-
-# Get window ID of currently focused window
-focused=$(dbus-send --print-reply --dest="$service" "$object" "${interface}.find_win" string:focused | $SED -n 's/^[[:space:]]*'${type_win}'[[:space:]]*\([[:digit:]]*\).*/\1/p')
-
-if [ -n "$focused" ]; then
- # Get invert_color_force property of the window
- dbus-send --print-reply --dest="$service" "$object" "${interface}.win_get" "${type_win}:${focused}" string:invert_color_force
-
- # Set the window to have inverted color
- dbus-send --print-reply --dest="$service" "$object" "${interface}.win_set" "${type_win}:${focused}" string:invert_color_force "${type_enum}:1"
-else
- echo "Cannot find focused window."
-fi
-
-# Reset compton
-sleep 3
-dbus-send --print-reply --dest="$service" "$object" "${interface}.reset"
-
-# Undirect window
-sleep 3
-dbus-send --print-reply --dest="$service" "$object" "${interface}.opts_set" string:redirected_force "${type_enum}:0"
-
-# Revert back to auto
-sleep 3
-dbus-send --print-reply --dest="$service" "$object" "${interface}.opts_set" string:redirected_force "${type_enum}:2"
-
-# Force repaint
-dbus-send --print-reply --dest="$service" "$object" "${interface}.repaint"
diff --git a/dbus-examples/inverter.sh b/dbus-examples/inverter.sh
deleted file mode 100644
index e13cb2d..0000000
--- a/dbus-examples/inverter.sh
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/sh
-
-# == Declare stderr function ===
-
-stderr() {
- printf "\033[1;31m%s\n\033[0m" "$@" >&2
-}
-
-# === Verify `picom --dbus` status ===
-
-if [ -z "$(dbus-send --session --dest=org.freedesktop.DBus --type=method_call --print-reply /org/freedesktop/DBus org.freedesktop.DBus.ListNames | grep compton)" ]; then
- stderr "picom DBus interface unavailable"
- if [ -n "$(pgrep picom)" ]; then
- stderr "picom running without dbus interface"
- #killall picom & # Causes all windows to flicker away and come back ugly.
- #picom --dbus & # Causes all windows to flicker away and come back beautiful
- else
- stderr "picom not running"
- fi
- exit 1
-fi
-
-# === Setup sed ===
-
-SED="${SED:-$(command -v gsed || printf 'sed')}"
-
-# === Get connection parameters ===
-
-dpy=$(printf "$DISPLAY" | tr -c '[:alnum:]' _)
-
-if [ -z "$dpy" ]; then
- stderr "Cannot find display."
- exit 1
-fi
-
-service="com.github.chjj.compton.${dpy}"
-interface="com.github.chjj.compton"
-picom_dbus="dbus-send --print-reply --dest="${service}" / "${interface}"."
-type_win='uint32'
-type_enum='uint32'
-
-# === Color Inversion ===
-
-# Get window ID of window to invert
-if [ -z "$1" -o "$1" = "selected" ]; then
- window=$(xwininfo -frame | sed -n 's/^xwininfo: Window id: \(0x[[:xdigit:]][[:xdigit:]]*\).*/\1/p') # Select window by mouse
-elif [ "$1" = "focused" ]; then
- # Ensure we are tracking focus
- window=$(${picom_dbus}find_win string:focused | $SED -n 's/^[[:space:]]*'${type_win}'[[:space:]]*\([[:digit:]]*\).*/\1/p') # Query picom for the active window
-elif echo "$1" | grep -Eiq '^([[:digit:]][[:digit:]]*|0x[[:xdigit:]][[:xdigit:]]*)$'; then
- window="$1" # Accept user-specified window-id if the format is correct
-else
- echo "$0" "[ selected | focused | window-id ]"
-fi
-
-# Color invert the selected or focused window
-if [ -n "$window" ]; then
- invert_status="$(${picom_dbus}win_get "${type_win}:${window}" string:invert_color | $SED -n 's/^[[:space:]]*boolean[[:space:]]*\([[:alpha:]]*\).*/\1/p')"
- if [ "$invert_status" = true ]; then
- invert=0 # Set the window to have normal color
- else
- invert=1 # Set the window to have inverted color
- fi
- ${picom_dbus}win_set "${type_win}:${window}" string:invert_color_force "${type_enum}:${invert}" &
-else
- stderr "Cannot find $1 window."
- exit 1
-fi
-exit 0