Skip to content

Instantly share code, notes, and snippets.

@illucent
Created November 19, 2015 23:50
Show Gist options
  • Select an option

  • Save illucent/e4f1a115755679607bc2 to your computer and use it in GitHub Desktop.

Select an option

Save illucent/e4f1a115755679607bc2 to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
#
# compositing - enable/disable compositing (Xorg + compton)
# Simple compton wrapper script (default values in brackets)
#
# https://github.com/netzverweigerer
# opacity of window borders (100)
border_opacity=80
# time between fade steps (10)
fade_time=2
# shadow offsets
shadow_left_offset=-6
shadow_top_offset=-6
# opacity of shadows (0.075)
shadow_opacity=0.4
# shadow blur radius (12)
shadow_radius=4
# opacity of popup windows (menus)
popup_opacity=100
# -m - opacity for popup menus and dropdown menus (1.0)
# -C - no shadow on panels/docks
# -f - fade windows in/out (unless --no-fading-openclose is used)
# -l - shadow_left offset (-15)
# -G - no shadow on drag'n'drop windows
# --no-fading-openclose - self-explanatory, see -f above
# --vsync - vsync method (none, drm, opengl, opengl-oml, opengl-swc, opengl-mswc)
# --vsync-aggressive - aggressive repaint (obsolete setting, may break stuff)
# --paint-on-overlay - paint on composite window instead of root window
# --alpha-step - default: 0.03
# --dbe - reported to have no effect for some, others report removal of tearings with --vsync
run () {
### solarized glow
compton --backend glx --vsync opengl-swc --glx-use-gpushader4 --no-fading-openclose --respect-prop-shadow -f --vsync opengl -c -l $shadow_left_offset -t $shadow_top_offset --xinerama-shadow-crop -e $border_opacity -o $shadow_opacity -r $shadow_radius -D $fade_time -m $popup_opacity -C -c -D $fade_time --shadow-red 0.0 --shadow-green 0.19 --shadow-blue 0.24
### Typical call:
# compton -vsync opengl -cb &
### Arch Wiki example:
# compton -cCGfF -o 0.38 -O 200 -I 200 -t 0 -l 0 -r 3 -D2 -m 0.88
### compton with client-side shadow and fading, disable shadow on dock windows and drag-and-drop windows:
# compton -cCGf
### white shadows:
# compton -c --shadow-red 1 --shadow-green 1 --shadow-blue 1
### enable OpenGL SGI_swap_control VSync with GLX backend:
# compton --backend glx --vsync opengl-swc
}
case "$1" in
on)
echo "Enabling compositing on display $DISPLAY ..."
run
sleep 0.5
echo "done."
;;
off)
echo "Disabling compositing on display $DISPLAY (pkill -x compton) ..."
pkill -x compton
sleep 0.5
echo "done."
;;
*)
echo "Usage Error. Usage: ${0%%*/} <on|off>. Exiting."; exit 1
;;
esac
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment