Commit Graph

743 Commits

Author SHA1 Message Date
Vladimir Kirillov 6fc677c441 util: do not include alloca on OpenBSD
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-23 11:21:17 +02:00
Julien Danjou 59ef5a0572 token: remove useless tokens
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-21 16:23:22 +02:00
Julien Danjou d261f9a3cc widgets: generic set/get for list
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-19 19:13:46 +02:00
Julien Danjou 8d7f69cf49 util: remove useless position Auto
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-19 17:34:44 +02:00
Julien Danjou a56997aefb draw: support for top margin
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-19 11:38:57 +02:00
Julien Danjou d96bcdc2a4 xutil: remove useless XUTIL_ANY_KEY define
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-19 11:00:28 +02:00
Julien Danjou da9f6bbceb xutil: remove XUTIL_ANY_MODIFIER
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-19 10:59:40 +02:00
Julien Danjou 65f5f964ef draw: better GError handling
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-18 14:32:05 +02:00
Julien Danjou 8173bd6ea9 draw: stop parsing Pango markup twice, store AttrList
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-18 14:29:50 +02:00
Julien Danjou 277aec7fcf refcount: unrefing does not invalid object
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-17 11:57:54 +02:00
Julien Danjou 4ea0f659e2 draw: do not delete image on text rendering
This is not our job.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-14 07:36:34 +02:00
Arnaud Fontaine 5c9cc7857d xutil: make xutil_lock_mask_get() asynchronous 2008-08-13 12:29:43 +02:00
Arnaud Fontaine 687dcf1d98 xembed: make xembed_info_get() asynchronous 2008-08-12 15:35:24 +02:00
Arnaud Fontaine 193a73c5d9 draw: make xcolor_init() asynchronous. 2008-08-12 14:53:57 +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 33c0d77193 xutil: allow gettextprop() to be called without text
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-11 15:10:24 +02:00
Julien Danjou 53d60670a8 version: spell D-Bus correctly
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-11 12:08:16 +02:00
Julien Danjou fb093696bb clients: add icon_name support
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-11 11:41:42 +02:00
Julien Danjou 32167500c6 client: add support for WM_CLIENT_MACHINE
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-11 11:09:44 +02:00
Michael Gehring a921f60510 version: fix #include order
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-10 16:31:12 +02:00
Julien Danjou 874e62d849 titlebar: replace client_get() by client attribute
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-08 16:04:18 +02:00
Julien Danjou e5d828b369 statusbar: widgets is now an array
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-08 15:47:09 +02:00
Julien Danjou 9cb22b96eb lua: exports client.tags and tags.clients
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-07 16:39:45 +02:00
Julien Danjou 06fac9a151 lua: stop using version_string()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-31 17:48:27 +02:00
Julien Danjou 1cc071e24f client: add refcount for clients
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-31 17:29:45 +02:00
Julien Danjou c13cffe1eb draw: set_markup wants NONULL arg
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-30 10:35:37 +02:00
Kanru Chen f36acc7384 client: expose .urgent
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-29 16:02:36 +02:00
Julien Danjou 2555a72e63 xutil: use xcb_get_wm_transient_for instead of xutil fct
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-28 17:54:33 +02:00
Julien Danjou 3c32297e07 event: handle iconify request
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-28 17:13:30 +02:00
Julien Danjou 09fd61fdfa tasklist: use label to determine which objects are drawn
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-28 15:57:17 +02:00
Julien Danjou e3ed35e853 array: remove spurious semi colon
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-28 15:57:00 +02:00
Jay Bromley 982a8e4c52 client: return instance and class (FS#236)
The problem seems to be that while a function can return multiple
values, an index cannot.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-26 08:45:35 +02:00
Konstantin 7ec624cc14 util: fix freebsd support
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-25 19:55:19 +02:00
Julien Danjou f5f0663bf1 fix ARRAY_TYPE decl
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-24 16:25:11 +02:00
Julien Danjou 5876b3cc70 remove spurious semi colon
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-24 16:22:41 +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 88e69ba44f draw: export draw_text_markup_expand() and check for data before wipe
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-10 17:09:57 +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 36fd44d1a0 draw: add char len as arg of xcolor_init()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-10 15:30:16 +02:00
Julien Danjou 0e06789714 socket: stop strlen() twice
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-10 15:15:16 +02:00
Julien Danjou dbaa343c97 xutil: use sizeof() instead of strlen
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-10 15:12:32 +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 50ff37a17e draw: remove useless draw_circle
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-10 11:02:11 +02:00
Kanru Chen f22acbf45e draw: fix shadow stroke
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-09 15:23:47 +02:00
Julien Danjou 3f46ec2152 tasklist: use a callback for label
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-09 12:12:52 +02:00
Julien Danjou 0d761a1a8e token: remove useless tokens
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-09 11:41:44 +02:00
Julien Danjou e3bbf3f15d draw: bug fix on bg parsing
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-09 10:38:39 +02:00
Julien Danjou ddae6f76b2 draw: add support for border around text
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-09 10:25:29 +02:00
Julien Danjou 9c495c0dee draw: use only one iconv for all
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-09 08:48:51 +02:00
Julien Danjou 1009d6a992 client: add support for pid
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-08 18:34:32 +02:00
Julien Danjou fb13bff697 config: use XDG for loading config
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-08 14:07:56 +02:00
Julien Danjou 903e694611 util: add a_strsplit()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-08 14:07:34 +02:00
Julien Danjou 3de2bf3918 dbus: add client support
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-08 10:54:57 +02:00
Julien Danjou 63b0457fc4 version: enhance printing
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-02 18:41:08 +02:00
marco candrian 2b767c2352 widgets: use vector_t for the color-gradients course.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-02 13:59:30 +02:00
Pierre Habouzit 46ea7c45aa Get rid of the color name, and generate a #RGBA value on the fly if needed.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-02 11:09: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 52ba1392c6 client: merge titlebar_{set,get} into index
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 22:19:23 +02:00
Julien Danjou 8646d06fab client: merge coords function into index
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 22:08:27 +02:00
Julien Danjou e4db1a3b86 client: merge class hints into index
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 21:56:53 +02:00
Julien Danjou fc38d32052 client: merge floating placement into index
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 21:46:43 +02:00
Julien Danjou 014214794a client: merge screen_{set,get} into index
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 21:39:52 +02:00
Julien Danjou 2b1101daee client: merge honorsizehints into index
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 19:59:36 +02:00
Julien Danjou d7c70c57b5 client: merge floating_{set,get} into index
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 19:55:18 +02:00
Julien Danjou 495fd3d8e7 client: merge opacity into index
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 19:52:25 +02:00
Julien Danjou 7e95166629 client: merge icon path into index
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 19:49:14 +02:00
Julien Danjou 86df357a2b client: merge hide into index
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 19:43:23 +02:00
Julien Danjou 3750b08248 statusbar: merge position_{set,get} into index
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 17:00:31 +02:00
Julien Danjou 49f823dcb6 statusbar: merge colors_set() into index
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 16:50:03 +02:00
Julien Danjou a816ce0440 util: position_tostr() return const
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 16:33:24 +02:00
Julien Danjou 48111308a0 draw: add draw_align_tostr()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 16:29:50 +02:00
Julien Danjou b72d5c7951 widget: visible is now part of index
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 15:20:42 +02:00
Julien Danjou 4ddf692ee4 tag: layout use index
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 15:06:20 +02:00
Julien Danjou 4e2e8a3653 draw: len is mandatory
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 15:05:00 +02:00
Julien Danjou 9b74cdbc0a draw: iso2utf now gets len as arg
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 14:44:19 +02:00
Julien Danjou 282dc95042 tag: use index for name
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 14:31:47 +02:00
Julien Danjou e012a4ba49 tag: use index for ncol
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 14:23:06 +02:00
Julien Danjou d328904d30 tag: use index for nmaster
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 14:17:07 +02:00
Julien Danjou ef7379c983 tag: remove mwfact_{get,set}, use {new,}index
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 13:59:40 +02:00
Julien Danjou f750124d5c tag: add {new,}index, use it for selected
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 11:38:40 +02:00
Julien Danjou fc000acc8e xembed: remove useless comments
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-30 20:15:46 +02:00
Julien Danjou db49685413 atoms: autogenerate atom list
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-30 20:05:53 +02:00
Julien Danjou b584b19104 atoms: add all used atoms
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-30 18:55:14 +02:00
Julien Danjou 5daa38ac2d atom: new atom infra
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-30 18:25:01 +02:00
Julien Danjou 15111d8584 progressbar: use newindex API
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-30 17:42:36 +02:00
Julien Danjou 3ebca2181c draw: really copy colors
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-29 12:14:09 +02:00
Julien Danjou 35e948f53b draw: xcolor_t store color name
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-28 13:30:17 +02:00
Julien Danjou 823ed27b82 graph: use newindex API
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-28 13:02:42 +02:00
Pierre Habouzit 1b6543025c Don't be silly and use our metatable rather than duplicating the effort.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-28 07:56:35 +02:00
Julien Danjou 09647eef9b taglist: use newindex API
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-27 22:25:31 +02:00
Julien Danjou c4cc8da645 tasklist: use newindex API
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-27 22:15:54 +02:00
Julien Danjou c007cacd09 xutil: make atoms cache an array
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-27 12:08:19 +02:00
Julien Danjou ba13fba67c xutil: stop leaking atom when called with no cache
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-27 11:13:33 +02:00
Julien Danjou 0fddca87c3 draw: stop leaking image on double parsing
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-27 10:08:22 +02:00
Julien Danjou b63e10b7e8 xutil: stop leaking atom name, and don't dup on cache hit
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-27 10:06:31 +02:00
Pierre Habouzit cde80ab49a Move CLEANMASK to xutil.h, remove useless #Includes
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-26 22:47:56 +02:00
Lucas de Vries b1c48b6834 [statusbar] add colors_set 2008-06-26 17:12:41 +02:00
Julien Danjou 0012b8dfc0 draw: honor bg_resize
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-26 16:49:16 +02:00
Julien Danjou 7dbd06c8ca draw: markup bg image do not change the size
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-26 16:49:05 +02:00
Julien Danjou 094d0ebc50 widget: new widget index method
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-26 16:35:07 +02:00
Julien Danjou d5ed48ffdd widget: use __index to get method
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-25 16:37:51 +02:00
Julien Danjou 68f0eda193 iconbox: remove
This can be replaced by textbox.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-25 16:37:16 +02:00
Pierre Habouzit 4d7a7694ae Calling destructor on splice is wrong, take doesn't want it e.g.
Also fix one assert.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-25 11:04:56 +02:00
Pierre Habouzit b19aace542 Fix draw_align_fromstr calls.
Note that it's undefined to have side effects on an argument and pass this
argument again to another function.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-24 22:40:34 +02:00
Julien Danjou 0aff415f37 version: add GdkPixBuf version
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-24 21:01:24 +02:00
Julien Danjou a055634d4e draw: use len param in draw_align_fromstr()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-24 20:34:02 +02:00
Julien Danjou eb13ebcbf7 version: print compilation options
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-24 20:25:42 +02:00
Pierre Habouzit 17744fc81d Be more on the safe side.
it's useless to escape anything if text_len is 0, also some clients seem
to have a NULL name, so use NONULL(p->priv).

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-23 18:55:29 +02:00
Julien Danjou fdcc507329 draw: add resize for bg
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 18:07:47 +02:00
Julien Danjou 425c8ea635 util: tokenize a_strtobool() 2008-06-23 18:06:00 +02:00
Julien Danjou 9caa9fc96f draw: add background alignment
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 18:01:15 +02:00
Julien Danjou 236ccc165c placement: fix smart
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 17:30:35 +02:00
Pierre Habouzit 3513e43f0f fix stupid array bug: missing sizeof()
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-23 17:26:35 +02:00
Pierre Habouzit df89ea2887 Add type and memset safe alloca wrapper. 2008-06-23 16:40:43 +02:00
Pierre Habouzit ef4eae17c4 Split DO_ARRAY in two parts. 2008-06-23 16:40:43 +02:00
Julien Danjou fa2648bf15 Revert "Use gcc to find places needing a a_tokenize call."
Not needed anymore.

This reverts commit 7b7af60dcd.
2008-06-23 15:46:26 +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 cd21e6665b tasklist: tokenize
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 14:12:01 +02:00
Julien Danjou e880f7c11b taglist: use tokenize
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 14:09:00 +02:00
Julien Danjou 4c133bc646 iconbox: use tokenize
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 14:06:37 +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 f0a01c6131 util: remove useless fuzzy
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 13:41:26 +02:00
Julien Danjou 7803225553 draw: use tokenize() in markup parsing
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 13:39:47 +02:00
Julien Danjou 7dd1fa0e0b draw: rename on_event() to on_element()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 13:32:22 +02:00
Julien Danjou 28830c0dc9 textbox: use tokenize
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 13:24:03 +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
Julien Danjou 00b119c1ac draw: remove draw_get_image_size()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-23 12:44:01 +02:00
Pierre Habouzit 7b7af60dcd Use gcc to find places needing a a_tokenize call.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-23 07:41:22 +02:00
Pierre Habouzit 8d7f45d76a And more gperf.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-23 07:41:22 +02:00
Pierre Habouzit 4d21d0fd98 Use more gperf stuff.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-23 07:41:22 +02:00
Pierre Habouzit f423719bd6 use gperf
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-23 07:41:22 +02:00
Pierre Habouzit c2df807ede Use gperf to tokenize some strings.
This makes the code way more readable, and also avoids a lot of strcmps.

Use it for draw_align_get_from_str as a proof of concept.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-23 07:41:22 +02:00
Michael Gehring 9206a60e88 cmake: consolidate version strings 2008-06-22 22:13:06 +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 dc6373488f wipe elements overwritten by a splice
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 22:09:19 +02:00
Pierre Habouzit 3862a626c2 fix typo
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 18:58:52 +02:00
Julien Danjou 901d8db5b6 buffer: add various code documentation
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-22 18:43:04 +02:00
Pierre Habouzit b4b381e947 Finish markup parsing rewrite to avoid mallocs.
For that matter, use elements as a filter for elements we care about, and
let the hook implement whatever it needs without duplicating everything.

The resulting algorithm is still O(n²) where n is the number of filtered
elements (3 at most right now), which isn't bad if we don't need to get
too many elements, but at least it's not quadratic in the number of
attributes anymore.

Speedup improvements could be done using gperf btw.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 17:45:45 +02:00
Pierre Habouzit 37d69b8dcc markup substitutions enhancements.
Do not preemptively allocate a g_markup_escape_text for substitutions,
just remember what we want to substitute markup with, and substitute it in
the final buffer efficiently.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 16:58:56 +02:00
Pierre Habouzit 943e2035fa Rework the markup_parser_* allocation API.
We have a stack, don't be ashamed to use it.

Instead of:

    foo_t *foo;

    foo = foo_new();
    /* work with foo */
    foo_delete(&foo);

It's way better to:

    foo_t foo;

    foo_init(&foo);
    /* work with &foo */
    foo_wipe(&foo);

Remember: more mallocs == more fragmentation.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 16:17:12 +02:00
Pierre Habouzit c3e01fdd43 Add buffer_add_xmlescaped, and malloc--
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 16:02:13 +02:00
Pierre Habouzit 0ad600ef0a And use a buffer in the drawing stuff.
So that we don't stupidly call even more strlen's.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 15:27:06 +02:00
Pierre Habouzit 3fb0b5127e Remove lots and lots of useless mallocs.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 15:20:55 +02:00
Pierre Habouzit 5c601dfd19 Use extensible buffers in markup parsing.
This should avoid quite a few malloc calls.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 15:12:42 +02:00
Pierre Habouzit e25a50774b Add extensible buffers to awesome.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 15:04:09 +02:00
Pierre Habouzit 848a0b1987 add {un,}likely macros
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 14:58:37 +02:00
Pierre Habouzit ea646e7077 Make refcounting safer.
put *item to NULL on unref, as we cannot know if the pointer is valid
after an unref, so just segfault rather than hide a problem.

Also return *item on ref() it allow short versions like:
  foo_list_push(&list, foo_ref(&elem));
which is kind of readable _and_ handy.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 14:22:44 +02:00
Pierre Habouzit 2a5014383d No need to copy the parser each time it's allocated.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 14:22:44 +02:00
Pierre Habouzit f2fd90655e Add a simple array generic type.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 13:52:26 +02:00
Pierre Habouzit f055e4a13b Add p_grow.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-22 13:30:39 +02:00
Byron Clark 7106c9bcad Stop spamming the log when there is no image present.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-22 09:46:58 +02:00
Arnaud Fontaine 452b89d6ec Always use unchecked xcb functions 2008-06-21 19:56:51 +09:00
Julien Danjou 0fdc03faa4 util: rename eprint() to fatal()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-19 09:45:08 +02:00
Julien Danjou 5773f5eddb util: remove useless compute_new_value_from_arg()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-19 09:43:08 +02:00
Julien Danjou 1a31d49b3d swindow: do not resize if nothing to do
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-18 13:50:50 +02:00
Arnaud Fontaine b9e1ec69d0 Replace xcb_aux_get_screen() by a safer function 2008-06-17 17:14:00 +02:00
Julien Danjou ff6a814770 draw: markup now supports image as background
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-17 09:37:19 +02:00
Julien Danjou 114a97ee87 draw: remove useless draw_get_image_size()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-17 09:26:30 +02:00
Julien Danjou 64c4202519 draw: remove draw_image_from_file()
This should speed up tasklist image drawing.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-17 09:21:26 +02:00
Julien Danjou 3555e89c1c swindow: only send one event for moveresize
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-16 11:44:33 +02:00
Pierre Habouzit a4953d13d5 Fix a couple of warnings.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-15 23:58:51 +02:00
Julien Danjou 67de549992 xembed: simplify
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-15 20:30:55 +02:00
Julien Danjou 6f9d196e67 systray: check for embedder window on startup
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-14 23:39:12 +02:00
Julien Danjou e5e379656a systray: import widget
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-14 18:12:16 +02:00
Julien Danjou 477c6eb4a1 xutil: support NULL as atom cache
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-14 16:59:31 +02:00
Julien Danjou ce08d9769f xutil: fix potential leak
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-14 08:23:16 +02:00
Julien Danjou 54f2ebee96 draw: switch GTK dependency to GDK and GdkPixbuf
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-13 23:24:07 +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 12d4c66771 draw: make draw_setup_cairo_color_source() alpha aware
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-12 15:24:27 +02:00
Julien Danjou 659f9bd048 draw: simplify draw_graph()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-12 15:21:25 +02:00
Julien Danjou 3d8613daf4 Fix comments typos
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-12 13:42:39 +02:00
Julien Danjou aa6bfc560a [draw] Do inline UTF-8 conversion
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-10 07:32:35 +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 8776b3adb5 [draw] Rename var
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-08 10:58:48 +02:00
Julien Danjou 4f0dbdabb0 [xutil] Move cursor creation to xutil
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-08 10:08:44 +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
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
Julien Danjou 8fdc1d9608 [version] Typo
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 20:26:47 +02:00
Julien Danjou 05ef68a4c4 [refcount] Check for pointer existence
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 18:14:08 +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
Michael Gehring f95889f2ad unify draw_image_from_file
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 08:32:50 +02:00
Michael Gehring 88a0e58e79 add draw_image_new, draw_image_delete, draw_image
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 08:32:48 +02:00
Michael Gehring d2f9c6518b rename draw_image to draw_image_from_file
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 08:32:46 +02:00
Julien Danjou 1dbea735b3 [list] Remove useless DO_SLIST_UNREF
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-03 11:53:59 +02:00
Michael Gehring c20a2cb416 [draw] fix --with-imlib2 build
when configured with imlib2 draw.c fails to compile (at least on arch
linux), as it cannot find the gtk/gdk-pixbuf headers. The #includes are
guarded by #ifdef HAVE_IMLIB2, but as config.h isn't included, this is
never defined.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-03 11:27:04 +02:00
Julien Danjou d8a5b43f26 [widgets] Make draw functions statusbar-less dependents
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-02 12:18:17 +02:00
Julien Danjou 7cff3567e3 [statusbar] Fix left and right statusbars alpha support
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-30 18:09:54 +02:00
Julien Danjou 4f79c53f4c [draw] Add alpha channel support
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-30 13:08:07 +02:00
Julien Danjou 066bfaacc8 [draw] Remove multiple strlen() calls
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-30 12:35:57 +02:00
Julien Danjou c332971b21 [draw] Rename draw_color_new() to xcolor_new()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-30 12:34:38 +02:00
Julien Danjou 407972eb00 [xutil] Move xcolor_t into draw
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-30 12:33:08 +02:00
Julien Danjou e39bb8eac6 [markup] Stop recomputing len, use slen
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-30 07:52:29 +02:00
Julien Danjou eaf38a6a69 [xutil] Add list_attach_after() and use it for cache atom
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-29 14:24:33 +02:00
Julien Danjou 2a4971b725 [xutil] Fix strdup() usage
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-29 14:15:03 +02:00
Julien Danjou fda025a591 [statusbar] Add fake transparency
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-29 13:01:09 +02:00
Julien Danjou 9e2ff3f893 [util] Rewrite a_strndup()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-29 09:45:10 +02:00
Julien Danjou 83470a99e8 [xutil] Fix typo
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-28 10:15:58 +02:00
Julien Danjou 7fc41ca7cf [xutil] Fix typo
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-28 07:31:09 +02:00
Julien Danjou 1a3d59ddfa [xutil] Add support to mouse button 8 and 9
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-28 07:27:12 +02:00
Alex Cornejo 710c457f08 Remove old confuse structures and include.
I noticed the new version of awesome does not (or should not) depend
on libconfuse, however there were some unused headers and structures
that needed to be removed in order to compile without having
libconfuse.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-26 18:21:20 +02:00
Julien Danjou be108acc32 [util] warn() and eprint() now print \n
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 22:56:05 +02:00
Julien Danjou e710cff383 [xscreen] Add some documentation
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 22:31:08 +02:00
Julien Danjou c468d83059 [draw] Fix compilation errors with Imlib2
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 17:18:58 +02:00
Julien Danjou ff8603110a [util] Add name_func_rlookup()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 16:53:37 +02:00
Julien Danjou a04417494b [mouse] Rename Button to button_t
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-23 15:12:01 +02:00
Julien Danjou b3f8464800 [draw] Make sure that font is not NULL before freeing
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-21 17:02:22 +02:00
Julien Danjou 680944d583 [build] Use autoheader & config.h
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-20 19:55:37 +02:00
Julien Danjou 1f046b3c9f [everything] Switch from libconfuse to Lua
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-20 18:01:15 +02:00
Julien Danjou 61d552a860 [draw] Inline draw_context_delete() and check that it's != NULL
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-14 15:22:31 +02:00
Julien Danjou e5ed2f2f1c [swindow] Permit to delete NULL swindow
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-13 18:56:33 +02:00
Julien Danjou e80e6a73c5 [draw] Remove useless default_screen
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-13 17:42:05 +02:00
Julien Danjou f824e383c9 [markup] Check that str is not NULL
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-11 16:23:05 +02:00
Arnaud Fontaine 162b8a690c [all] Implement an atom cache in xutil as an ordered linked-list 2008-05-11 01:10:37 +02:00
Julien Danjou 6a06e44461 [markup] Check for error before warning
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-10 10:37:12 +02:00
Julien Danjou c3e063d55e [config] Use a string array as args for uicb
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-04 12:47:16 +02:00
Julien Danjou f42f75468c [swindow] Add border manipulation function
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 15:17:46 +02:00
Julien Danjou 0e1747587c [swindow] Store border width
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:35 +02:00
Julien Danjou c57435c96d [util] Add a_strtobool() function
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:35 +02:00
Julien Danjou 03170abfe1 [config] Use golden ratio by default for mwfact
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:35 +02:00
Julien Danjou effaa99b91 [awesome] Remove useless includes
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:35 +02:00
Julien Danjou dc27cff8ab [awesome] Remove checking for value before p_delete()'ing memory
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:35 +02:00
Julien Danjou 5638661157 [markup] Fix memory leak
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:06 +02:00
Julien Danjou b142264787 [draw] Make draw_text using a const pointer to a style
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:06 +02:00
Julien Danjou de3fbffcf1 [xutil] Rewrite gettextprop() proto
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:06 +02:00
Julien Danjou ca4821fc9e [markup] Fix memory leak in text handling
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:06 +02:00
Julien Danjou f1ccb31bca [markup] Fix bad allocation size
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:06 +02:00
Julien Danjou 44890c7c33 [draw] Fix memory leak on bad markup parsing
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:06 +02:00
Julien Danjou e2bf0042fc [xutil] Convert len to signed size
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:05 +02:00
Julien Danjou 7a4237f34f [markup] Print the unparseable text on error
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:05 +02:00
Julien Danjou 547d72270b [markup] Re-escape text on re-insertion 2008-05-03 12:01:05 +02:00
Julien Danjou 7b8e7bc486 [markup] Simplify
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:05 +02:00
Julien Danjou 39364393f4 [markup] Escape text on reconstruct
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:05 +02:00
Julien Danjou 5397e10a0f [config] Do not set background by default
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:05 +02:00
Julien Danjou 8af24939bd [draw] Rework shadow
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:05 +02:00
Julien Danjou 04ea13c205 [screen] Rename ScreensInfo to screen_info_t
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:05 +02:00
Julien Danjou 33837d77a1 [draw] Rename DrawCtx to draw_context_t
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:05 +02:00
Julien Danjou f12f1798dd [draw] Add margin code inside markup string
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:05 +02:00
Julien Danjou 1fc2b7997a [taglist] Stop using styles, use markup string
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:05 +02:00
Julien Danjou 5c51759cca [draw] Make text_align part of markup format
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:05 +02:00
Julien Danjou eab7633675 [tasklist] Remove styles; use drawtext format
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:04 +02:00
Julien Danjou 26621fd598 [emptybox] Remove
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:04 +02:00
Julien Danjou 7a8e39b3e7 [markup] Add generic substitution of elements and use it for titlebar
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:04 +02:00
Julien Danjou a4159bbaf7 [draw] Implement a more generic markup parser
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:04 +02:00
Julien Danjou 1e7e4663a5 [draw] Simplify <markup> adding
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:04 +02:00
Julien Danjou 0552376dba [draw] Rebuild the pango markups while parsing ours
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:04 +02:00
Julien Danjou 4d3d97fd4f [xutil] Use a_strndup()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:04 +02:00
Julien Danjou 5447001254 [draw] Handle error on end of feeding into XML parser
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:04 +02:00
Julien Danjou a3b1b3be0b [draw] Use g_markup API to parse bg elements
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:04 +02:00
Julien Danjou dd9cb9810b [draw] Draw style background in draw text if no bg in markup
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:04 +02:00
Julien Danjou 3965c1e1f0 [textbox] Clean things which became useless with markup
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:04 +02:00
Julien Danjou d3190fcf63 [draw] Tell pango about padding
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:04 +02:00
Julien Danjou 1185d8b156 [draw] Add support for bg in draw_text and use ellipsize from pango
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:04 +02:00
Julien Danjou ce8d1ff89e [titlebar] Add string to format
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:04 +02:00
Julien Danjou f5997892d2 [xutil] Use memcpy() instead of strncpy() for safety
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:04 +02:00
Julien Danjou 0642e415dd [util] Fix warning for position returning
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:03 +02:00
Julien Danjou 834f1f2424 [common] Add support for pango markup (FS#171)
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:03 +02:00
Julien Danjou ae1cea061c [util] Add position_to_str()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:03 +02:00
Julien Danjou c3642713b9 [draw] Do not declare vars in blocs 2008-05-03 12:01:03 +02:00
Arnaud Fontaine 059829e37e [xutil] check whether the error code and request are actually defined 2008-05-03 12:01:03 +02:00
Julien Danjou e272000cc6 [util] Change Fuzzy type to fuzzy_t
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:03 +02:00
Julien Danjou bd18eb2018 [util] Change Position type to position_t
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:03 +02:00
Julien Danjou df7db5e86b [util] Change Alignment type to alignment_t
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:03 +02:00
Arnaud Fontaine 21141c0508 [xutil] Fix missing applied mask when getting request code in xutil_get_error().
Thanks to Matthieu Pasini.
2008-05-03 12:01:03 +02:00
Julien Danjou dba40b0ca4 [xutil] Make the request earlier
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:02 +02:00
Julien Danjou 521f7d58be [xutil] Do not use strncmp here
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:02 +02:00
Julien Danjou 97dc830db5 [util/rules] Move Fuzzy from rules to util
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:02 +02:00
Julien Danjou 70d26b5b36 [swindow] Free GC, make refresh inline
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:02 +02:00
Julien Danjou 32fc1a0a78 [draw] Build with GTK by default instead of Imlib2
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:02 +02:00
Julien Danjou e246410126 [swindow] Rename SimpleWindow to simple_window_t
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:02 +02:00
Julien Danjou a04395ddc9 [swindow] Store gc
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:02 +02:00
Julien Danjou 33709c62cd [xutil] Remove map_raised
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:01 +02:00
Julien Danjou 82f305b1b1 [xutil] Rework some stuff and rename xgettextprop()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:01 +02:00
Julien Danjou 328a04fb17 [draw/config] Cosmetics
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:01 +02:00
Julien Danjou a664203639 [xutil/awesome] Cosmetic
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-03 12:01:01 +02:00
Arnaud Fontaine a541477e94 Cosmetic 2008-05-03 12:01:01 +02:00
Arnaud Fontaine d2d85941ad [common/xutil.c] Free ClassHint reply 2008-05-03 12:01:01 +02:00
Arnaud Fontaine d99586f68b [common/xutil.c] Rewrite xgettextprop properly for UTF8_STRING 2008-05-03 12:01:01 +02:00
Arnaud Fontaine 70dafae396 Move xcb_event_handler code to xutil 2008-05-03 12:01:00 +02:00
Arnaud Fontaine 71e9100927 Remove useless xutil_root_window() 2008-05-03 12:01:00 +02:00
Arnaud Fontaine da5236d57a Cosmetic 2008-05-03 12:01:00 +02:00
Arnaud Fontaine 02c99fccb8 Prefix xutil functions properly 2008-05-03 12:01:00 +02:00
Arnaud Fontaine 1eab0e44e7 * Make key symbols table, NumLock, ShiftLock and CapsLock global variables.
* Get CapsLock and ShiftLock masks properly and fix XLookupString() XCB equivalent.
2008-05-03 12:01:00 +02:00
Julien Danjou 3b295beaed Fix Xinerama detection 2008-05-03 12:01:00 +02:00
Arnaud Fontaine 64edc7c767 Allow to specify hexadecimal colors in configuration 2008-05-03 12:01:00 +02:00
Arnaud Fontaine 4a1720ddca Remove useless x_select_input() which leaded to useless requests 2008-05-03 12:01:00 +02:00
Arnaud Fontaine abcb60b9ea Fix x_get_transient_for_hint() based on XGetTransientForHint() 2008-05-03 12:01:00 +02:00
Arnaud Fontaine df3e102832 Rewrite code which query xinerama screens to fix a double free 2008-05-03 12:00:59 +02:00
Arnaud Fontaine 4bd034f768 Use unchecked instead of checked call because the error has to be in the error queue 2008-05-03 12:00:59 +02:00
Arnaud Fontaine 98091b2f1e Copy properly a window text property 2008-05-03 12:00:59 +02:00
Arnaud Fontaine dafafd077c Port Awesome to XCB 2008-05-03 12:00:59 +02:00
Julien Danjou e3496f7a25 [config] Enhance rules documentation a bit
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-30 11:11:32 +02:00
Julien Danjou 84df60e11b [draw] Check len while checking for UTF-8 chars
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-28 07:35:03 +02:00
Nikos Ntarmos ef60378754 [common] remove and getline and strndup usage
There is no getline() on FreeBSD, nor any strndup().

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-19 23:08:18 +02:00
marco candrian 1b65a8acfd [draw] line-width increasing from 1.0 to 1.25 for line-style
1.25 figured out by testing...

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-19 11:20:06 +02:00
marco candrian 37f05a8277 [draw] precise line drawing using antialiasing
Antialiasing also has the advantage, that the path get's drawn now precisely -
there have been some issues without ... depending on the line-angle, some
pixels weren't filled on some y coordinates etc.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-19 11:19:59 +02:00
marco candrian 2eb6fda36e [graph] simplify 'line' drawing; draw the border after the graph-drawing
Drawing the border after the graph-drawing, allows to draw down to the border itself
when 0 values occur.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-18 09:12:02 +02:00
marco candrian 84e8949860 [draw] draw_rectangle draws stuff inside the coordinates
E.g. to get single line (or rectangle with width = 1 etc), the path should go
through the center of the pixels (.5), when that path gets stroked finally, it
filles the pixels fully.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-17 19:10:24 +02:00
marco candrian 47495c50e3 [draw] provide the middle of a pixel to make sure it draws/fills that particular pixel/line
Fixes FS#162 now also on my PC in any way (it filled the pixels on the right
when a gradient was given, else the one on the left of x.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-17 09:46:23 +02:00
marco candrian bc7d9211ba [widgets/graph] offset fixed now.
In fact on my pc, when there is no fg_end or fg_center defined,
it draws it one pixel too much on the right.

On Gigamo's PC, that patch should work on any case.

It also 'should' work from what I guess!

For people having a problem, they could define fg_end to the same as fg.

Or when it's really serious (on not just here), that could be done inside
awesome.

(Finally somekind of little cairo bug, from my perspektive)
2008-04-14 04:21:52 +02:00
marco candrian 8277693ab4 [common/draw] no slightly diagonal gradient anymore (again)
that 'fix' didn't work out anyway properly.
Following patches should do a better job.
2008-04-14 04:18:40 +02:00
marco candrian fe07cd4f30 [draw] miter set to 10 is enough
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-13 14:18:29 +02:00
marco candrian 62ac090368 [common/draw] curious (cairo?) bug, sometimes draws the line 1 pixel to much on the right
happens only when creating a gradient, and not always, and
adding + 1 (creating a slightly diagonal gradient), seems to help a little bit).
2008-04-12 06:56:14 +00:00
marco candrian 727a42eb41 [common/draw] force the draw of the left bottom corner on rectangles
setting the miter limit to 100 works here. How to do it really properly, I won't know actually.

http://cairographics.org/manual/cairo-cairo-t.html#cairo-set-miter-limit
2008-04-12 05:41:46 +00:00
Fabienne Ducroquet b12a5235a5 [doc] Fix some typos, modify a few descriptions
Before awesome 2.3 release, I've decided to look for typos in the
awesome* manpages, here is the result. I've also modified some options'
descriptions that I didn't find very clear, I hope I have not
added/missed too many mistakes as I'm not a native English speaker...

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-11 07:34:45 +02:00
Julien Danjou 038e52c699 [draw] Allow more space for characters conversion
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-04 11:07:57 +02:00
Alex Cornejo cee3e9b60d [draw] Add option to link against GTK instead of Imlib2
I added an option to the configure script to link against gdk instead
of imlib2. Most people already have gdk installed so that way they can
use awesome without installing imlib2, and gdk's pixbuf was explicitly
designed to replace imlib2.

Also, a nice side effect is that GDK works directly with cairo
surfaces, so the process of loading images should be faster, although
since awesome does very little image loading it probably wont have a
noticable impact on performance, but it certainly won't hurt.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-03 09:16:58 +02:00
Julien Danjou ae096824d6 [draw] Better check for cairo version
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-02 17:14:09 +02:00
marco candrian 6d0040603f [config] minus values would be useful for the progressbar's gap option.
in order to get a single border for e.g. two bars. Looks more unified then.
2008-04-02 15:51:32 +02:00
Julien Danjou a79cb3f927 [config] Add a bunch of new checks in configuration file
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-02 09:17:25 +02:00
Martin Stubenschrott 8b7c8e3822 [draw] Better computation for vertical text centering
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-01 17:59:23 +02:00
Julien Danjou c4eaec5b82 [emptybox] Add alignment option
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-04-01 08:20:59 +02:00
Julien Danjou 2fd0b3c008 [widgets] New emptybox widget
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-31 10:15:38 +02:00
Julien Danjou c4cc8c5e04 [widgets] Remove paddings
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-31 10:04:03 +02:00
Julien Danjou fb36ccee49 [styles] Set shadow_offset to 0 by default
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-28 13:40:59 +01:00
Julien Danjou 18117e8495 [styles] Use 0xffffffff as auto value for shadow (FS#117)
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-28 12:13:16 +01:00
marco candrian 9db8635523 [config] add missing documentation 2008-03-28 09:53:50 +01:00
Julien Danjou 3692e5f251 [config] Add documentation for a bunch of options
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-27 18:31:55 +01:00
Julien Danjou 25b22a7cb9 [doc] Add autogeneration of options documentation
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-27 16:48:52 +01:00
marco candrian 89f4e22255 [widgets] new progressbar options
if a ticks_count is defined (!= 0), round the value to them ('ticks')
and draw finally some gaps.

Also an important issue: since the bar needs to be 'homogenous', they may won't
match a given height. Some value tweaking will be necessary then.

An alternative would be a not homogenous bar, what is worse I think.

The values, when there are 'ticks', get rounded up somebit. So they get turned on,
when half of them is reached - or so.

new options (see awesomerc.5.txt for a more detailed description):

border_width
border_padding
fg_off

ticks_count
ticks_gap

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-26 10:02:37 +01:00
Julien Danjou f00b0b850e draw_textwidth() can use a const char *
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-25 15:55:45 +01:00
Julien Danjou da119cda7d Add alignment attribute to titlebar
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-24 17:42:45 +01:00
Julien Danjou c39d8c2a7e Add width and height option to titlebars
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-24 16:31:02 +01:00
Julien Danjou 60e36aee54 Add a workaround for cairo < 1.5
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-24 10:48:15 +01:00
Julien Danjou 8b411eb15d Use pre-multiplied alpha for cairo rendering
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-24 10:26:35 +01:00
Julien Danjou afa8591d50 Change opacity between 0 and 1 and update validation
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-24 07:47:07 +01:00
Julien Danjou ec96d4d1f8 Add and update doc for opacity_[un]focused, and switch to float
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 20:38:16 +01:00
Steffen Schulz 3b8cf66822 new directive opacity_focused=<int>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 20:36:55 +01:00
marco candrian b92a292e43 additional line width argument to draw_rectangle[_gradient] in draw.c
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:22 +01:00
Julien Danjou de5d82b8c2 Use Imlib2 to load images
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:22 +01:00
Julien Danjou 1d468c5583 Lot of cosmetic changes: proto change, etc.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:22 +01:00
Julien Danjou 8d0e5b29a6 Cosmetic formating changes
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:22 +01:00
Julien Danjou 2aebe166c7 Add support for styles in titlebar
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:22 +01:00
Julien Danjou 2473de53b7 Removed unused options for titlebar
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:22 +01:00
Julien Danjou 4a7e52cc27 Change draw_rotate() proto to directly render on the right Pixmap 2008-03-23 15:52:22 +01:00
Julien Danjou 098b5d40a5 Cosmetic 2008-03-23 15:52:22 +01:00
Julien Danjou a3f9eb7af9 Revert "Add preliminary support for XPM format"
This reverts commit 5f8b538a5e4eeea159b26c3d0b943cac745ffdce.
2008-03-23 15:52:22 +01:00
Julien Danjou df2555d9fe Add preliminary support for XPM format
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:22 +01:00
Julien Danjou 58402c9641 Add a_strcasecmp() function
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:22 +01:00
Julien Danjou c496df9fc6 Add support for mouse bindings on titlebars 2008-03-23 15:52:22 +01:00
Julien Danjou 393b6e1f88 Cosmetics
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:22 +01:00
Julien Danjou accf223bb1 Use warn() instead of perror()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:21 +01:00
Julien Danjou 93c75433f9 Make icon in statusbar as CFG_ALIGNMENT 2008-03-23 15:52:21 +01:00
Julien Danjou 2a47aa7f0b Add cfg_getalignment() functions
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:21 +01:00
Julien Danjou 7b1ce042de Add cfg_getposition() and cie to ease libconfuse compatibility
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:21 +01:00
Julien Danjou 19656fc36d Add a CFG_ALIGNMENT type and use it
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:21 +01:00
Julien Danjou fe8bd0bb5b Implement a CFG_POSITION type and use it 2008-03-23 15:52:21 +01:00
Julien Danjou f01a2ad47d Check for alignment values in configuration file 2008-03-23 15:52:21 +01:00
Julien Danjou 532709ec3e Add validate functions for positions 2008-03-23 15:52:21 +01:00
Julien Danjou b748d114bf Use common validation infra for mwfact upper and lower limits values
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-03-23 15:52:21 +01:00