Commit graph

239 commits

Author SHA1 Message Date
Julien Danjou
17e2d9e58f client: remove _AWESOME_TAGS property
We use EWMH hints.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-12 11:49:58 +01:00
Julien Danjou
5154cfc19f remove deprecated functions
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-12 11:49:58 +01:00
Julien Danjou
dd2c62721c tag: add compatibility with old constructor proto
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-06 11:55:09 +01:00
Julien Danjou
17928bc112 ewmh: add support for _NET_WM_DESKTOP update
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-01-02 11:55:46 +01:00
Julien Danjou
a4d914f0e4 draw: fix UTF-8 string len computation upon conversion
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-14 10:28:23 +01:00
Julien Danjou
2037a053a9 layout: move layout code to Lua
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-14 10:28:21 +01:00
Julien Danjou
f188c10fa4 util: precompute funcname in name_func_link
This will improve search a bit.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-12 16:51:41 +01:00
Julien Danjou
1a7413d257 hooks: call tags hooks with more arg
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-04 22:29:11 +01:00
Julien Danjou
b0090950a0 Revert "lua: do not use otable where table are enough"
This reverts commit a220d46850.
2008-12-04 16:55:40 +01:00
Julien Danjou
a220d46850 lua: do not use otable where table are enough
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-04 13:29:00 +01:00
Julien Danjou
d1db6903fa luaa: check that function is not NIL before pushing and calling
Otherwise we may push unused elements because dofunction() checked
_after_ if the function was nil, or not.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-20 17:48:23 +01:00
Julien Danjou
ee8bcd6c43 tag: always call tagged hook with 2 args
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-20 17:47:48 +01:00
Julien Danjou
e1ddf089a2 tag: unref after calling hook
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-20 17:47:13 +01:00
Julien Danjou
44fc8fa51c tag: fix bad len retrieval
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-12 15:04:11 +01:00
Julien Danjou
ca38f96625 tag: reset client tag props on #tags change
Otherwise it will be ignored on restart.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-10 17:40:37 +01:00
Julien Danjou
9ceb1a59b4 tag: return after warn
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-10 11:31:16 +01:00
Julien Danjou
025b64ee44 tag: stop checking for tag duplication and be less picky, only warn user
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-07 11:21:30 +01:00
Julien Danjou
85c7bf07c9 luaa: merge tostring() with DO_LUA_NEW
Also use the same format as standard Lua for tostring output.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-26 16:15:49 +01:00
Julien Danjou
862fe193ee Rewrite {tag,task}list in Lua.
This removes the C implementation of taglist and tasklist widgets and
use a Lua one.

This works by letting .widgets property of wiboxes to be a table with
table, and setting a special metatable on them which notify awesome on
newindex events, updating wiboxes.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-20 20:06:09 +02:00
Julien Danjou
7cf2b6615f client: split X props; handle fullscreen status
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:54 +02:00
Julien Danjou
5449374e3d client: check for visibility before arranging
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-22 11:11:53 +02:00
Alex Cornejo
00721a15ea layout: add fair layout
Based on the original idea of Nathan Huesken, which was then implemented by
Gwenhael Le Moine, I completed and corrected the layout.

I added icons for the layout and modified the makefile and the aweseomerc.lua.in
to include the fair layout.

In the process I also decided to modify layoutgen.sh and tag.c, so that in the
future new layouts can be added without touching tag.c.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-09-11 13:31:28 +02:00
Julien Danjou
7409f6e778 Lua API documentation fixes
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-25 18:04:42 +02:00
Julien Danjou
065d7f8a86 lua: otable can now be index by object values
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-17 07:52:04 +02:00
Julien Danjou
07b82b1825 tag: export clients as simple table
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-13 22:06:20 +02:00
Julien Danjou
d69b602e52 tag: export clients as a function
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-13 17:59:01 +02:00
Julien Danjou
62c2fb1293 tag: unref later
I somehow miss that patch in the merge.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-13 11:35:52 +02:00
Julien Danjou
40c455046b screen: make tags array overwritable
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-13 10:33:15 +02:00
Julien Danjou
5758a3919a tag: remove get and geti methods
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-11 18:26:09 +02:00
Julien Danjou
abd0216194 tag: allow view only if tag has a screen
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-11 18:23:47 +02:00
Julien Danjou
b92a07c2ed Revert "Alternative export method of arrays from C to Lua"
This reverts commit 4ab499fe26.

Conflicts:

	lua.h
2008-08-11 02:21:21 +02:00
Konstantin
4ab499fe26 Alternative export method of arrays from C to Lua
The patch is mainly to export client_array_t object to Lua,
but can be used to export any ..._array_t object.

The idea: export to Lua not a table, but userdata with
metamethods to get/set/define length of ..._array_t object
directly.

Now when I get clients field from tag object C code
creates full copy of client_array_t structure into Lua table.
It takes traversing a whole array of data.

I did it in other way: userdata is exported, with __index,
__newindex, and __len meta-methods defined, and Lua
script gains direct access to client_array_t C-array:
it can get client object, get length of array and assign
client objects to some index in C-array.

Pros:
No overhead of creation a copy of C-structure into Lua-table:
if I want just to test a number of clients for a tag, I don't need
a whole loop to build table, I just want to read clients->len field,
and I do so via __len meta-method.
Also if I want to get some client from tags.clients, I don't need
to create ALL clients Lua-objects, I just get client_t C-struct
and create Lua-object from it. Just in place.
So Lua-loop enuming all tag.clients is not 2 loops internally
(first create copy of tag.clients into Lua-table, then enum this table),
but only one, and if I break out of loop in the middle, I create
only some client Lua-objects, not all of them from tag.clients.

Contras:
As far as clients field is not a table, I cant use pairs/ipairs
and other table functions for it.
But it can be implemented in other way:
for k,c pairs(tag.clients) => for k = 1, #tag.clients,
table.insert(tag.clients, client) => tag.clients[#tag.clients+1] = client

etc.

One more Pro now:
As far as tag.clients in current implementation returns copy of data
table.insert doesn't do what's expected: it doesn't really add client
into tag.clients "array".
With my implementation client is added as expected, as we work with
client_array_t structure directly.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-10 16:18:59 +02:00
Julien Danjou
856eb1a9b2 tag: add support for tag screen change
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-08 14:39:03 +02:00
Julien Danjou
4dd5a2b6b0 tag: check for screen number before invalidate
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-08 14:34:50 +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
80b79717ba various documentation update for _index()
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-28 16:03:38 +02:00
Julien Danjou
21f1f4cf0a statusbar: use screen attribute to add to screen
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-24 17:37:24 +02:00
Julien Danjou
4f73b51e6f tag: remove add(), use screen attribute
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-24 17:07:24 +02:00
Julien Danjou
a791fe5290 tag: allow for tag name modification
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-24 16:37: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
Julien Danjou
1723cc160a lua: introduce luaA_usemetatable
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 19:25:58 +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
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
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
f2d2a10d9b lua: remove luaA_name_init
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-30 13:50:49 +02:00