Commit Graph

264 Commits

Author SHA1 Message Date
Julien Danjou fcc93e5f88 draw: merge draw context into swindow
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:56 +02:00
Julien Danjou 44ef511aed screen: store statusbars as array
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:56 +02:00
Julien Danjou 4193e81fa8 screen: merge with xscreen, remove screens_info
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:56 +02:00
Julien Danjou 6a5ad6af9b common: move draw, xscreen and swindow out
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:55 +02:00
Julien Danjou 004a152550 mouse: redraw statusbar rt on screen move
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:55 +02:00
Julien Danjou bf451445c3 client: stop default tagging of sticky windows
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:55 +02:00
Julien Danjou b4d89eec6c screen: move screen_getbycoord()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou fcde8d229b ewmh: add support for _NET_WM_STRUT_PARTIAL
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou 427679b0fa client: use a type attribute for NET WM window type
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou c1d7140f87 mouse: cosmetic
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou b2bb33b9d8 titlebar: remove/add now handle border
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou 8b5fe6f30f mouse: simplify button push
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou abb497fa56 client: rework all stacking stuff
- Stacking is now per attribute
- Fullscreen does not imply isfloating

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou 3b895d84ed mouse: rework mouse buttons API, support release events
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:53 +02:00
Julien Danjou be52f5b047 update to new xcb-event
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-16 15:36:44 +02:00
Julien Danjou 87a89b6aa1 use xcb_flush; move refresh stuff in common function
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-26 19:35:37 +02:00
Julien Danjou e753be131d magnifier: simplify formula
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-23 08:40:07 +02:00
Julien Danjou d4273f4e96 magnifier: implements mwfact as surface factor
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-22 22:09:51 +02:00
Julien Danjou af49f6f8f1 mouse: fix coords() set
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-20 16:25:45 +02:00
Julien Danjou f4872715ce mouse: coords is a function now
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-20 12:10:22 +02:00
Julien Danjou 70d89c4452 mouse: fix client snapping
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-18 11:04:50 +02:00
Julien Danjou f5717587ec mouse: snap also on scren without titlebars
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-18 10:56:40 +02:00
Julien Danjou df79115dd1 zaphod: restore support
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-15 00:31:32 +02:00
Arnaud Fontaine b655f6348c xutil: rename xutil functions according to the rest of code. 2008-08-11 18:05:35 +02:00
Julien Danjou be2bfdcfc5 screen: introduce screen objects
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-11 17:14:02 +02:00
Julien Danjou 9e9b7c1bf3 mouse: refresh titlebars on the fly
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-08 17:38:51 +02:00
Julien Danjou e9adbff429 mouse: fix memory leak on resize
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-06 16:22:48 +02:00
Julien Danjou 6bbbf03c95 mouse: factorize xcb_aux_sync calls
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-06 14:11:33 +02:00
Julien Danjou 063bf2083d titlebar: use need_update system (like statusbar, …)
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-31 14:11:07 +02:00
Julien Danjou 80b79717ba various documentation update for _index()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-28 16:03:38 +02:00
Kanru Chen 700ace5197 length of static string s should be sizeof(s)-1
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-22 10:30:53 +02:00
Julien Danjou 5fc500a861 draw: draw_text takes len as arg
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-10 15:35:19 +02:00
Julien Danjou 750040be68 draw: text extents now gets len as arg
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-10 15:06:09 +02:00
Julien Danjou 015f529928 documentation update and disallow tag name change
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-10 11:02:10 +02:00
Pierre Habouzit 924078c898 Streamline xcolor_t.
Do not have a ->name char * field, but a char[32] instead.  This isn't a
big problem, the longest color in /etc/X11/rgb.txt is 23 chars long, and
if it becomes a problem one day, one could just strip the name and
generate an hexadecimal representation on the fly instead. But allocating
the name is asking for a lot of trouble.

Since we do not allocate anything anymore, just don't allocate anything
anymore at all, it avoids the mess of xcolor_copy/_wipe and fixes a lot of
sleeping bugs (p_dup were used e.g., which is wrong).

Pass xcolor_t *, xcolor_t becomes too big to be passed by value. Add
consts at some places.

