Commit Graph

244 Commits

Author SHA1 Message Date
Julien Danjou 4531a3a17c tag: use new Lua object system
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-12 15:11:33 +02:00
Julien Danjou 81033d391b client: use new object system
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-12 15:11:33 +02:00
Uli Schlachter 95457c5ab7 Move the definition of globalconf into a header file
Pretty much every single source file needs this struct, so it makes sense to
define it in a common header instead of in every single .c file.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-10 16:32:42 +02:00
Alex Cornejo 106e6ed5ab Styling inconsistencies
Cheers,

Alex

From b5816ec55073507d4527ad3a77eae1878adb30d3 Mon Sep 17 00:00:00 2001
From: Alex Cornejo <acornejo@gmail.com>
Date: Sun, 29 Mar 2009 14:24:27 -0400
Subject: [PATCH] Fixed some styling issues.

Noticed in the latest pull that a commit introduced a lot of styling
inconsistencies, decided to remove those and others found by a simple
grep.

Signed-off-by: Alex Cornejo <acornejo@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-30 12:53:12 +02:00
Julien Danjou adf0fd3234 tag: stop using otable
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-14 13:33:52 +01:00
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