Skip to content

yetanothergeek/xctrl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The X11 control library is a shared library that allows you to query and
manipulate various aspects of an X11 window manager and the windows it manages. 

It is based largely on Tomas Styblo's "wmctrl" command line tool, but has been
transformed into a C library with some additional features and a Lua binding.

It is intended to work with any EWMH / NetWM compatible window manager, but 
since support for these standards varies between different window managers and
clients, some functionality might be missing in some environments.

To build the Lua module, simply type "make" from the top-level directory,
and "make install" to install install it in Lua's package.cpath.

By default, the Makefile will use the first lua headers it can find. If your
Lua headers are installed somewhere else, you can do something like:

  % make EXTRA_CFLAGS=-I/usr/include/lua5.1
 
"make install" will use your "lua" executable to parse the package.cpath.
If your Lua executable has another name, specify the name as LUA= when
you install:

  % make install LUA=lua5.1

You can also specify a non-standard install path with DESTDIR=

  % make install DESTDIR=~/my-lua-modules

By default the Makefile builds a stripped library optimized for size,
but you can disable optimizations and retain debugging information by
using "make DEBUG=1"

It is also possible to build a separate shared library for use in
other applications by typing "make lib" but there is currently no
"make install" target for that type of build.


To link the C library statically into your own standalone application 
or library, define XCTRL_API as static and include the "xctrl.c" 
source file directly:

 #include <X11/Xlib.h>
 #define XCTRL_API static
 #include "xctrl.c"



The Lua binding should be fairly well documented, see the file:
 ./docs/lxctrl.html

There is currently no documentation for the C library, but reading the
sources and the Lua docs should give you some idea of what's there.



About

Shared library to control an X11 window manager.

Resources

License

Stars

Watchers

Forks

Packages

No packages published