xcolor_new allocates nothing, hence is renamed xcolor_init, has xcolor_t
as a first argument (OO-style, this is self), and doesn't touch the
structure at all if it returns false, which allow us to skip a lot of
intermediates values.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-02 10:36:46 +02:00
Julien Danjou 2c5333e9a3 mouse: merge screen_get() into index
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-02 09:14:17 +02:00
Julien Danjou ab72f6f02b mouse: add newindex, merge coords
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-02 09:11:03 +02:00
Julien Danjou 0cbf293e13 mouse: add __index
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-02 09:00:59 +02:00
Julien Danjou a4e12b1ce0 mouse: fix args for mouse.coords_set()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 09:27:34 +02:00
Julien Danjou 45b0a2df80 lua: replace .new() by __call meth
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-30 14:11:54 +02:00
Julien Danjou 013b2afe62 remove useless #include
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-26 18:10:45 +02:00
Julien Danjou db88877587 lua: split getopt_string/getopt_lstring; fix mouse corner
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-25 17:33:05 +02:00
Julien Danjou 6ec76c3b97 client: honor size hints is now by client
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-25 15:42:07 +02:00
Michael Gehring cb848e6b1a mouse: move/resize return if grabbing the pointer fails. 2008-06-24 08:58:04 +02:00
Julien Danjou 100f62c4b9 mouse: don't pass parser data, useless
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 16:15:24 +02:00
Pierre Habouzit 3116c0d381 Add draw_parser_data_{init,wipe}.
Use it everywhere needed instead of wrong p_clear's, this fixes memory
leaks.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-23 15:23:49 +02:00
Julien Danjou ab5119732d use more tokenizer, with len
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 14:01:33 +02:00
Julien Danjou 723299ff5f mouse: fix uninit var
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 13:20:01 +02:00
Julien Danjou 7aab504350 draw: store parser_data made by extents call
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 13:09:42 +02:00
Pierre Habouzit f423719bd6 use gperf
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-23 07:41:22 +02:00
Julien Danjou 46f03fd6a6 area_t: make it smaller, use arrays instead of lists.
Make area_t smaller so that it fits in an uint64_t using 4 {u,}int16_t's
for it. Note that xcb uses the very same structure, so we aren't loosing
any information while remaining very small.

This is better to use arrays in term of:
* memory access when iterating over area_t's;
* allocation because area_t's have no *next/*prev members anymore, which
  makes it a tiny structure (8 octets);
* allocation because we allocate area_t's by vector of'em rather than one
  by one.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 22:09:48 +02:00
Pierre Habouzit 13cd35f6ba fix unitialized value warnings
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-19 23:00:35 +02:00
Pierre Habouzit a23b9e9771 Let mouse_query_pointer return the current mask as well.
Use that to export the currently pressed buttons from coord_get.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-19 16:51:33 +02:00
Julien Danjou f5cc4a45e0 mouse: fix coords_get() documentation
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-19 12:57:06 +02:00
Pierre Habouzit 4360fc51b2 add mouse.coords_get()
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-19 12:17:30 +02:00
Michael Gehring 41160e4cdf mouse: make float resize work better with sizehints 2008-06-18 18:48:38 +02:00
Michael Gehring 59d09c2731 mouse: resize_floating update cursor/corner 2008-06-18 18:48:38 +02:00
Julien Danjou 92f369e3aa lua: userdata_new is now macro
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-18 18:31:35 +02:00
Julien Danjou 694f97e4d7 titlebar: set above client edge border
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-18 17:05:10 +02:00
Arnaud Fontaine b9e1ec69d0 Replace xcb_aux_get_screen() by a safer function 2008-06-17 17:14:00 +02:00
Pierre Habouzit 91f9f468bc fix prototypes
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-16 23:06:11 +02:00
Julien Danjou 16646c86ab lua: __eq methods are not macros
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-16 11:37:55 +02:00
Julien Danjou 6e36717163 lua: _gc are now macros
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-16 11:31:38 +02:00
Michael Gehring 83a2fb66cf mouse: keep mwfact withing reasonable bounds again
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-16 08:24:36 +02:00
Michael Gehring 4b25db32ce mouse: comment typos/spelling
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-15 20:50:27 +02:00
Michael Gehring bc44fc8322 mouse: allow resizing in magnifier layout
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-15 20:50:27 +02:00
Michael Gehring c8b0872828 mouse: split out snap-to-corner logic
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-15 20:50:27 +02:00
Michael Gehring 4d2dcb4476 mouse: rework mouse_client_move
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-15 20:50:27 +02:00
Michael Gehring 6a96c25be2 mouse: add mouse_get_client_under_pointer
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-15 20:50:27 +02:00
Michael Gehring ba171ed9e6 mouse: move mouse_track_mouse_drag
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-15 20:50:27 +02:00
Michael Gehring c80ff672ca mouse: user mouse_*_pointer wrappers
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-15 09:03:03 +02:00
Michael Gehring aa33631263 mouse: keep mwfact within sensible bounds
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-15 09:01:35 +02:00
Michael Gehring 7690dba009 mouse: use xcb_*_pointer_unchecked
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-15 09:01:31 +02:00
Julien Danjou b2daa2acb3 mouse: garbage collector for mouse objects
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-13 23:59:51 +02:00
Michael Gehring b16493d878 random updates/fixes
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-13 20:33:47 +02:00
Julien Danjou 1142c382f7 mouse: make button bindings objects
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-13 15:35:47 +02:00
Julien Danjou 1115f17f1a mouse: make infobox optional
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-12 13:41:53 +02:00
Michael Gehring 276f5f8849 [doxygen] Add \lvalue and convert existing doc.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-11 07:36:34 +02:00
Julien Danjou f11c913bc4 [lua] Fix gettop() usages
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-10 20:32:26 +02:00
Michael Gehring 1ca55927f0 [doxygen] Convert Lua documentation
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-10 20:12:51 +02:00
Julien Danjou 1049393840 Revert "Replace tags by workspaces"
This reverts commit 00f966ea04.

