Commit Graph

41 Commits

Author SHA1 Message Date
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 be2bfdcfc5 screen: introduce screen objects
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-11 17:14:02 +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
Konstantin 0397854775 awful: add no empty show for taglist
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-08-11 09:53:44 +02:00
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 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 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
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 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