Julien Danjou
a5806d5e61
lua: arrays use __next and __pairs metamethods
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-10 16:19:56 +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
Fabienne Ducroquet
0348b0566e
libs: fix callback call and untab
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-10 08:04:09 +02:00
Konstantin
36cf917890
awful.lua - use new tags.clients to enum clients in taglist.label.all
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-09 19:48:17 +02:00
Julien Danjou
2f04baed34
beautiful: fix luadoc module name
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-08 19:07:42 +02:00
Julien Danjou
eb2eb9c30b
awful: check for selected
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-08 17:07:31 +02:00
Julien Danjou
56b42a7878
titlebar: widgets are now returned/set as array
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-08 16:49:26 +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
e73269c727
awful: use tag screen number
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-08 14:45: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
3814103a1e
lua: implement objecttable
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-07 16:39:30 +02:00
Julien Danjou
0826351a72
awful: check for sel.screen after sel
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-07 16:34:37 +02:00
Damien Leone
03645feec0
beautiful: allow extra spaces in theme file
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-07 08:20:08 +02:00
Damien Leone
171ece9918
awful: add focusbydirection() (FS#166)
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-06 21:11:47 +02:00
Julien Danjou
395e4b46d4
awful: indentation fix
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-06 21:10:10 +02:00
Julien Danjou
9cf1bc00c9
libs: add vim modeline
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-06 15:39:51 +02:00
Damien Leone
be9e53f4be
beautiful: remove useless var and close file
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-06 15:38:41 +02:00
Julien Danjou
1755dd51fe
awful: add beautiful support
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-06 15:15:13 +02:00
Julien Danjou
3b785d6f6c
awful: fix titlebar creation
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-06 14:11:22 +02:00
Julien Danjou
bacd864400
beautiful: fix Damien's mail address
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-05 22:26:34 +02:00
Julien Danjou
2735144b8c
beautiful: import
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-05 22:24:14 +02:00
Julien Danjou
5473c31737
awful,tabulous: fix copyright for luadoc
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-04 16:41:23 +02:00
Julien Danjou
ac6093673d
awful: check that text is not nil
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-04 16:21:12 +02:00
Julien Danjou
9aa78f43e3
awful: add unregister() for hooks
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-04 14:51:03 +02:00
Julien Danjou
4abea3acca
libs: rewrite as module
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-04 14:31:53 +02:00
MATSUU Takuto
e7b4d96ab3
awful: add some shortcut keys in prompt
...
Ctrl + b - Move back a char
Ctrl + c - Cancel
Ctrl + d - Delete from under the cursor
Ctrl + f - Move forward a char
Ctrl + j - Enter
Ctrl + h - BackSpace
Ctrl + k - Delete to EOL
Ctrl + m - Enter
Ctrl + u - Delete backward from cursor
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-03 11:37:48 +02:00
Julien Danjou
1ea999aef1
awful: really handle select
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-01 10:46:25 +02:00
Julien Danjou
044702569a
awful: bugfix in label
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-01 10:44:25 +02:00
Julien Danjou
20af8bdfca
awful: make sel prio over urgent
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-01 10:26:13 +02:00
Alex Cornejo
825e012442
Handle urgency hint in awful.
...
Add option bg_urgent and fg_urgent and handle them
appropiately in tasklist and taglist widgets.
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-01 10:02:38 +02:00
Julien Danjou
61d5bda37a
awful: fix typo for unmanage hook
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-01 08:33:26 +02:00
Julien Danjou
6c2c607759
awful: automatize titlebar update
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-01 00:10:04 +02:00
Julien Danjou
f48f26286e
awful: move awful hook registration in awful
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-31 23:44:33 +02:00
Julien Danjou
6e54661e7f
awful: implement focus history
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-31 22:33:18 +02:00
Julien Danjou
4016877ad4
screen: move screen.focus to awful
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-31 17:30:03 +02:00
Julien Danjou
f0af665795
awful: implement tag history
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-30 15:37:05 +02:00
Julien Danjou
4a47502e16
awful: add maximize function
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-29 18:29:27 +02:00
Julien Danjou
2e12125423
awful: move floating icon in tasklist dir
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-29 17:49:32 +02:00
Julien Danjou
d0f9cbade8
awful: readd support for square in taglist
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-29 17:48:39 +02:00
Julien Danjou
1391b3e92b
awful: add move and resize mouse bindings
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-29 16:56:38 +02:00
Julien Danjou
3db9f29453
appicon: new widget, used in titlebar
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-29 16:51:21 +02:00
Julien Danjou
8649c6cb8c
awful: add titlebar support
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-29 15:47:58 +02:00
Julien Danjou
4e081e7c2a
awful: move taglist label in label.all
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-29 11:23:52 +02:00
Julien Danjou
112f0863dc
awful: add several label function for tasklist
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-29 11:21:47 +02:00
Julien Danjou
4e577f9fed
awful: add default taglist label function
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-29 10:26:13 +02:00
Julien Danjou
7419a99827
awful: toggletag: check that tag and client screen are identical
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-28 16:09:01 +02:00
Julien Danjou
354af424ba
awful: movetotag: check that tag and client screen are identical
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-28 16:06:06 +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
8646d06fab
client: merge coords function into index
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-07-01 22:08:27 +02:00