Revert "[focus] Fix bogus arguments"
This reverts commit 816b5d16bc.

Revert "[mouse] Fix bug with floating"
This reverts commit 89daa72790.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-09 21:56:03 +02:00
Julien Danjou 89daa72790 [mouse] Fix bug with floating
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-09 18:16:55 +02:00
Julien Danjou 00f966ea04 Replace tags by workspaces
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-09 16:30:46 +02:00
Michael Gehring 0422266818 testdrive new doxygen commands
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-09 08:49:00 +02:00
Julien Danjou ca81c9a1f1 [mouse] Add optionnal argument to specify corner to grab when resizing
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-08 18:15:53 +02:00
Michael Gehring 59c04890fc [cleanup] random doxygen fixes
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-08 17:13:09 +02:00
Julien Danjou 75cb6b81af [screen] s/move_client_to_screen/screen_client_moveto/
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-08 11:02:34 +02:00
Michael Gehring 8ab1831ed6 [mouse] Use different cursors for vert./horiz. resize
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-08 09:28:11 +02:00
Michael Gehring 0db5446b2e [mouse] Rework tiled resizing
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-08 09:26:12 +02:00
Julien Danjou 6d89565c8e [mouse] Use different cursors for corners
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-07 16:38:33 +02:00
Michael Gehring f00b5b252c [mouse] Grab Pointer before warping it.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-07 10:41:19 +02:00
Julien Danjou 6ba90facb0 [client] Various documentation update and fixes
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-05 09:27:16 +02:00
Michael Gehring bdee66bcd9 [mouse] improved floating client resizeing
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 20:01:45 +02:00
Michael Gehring b6a81100d1 [mouse] add some Pointer related utility functions
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 19:59:48 +02:00
Michael Gehring 108b9a2870 [mouse] remove spurious xcb_aux_sync
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 19:58:38 +02:00
Julien Danjou 98119d5d3f [lua] Check for object validity
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 18:27:10 +02:00
Julien Danjou 2742318f16 [common] Use pixmap instead of drawable type
It's just more clear.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 16:13:41 +02:00
Julien Danjou 24176ba8c7 [screen] s/screen_get_area/screen_area_get/
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 15:35:48 +02:00
Julien Danjou aecc3c0e45 [titlebar] Store titlebar inside client
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 11:50:21 +02:00
Julien Danjou 1e08a992b8 [titlebar] Rewrote titlebar based on widgets
This is the new titlebar handling code, based on widgets.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-03 18:41:54 +02:00