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
Julien Danjou
91b2926d8d
screen: merge tag_client_with_current_selected() code
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-27 23:00:20 +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
Pierre Habouzit
f84e66ddc6
Avoid lists of tag/client pairs, use an array per tag.
...
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-24 14:30:13 +02:00
Pierre Habouzit
14f4e02e66
Replace tag_t lists with arrays.
...
This improves lots of code efficiency (we *know* how many tags we have
now, YA'RLY).
Also fix a \todo in client.c: since knowing the number of tags is cheap,
ignore props that don't match it.
Use many p_alloca for things that depends on the number of tags (no sane
user will have *thousands* of tags. This saves a few more mallocs.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
2008-06-23 17:37:19 +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
dc8a309c95
fix comments typo
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-18 20:00:24 +02:00
Julien Danjou
2aab3415e0
tag: fix comments typo
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-18 19:44:31 +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
6cfa589f03
tag: introduce geti() to get tag with numbers as index
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-18 17:56:24 +02:00
Julien Danjou
c7fc344cd3
titlebar: check for widget uniqness
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-18 16:37:26 +02:00
Julien Danjou
471e0f1088
tag: tag.get() now returns an 'hash' table
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-18 16:04:49 +02:00
Julien Danjou
9490c0c3fd
ewmh: add support for _NET_WORKAREA
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-17 22:12:30 +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
276f5f8849
[doxygen] Add \lvalue and convert existing doc.
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-11 07:36:34 +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
aa6bfc560a
[draw] Do inline UTF-8 conversion
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-10 07:32:35 +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
00f966ea04
Replace tags by workspaces
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-09 16:30:46 +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
0a44e90cb6
[lua] Fix garbage collectors
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-06-04 18:17:47 +02:00
Julien Danjou
aba52508c7
[tag] Documentation update
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-28 10:13:28 +02:00
Julien Danjou
6ad47dc828
[layouts] Add magnifier layout
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-27 20:54:53 +02:00
Julien Danjou
4b3e7f766c
[tag] Fix tag add checking
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-27 16:20:38 +02:00
Julien Danjou
be44700669
[doc] Add new Lua based documentation generator for API
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-26 15:25:40 +02:00
Julien Danjou
971d51918b
[tag] Check that tag has not been added before.
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-25 17:43:09 +02:00
Fabienne Ducroquet
834405425e
Rearrange the screen when changing layout
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-05-24 15:46:40 +02:00