libwm

A small library for X window manipulation
git clone git://git.zepp.club/libwm.git
Log | Files | Refs | README | LICENSE

README.md (1432B)


      1 libwm
      2 =====
      3 A small library for X window manipulation
      4 
      5 Features
      6 -----
      7 * Depends on [libxcb][0] only
      8 * Wrappers for all window management operations
      9 * Built-in checks for off-screen operations
     10 
     11 Usage
     12 -----
     13 In order to use the library, you must first include its header file in
     14 your source file:
     15 
     16 	#include <wm.h>
     17 
     18 To link your program against it, compile it as follows:
     19 
     20     	cc pgm.c -lwm -lxcb -o pgm
     21 
     22 Here is the list of all functions provided by `libwm`:
     23 
     24 	wm_init_xcb();
     25 	wm_kill_xcb();
     26 	wm_is_alive(wid);
     27 	wm_is_ignored(wid);
     28 	wm_is_listable(wid, mask);
     29 	wm_is_mapped(wid);
     30 	wm_add_atom(name, len);
     31 	wm_set_atom(wid, atom, type, len, data);
     32 	wm_get_atom(wid, atom, type, &len);
     33 	wm_get_atom_name(wid, atom, &len);
     34 	wm_get_screen();
     35 	wm_get_windows(wid, &list);
     36 	wm_get_focus();
     37 	wm_get_attribute(wid, attr);
     38 	wm_get_cursor(mode, wid, &x, &y);
     39 	wm_set_border(width, color, wid);
     40 	wm_set_focus(wid);
     41 	wm_set_cursor(x, y, mode);
     42 	wm_set_override(wid, mode);
     43 	wm_teleport(wid, w, h, x, y);
     44 	wm_move(wid, mode, x, y);
     45 	wm_remap(wid, mode);
     46 	wm_resize(wid, mode, w, h);
     47 	wm_restack(wid, mode);
     48 	wm_reg_event(wid, mask);
     49 	wm_get_monitors(wid, list);
     50 	wm_get_monitor(index);
     51 
     52 Their usage is specified in the `wm.h` header file, as it is quite small for
     53 now.
     54 
     55 Installation
     56 -----
     57 Edit config.mk as needed, then build/install with the following commands:
     58 
     59     make
     60     make install
     61 
     62 Require [libxcb][0].
     63 
     64 [0]: https://xcb.freedesktop.org