gtk3-nocsd for Debian
---------------------

This package disables client side decorations (CSD) in Gtk+3 apps. It
does so by using LD_PRELOAD to load the library libgtk3-nocsd.so.0.
That overrides certain GLib, GDK and Gtk functions to make sure client
side decorations are disabled.

The package works automatically: if the package is installed, CSD are
disabled on non-GNOME desktops by default. The behavior may be changed
both globally and for each individual user.

1. Changing the behavior globally:

If CSD should remain enabled by default, an administrator may edit the
file /etc/X11/Xsession.d/01gtk3-nocsd and change the variable GTK_CSD
from 0 to 1.

2. Changing the behavior for an individual user:

export GTK_CSD=1

into their ~/.xsessionrc to override this behavior (or export GTK_CSD=0
to override the administrator's behavior if they changed the default).

3. Alternative options:

If one wants to set GTK_CSD=0 without causing this to preload the
library, one may also set the variable GTK3_NOCSD_IGNORE=1 (in either
one of the aforementioned files).

4. Running individual programs without CSD:

This package also installs the gtk3-nocsd wrapper that executes
programs with the library preloaded and GTK_CSD=0. For example,
gtk3-nocsd gedit
would start gedit without client side decorations (regardless of any
global or per-user settings). Note that any program started from a
program that was wrapped in such a way will also have CSD disabled.

5. Programs from different architectures (e.g. 32bit)

If you are running programs from foreign architectures on your system,
e.g. i386 (32bit) programs on a amd64 machine, you might get warnings
about libgtk3-nocsd.so.0 not being found:

  ERROR: ld.so: object 'libgtk3-nocsd.so.0' from LD_PRELOAD cannot be
  preloaded (cannot open shared object file): ignored.

In that case, you can install the libgtk3-nocsd0 package for the
foreign architecture, e.g.:

  apt-get install libgtk3-nocsd0:i386
