Re: 3.3-rc1 crash bug (?)

2009-05-09 Thread Julien Danjou
At 1241874772 time_t, Uli Schlachter wrote:
 Well, I went with valgrind and now got this backtrace (man, I miss debugging
 symbols... btw I still can't compile awesome due to some missing 
 dependencies).
 Anyone got some ideas what's going on? Proposals how to get my beloved debug
 symbols? :(

http://naquadah.org/~jd/debian/awesome_3.3~rc2-1_nostrip-debug-noopt_amd64.deb

-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// And thinking so much differently.


signature.asc
Description: Digital signature


Re: 3.3-rc1 crash bug (?)

2009-05-09 Thread Julien Danjou
At 1241876690 time_t, Uli Schlachter wrote:
 jd: I guess the debian version doesn't have this... bug?

Should not.

-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// My root password is


signature.asc
Description: Digital signature


Re: premature raise() somewhere?

2009-05-09 Thread Julien Danjou
At 1241879154 time_t, koniu wrote:
 Somewhere there's an implicit raise() or something which in some
 situations causes flicker when a client is being managed. The most
 common situation I see this in is when in max layout and having 1
 urxvt window open,  I spawn another one and for a split second I can
 see it in the top-left corner of the screen in its default size before
 the screen is arranged.

Every new windows start raised.
And that's not a choice, that's how X works AFAIK.
One solution could be to set the window down the stack in
client_manage() and send a configure window request (_if needed_) to
trigger the go down before it is mapped later by arrange().

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Anna Molly! Anna Molly! Anna Molly!


signature.asc
Description: Digital signature


Re: [RFC + PATCH] awful.doc

2009-05-10 Thread Julien Danjou
At 1241938520 time_t, koniu wrote:
 Nope, I haven't been dead or anything, on the contrary I've made some
 progress with this stuff. Recent commits in the branch re-organize
 some functions and make the whole thing a bit smarter.

Nice.

 There's more but I cant be bothered to do full changelogs since all of
 this will end up squashed to 'import' anyway. Here's some recent
 screenshots, tho I plea to you to try it in action as that could
 generate some constructive feedback.
 
 http://omploader.org/vMW5qOQ
 http://omploader.org/vMW5qYg
 http://omploader.org/vMW5qYw
 http://omploader.org/vMW5qZA

That's just *great*.

 Anyway, so how would we go about generating doc.set()s for modules
 other than awful (including capi)?

IMHO, we should provide a special module for that.
awful.doc.awful was nice for documenting awful, but in the end, we
need to document more stuff as you noticed.
So I suggest to change the auto documentation stuff to auto document
everything in lib/ and move that in awful.doc.awesome.
I've done it in the latest commit of jd/awful-doc-generate branch.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Life is life. Lalalalala.


signature.asc
Description: Digital signature


Re: [PATCH] naughty environment cleanup

2009-05-10 Thread Julien Danjou
At 1241929100 time_t, koniu wrote:
 I missed one s/screen/capi.screen/ in this patch, please amend.

Amended.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// There is nothing under this line.


signature.asc
Description: Digital signature


Re: Pull request - random build stuff and some minor config cleanup

2009-05-10 Thread Julien Danjou
At 1241895108 time_t, Uli Schlachter wrote:
 jd just showed me git request-pull. Since I think it's a nice command, I 
 just
 had to try it. ;)

That's cool.

   Use tr [:lower:] [:upper:] instead of the a-z one
Seriously, I pick this one because it does not break anything, but
that's really a pity.

   awesome-client: Use /bin/sh instead of /bin/bash

Really not sure, but at least it works with bash, zsh, ksh and dash.
That might be enough.

Everything pushed.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// And thinking so much differently.


signature.asc
Description: Digital signature


Re: RFC/Testing: jd/padding branch

2009-05-10 Thread Julien Danjou
At 1241969514 time_t, koniu wrote:
 OK, so now its in next and I have no choice but to take that time and test :)
 
 One thing I can say so far is that having get_workarea() in
 awful.wibox is a bit counter-intuitive, it should go to awful.screen.
 That would require adding a function to export the local 'wiboxes'
 table in awful.wibox. Can provide patches if this sounds like a good
 idea.

Well, if that's possible, having a get_workarea in awful.screen handling
padding and wiboxes would be nice, sure.

I'll let the implementation detail up to you.

-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Trust no one.


signature.asc
Description: Digital signature


Re: [RFC + PATCH] awful.doc

2009-05-11 Thread Julien Danjou
At 1242022527 time_t, koniu wrote:
 The generated awesome.lua generally broke for me trying to index nil
 values while settings descriptions for modules that weren't even
 loaded (invaders :P) so I fiddled with the generator and added pulling
 global environment + checks for the given module being loaded:
 http://git.mercenariesguild.net/?p=awesome.git;a=commitdiff;h=cf3dc8c9849df0b9c44a7b4a05e6a7e21216

Ok, you can merge it with my previous commit adding the doc generator
then.

 The results (in combination with fresh commit that does line breaking)
 are nice: http://omploader.org/vMW5xbg

Niice. :)

 Remaining problems with the generator are:
 
 1. the capi 'module'. It breaks the generated code by setting stuff like this:
if env then set(env.progressbar.bar_data_add, { ...
 progressbar will be always nil and we're trying to index it.
 
 This is a version where I was trying to make this work (and then
 noticed that it won't probably happen like that):
 http://git.mercenariesguild.net/?p=awesome.git;a=commitdiff;h=0f6afad8febed553a77818f767065936a0744773

Yeah, C API is a problem. All objects method would be impossible to
document I think since they are not exported to Lua as function, but
only as methods on objects.
We could change that however. I'll give it a try.

 2. i haven't fully investigated but @class table kind of docs are
 not generated right, we get only keys 'description' and 'comment' but
 nothing else (no table with @field's or anything)
 
 any clues on these?

Nop. I think the script generating stuff does things badly. IIRC there's
a couple of if for printing module and stuff, I maybe forgot table
objects. There's not reason luadoc would not give this information.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// When I get sad, I stop being sad and be awesome instead. True story.


signature.asc
Description: Digital signature


Re: 3.3-rc1 crash bug (?)

2009-05-18 Thread Julien Danjou
At 1242331287 time_t, Uli Schlachter wrote:
 And another backtrace, this time with gdb...
 The plan for is to finally use -O0 -fno-inline and see what happens. (btw 
 yay,
 finally done with school and I got time for this!) (Oh and another btw: I 
 still
 don't know any way to reproduce this, it just happens :( )
 
 
 Program received signal SIGSEGV, Segmentation fault.
 [Switching to Thread 0x7fe166b55740 (LWP 4868)]
 0x0032a5c7d4dc in ?? () from /lib/libc.so.6
 #0  0x0032a5c7d4dc in ?? () from /lib/libc.so.6
 No symbol table info available.
 #1  0x0032a5c7b92c in memmove () from /lib/libc.so.6
 No symbol table info available.
 #2  0x00439e25 in luaA_imagebox_newindex (L=0x26e10b0, token=value
 optimized out) at /home/ancient/jd/Work/debian/awesome/common/luaobject.h:39
   buf = value optimized out
   len = value optimized out
   widget = (widget_t *) 0x2b3bcd8
   d = (imagebox_data_t *) 0x2937550
 #3  0x00430032 in luaA_widget_newindex (L=0x26e10b0) at
 /home/ancient/jd/Work/debian/awesome/widget.c:490
   len = 5
   widget = (widget_t *) 0x2b3bcd8
   buf = value optimized out
   token = A_TK_UNKNOWN

That's just weird. If the token is A_TK_UNKNOWN, it's because some code
is doing myimagebox.blabla = value where blabla is not a known
attribute, therefore we get A_TK_UNKNOWN as token.

Then it calls luaA_imagebox_newindex which does not handle A_TK_UNKNOWN
in its switch() statement, so it goes to default which return 0.

Where the hell memmove is called from lua object function, I don't see.

I suggest that next time you try to print some stuff and dig directly
into the code/debugger because I really miss what's wrong.

Thanks anyway :)

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Tomorrow I was nothing, yesterday I'll be.


signature.asc
Description: Digital signature


Re: Making gkrellm not float [PATCH]

2009-05-18 Thread Julien Danjou
At 1242588030 time_t, koniu wrote:
 Attached a patch on top of master so that new users can enjoy this
 starting with 3.3.

Pushed.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Ferns will rule the world.


signature.asc
Description: Digital signature


[ANNOUNCE] awesome 3.3-rc3 released

2009-05-18 Thread Julien Danjou
Hi folks,

Sorry for the delay, but I was really too busy these last days, so I did
not have time to handle awesome correctly. I'll still be under heavy
load until the end of the week, when I'll have done moving into my new
flat.

So, what's new in this rc3? Nothing big, it's a rc version, of course.
But I did fix a couple of startup-notification related issue, so you
won't get a cursor stucked with a watch anymore. A memory corruption in
startup-notification was also fixed.
Rendering of left/right oriented wibox has also been fixed.
root.fake_input was fixed also.
Two other changes: build issue on weird system fixed, and titlebar icons
are partially autogenerated using ImageMagick.

There seems to be not so many issue remaining, so I really except final
version in ~2 weeks.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Trust no one.

awesome version 3.3-rc3 has been released. It is available from:

tar.gz: http://awesome.naquadah.org/download/awesome-3.3-rc3.tar.gz
md5sum: 54d1591f18fea1a076d75c3f111fed8d

tar.bz2: http://awesome.naquadah.org/download/awesome-3.3-rc3.tar.bz2
md5sum: 86aa76cc6fb3b7502e721187a22279f6

number of changes
-
28

shortlog

Ali Polatel (1):
  luaA_init: use Lua C API to add paths to package.path

Johan Kiviniemi (1):
  themes: Generate unfocused/inactive icons automatically

Julien Danjou (13):
  build: allow to specify cmake args
  spawn: fix reference counting of sequences
  spawn: call startup notification hooks on time out
  awful.startup_notification: unregister events on time out
  build: remove useless check for libs
  spawn: fix hook call on timeout
  swindow: fix draw_context_update for north and south orientation
  widget: use orientation rather than position
  root: fix screen in fake_input
  root: fix arguments in fake_input
  spawn: fix sequence ref count again
  build: remove ncurses stuff
  change codename

Uli Schlachter (12):
  Fix a wrong leading space in gperf.sh's shebang
  Remove some useless use of cat
  Fix a bashism in gperf.sh
  Use 'sh' instead of 'sh -e'
  Use tr [:lower:] [:upper:] instead of the a-z one
  Use _LDFLAGS instead of _LIBRARIES
  Get the shell for spawn_with_shell earlier
  Don't use obsolete table.foreach() in the default config
  Remove a wrong space
  awesome-client: Properly exit when dbus-send isn't found
  awesome-client: Fix bashism
  awesome-client: Use /bin/sh instead of /bin/bash

koniu (1):
  awesomerc: allow 'false' in floatapps


diffstat

 CMakeLists.txt |   40 ++
 Makefile   |2 +-
 README |3 +
 awesomeConfig.cmake|   22 ++--
 awesomerc.lua.in   |   25 +
 build-utils/gperf.sh   |   17 +++---
 event.c|6 +-
 lib/awful/startup_notification.lua.in  |3 +-
 lib/awful/util.lua.in  |6 +--
 luaa.c |   54 
 mouse.c|2 +-
 root.c |   21 
 spawn.c|   22 +++-
 swindow.c  |4 +-
 themes/default/theme.lua.in|2 +-
 themes/default/titlebar/close.png  |  Bin 358 - 0 bytes
 themes/default/titlebar/close_normal.png   |  Bin 431 - 0 bytes
 themes/default/titlebar/closer.png |  Bin 611 - 0 bytes
 .../default/titlebar/floating_focus_inactive.png   |  Bin 414 - 0 bytes
 themes/default/titlebar/floating_normal_active.png |  Bin 386 - 0 bytes
 .../default/titlebar/floating_normal_inactive.png  |  Bin 349 - 0 bytes
 .../default/titlebar/maximized_focus_inactive.png  |  Bin 816 - 0 bytes
 .../default/titlebar/maximized_normal_active.png   |  Bin 738 - 0 bytes
 .../default/titlebar/maximized_normal_inactive.png |  Bin 682 - 0 bytes
 themes/default/titlebar/ontop_focus_inactive.png   |  Bin 669 - 0 bytes
 themes/default/titlebar/ontop_normal_active.png|  Bin 565 - 0 bytes
 themes/default/titlebar/ontop_normal_inactive.png  |  Bin 590 - 0 bytes
 themes/default/titlebar/sticky_focus_inactive.png  |  Bin 659 - 0 bytes
 themes/default/titlebar/sticky_normal_active.png   |  Bin 611 - 0 bytes
 themes/default/titlebar/sticky_normal_inactive.png |  Bin 597 - 0 bytes
 utils/awesome-client   |6 ++-
 widget.c   |   10 ++--
 widget.h   |2 +-
 33 files changed, 154

Pager problem with ban offscreen

2009-05-18 Thread Julien Danjou
Hi,

Bug #528512 at Debian[1] seems to me to be the responsibility of
commit f9c2ee62a32cd98eedd3a76f9180dd320f682d80
Author: Maarten Maathuis madman2...@gmail.com
Date:   Thu Nov 20 22:11:13 2008 +0100

client: reimplement client_{ban,unban} for more performance

Which move windows offscreen rather than unmapping them.

We are breaking pagers with that, which is IMHO more problematic than
solutionning performance problem we are not responsible for.

I might decide to fix that bug by reverting to the old unmap system
unless someone has an idea how to fix this properly.

[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=528512

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// And thinking so much differently.


signature.asc
Description: Digital signature


Re: Build breakage [was: Updated patch: Unfocused titlebar icons look bad on non-black background]

2009-05-18 Thread Julien Danjou
At 1242652336 time_t, Uli Schlachter wrote:
 make --dry-run contains the following convert call:
 /usr/bin/convert
 /home/psychon/projects/awesome/themes/default//titlebar//sticky_focus_active.png
 - -evaluate Pow 2 -channel A -evaluate Multiply 0.4
 /home/psychon/projects/awesome/.build-psytux-x86_64-linux-gnu-4.3.3/themes/default//titlebar//sticky_normal_active.png

What returns this command on its own?

 Used version is:
   $ convert --version
 Version: ImageMagick 6.3.7 04/07/09 Q16 http://www.imagemagick.org
 Copyright: Copyright (C) 1999-2008 ImageMagick Studio LLC

Version: ImageMagick 6.5.1-0 2009-04-09 Q16 OpenMP
http://www.imagemagick.org

Here (sid)

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// When I get sad, I stop being sad and be awesome instead. True story.


signature.asc
Description: Digital signature


Re: Invalid _NET_WM_ICONs not properly caught

2009-05-19 Thread Julien Danjou
At 1242673617 time_t, Uli Schlachter wrote:
 Both patches are attached again.

Thanks, pushed.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// And thinking so much differently.


signature.asc
Description: Digital signature


Re: [Patch] Allow setting wibox.opacity if wibox.screen is nil (was: Re: [PATCH] naughty: set screen first and opacity afterwards)

2009-05-19 Thread Julien Danjou
At 1242731066 time_t, Uli Schlachter wrote:
 I marked this mail as hey Uli, this sounds like a neat idea, why don't you
 implement this when you have the time. Find the patch attached.

Since you seems to have time :-) I'd have another suggestion for the
implementation for this patch. That should be done in at least 2 parts,
because currently, there's a drawback with opacity handling in
client also.

For clients, we store opacity and set it via window_opacity_set().
So far so good.

But if someone changes the opacity via something else like transset, our
internal value of opacity (in client_t) is... wrong.

So I suggest that:
1. you fix that for client: that's easy, you just need to add a watcher
   for _NET_WM_WINDOW_OPACITY in property.c and update client
   accordingly.
   To do things cleanly, you may need to split window_opacity_get in
   another function that does not send a GetProperty request (since you
  already that property reply when dealing with property handler in
  property.c)

2. you do the exact same thing for wiboxes; that means you do not need to
   use window_opacity_get, since it will be always up to date

I can provide help or deeper explanation if needed.
And I'd merge that into next.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// I'm no superman.


signature.asc
Description: Digital signature


Re: Fixup awful to use awful.wibox.get_workarea(screen)

2009-05-23 Thread Julien Danjou
At 1242901314 time_t, Jacob Winther wrote:
 I noticed the menu and some windows were overlapping the wibox in
 next, fix attached.

Thanks, pushed.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Trust no one.


signature.asc
Description: Digital signature


Re: Problem with 3.3-rc3 and functions using ... and arg

2009-05-25 Thread Julien Danjou
At 1243188456 time_t, Tassilo Horn wrote:
 Ah, now I've looked that up in the lua spec.  In 5.0 `arg' is used to
 access varargs, but in 5.1 `...' is used instead.  Because awesome uses
 so many bleeding edge libs anyway, I'd say that one could switch to
 using lua 5.1 syntax...

Thanks, that should be fixed, for sure.

-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// When I get sad, I stop being sad and be awesome instead. True story.


signature.asc
Description: Digital signature


Re: next branch keybinding weirdness

2009-05-25 Thread Julien Danjou
At 1243147563 time_t, koniu wrote:
 My best conclusion so far is that when re-setting root.keys with
 different length tables (note that I still run root.keys({ ... }) even
 when switching A1-A2 and it works fine) something goes wrong and the
 keybinding/function is done twice.

The thing is that when you call root.keys(), awesome lies down the table
passed as argument, and fill an array of key object (globalconf.keys).

So when awesome receive an key event, it look through from 0 to
globalconf.keys.len and check each element of the array. When a
key matches, it run its callback function.

So if one of this function modifies the array, while the loop was
checking for example key object 5 on 200, it will still go through key
number 6 which can be ... the same as 5 if you pushed an elememnt in
from of your table in the previously called callback function from
object number 5.

In fact it can be anything else, and you can do very bad things modifying
key bindings while a key binding is pressed, like infinite loop.
(This can be a false problem, since awesome is able to finish such a loop in
matter of miliseconds of course *g*)

Seriously, this has been discussed previously, and no solution has been
found.

I just though about something that IIRC had not been proposed.
What we can try is to go through the loop and look for matching key from
globalconf.key. Then, rather then calling callback function each time we
match (since that can break things (TM)) we store key object temporarly.
_Then_, we call all matched key's callback function. If one of them
modify the root.keys(), we just do not care, we already finished
looping.

What do you people think?

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// I'm no superman.


signature.asc
Description: Digital signature


Re: [PATCH] 0001-hooks-add-exit-hook

2009-05-25 Thread Julien Danjou
At 1243184445 time_t, Gregor Best wrote:
 You wouldn't need such a hook. Just append all stuff which needs to be started
 to the end of your rc.lua

Except that it's not very easy to use when you just want to add that
code in a module. You can't access rc.lua and telling user to add code
ia PITA.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Don't give up.


signature.asc
Description: Digital signature


Re: Problem with 3.3-rc3 and functions using ... and arg

2009-05-25 Thread Julien Danjou
At 1243245445 time_t, Tassilo Horn wrote:
 In the meantime I've discovered that lua 5.1.4 allows to use those
 deprecated features by default, but my distro (Gentoo) disables them if
 the deprecated USE flag is not set.  This explains why nobody except
 me complained till now.
 
 So for now I recompiled lua with the 5.0 vararg style enabled and
 awesome 3.3-rc3 is running fine.

Fine, anyway it's fixed in git now AFAICT.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// The more we fly, the more we climb, the more we know that heaven is a lie.


signature.asc
Description: Digital signature


Re: [PATCH] 0001-hooks-add-exit-hook

2009-05-25 Thread Julien Danjou
At 1243177021 time_t, koniu wrote:
 and the patch :P

Pushed.

-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Ferns will rule the world.


signature.asc
Description: Digital signature


Re: [Patches] Fix some minor compiler warnings found in rc3

2009-05-25 Thread Julien Danjou
At 1243166412 time_t, Uli Schlachter wrote:
 gogonkt reported some compiler warnings in #awesome with gentoo's gcc 4.2.4 
 (And
 he also had an error trying to build the docs, but no idea about that one.

Merged.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Anna Molly! Anna Molly! Anna Molly!


signature.asc
Description: Digital signature


Re: [Patch] simplewindow / wibox stuff (nothing major ;)

2009-05-25 Thread Julien Danjou
At 1243258659 time_t, Uli Schlachter wrote:
 this is v2 of Re: [Patch] Allow setting wibox.opacity if wibox.screen is nil
 which I sent some time ago (or rather: this is completly unrelated to that 
 other
 patch, but also fixes that bug). There is also some other stuff in there, but
 everything is wibox/simplewindow related.

I've merged it, but edit to inline opacity helpers function.

(and added to my TODO to merge wibox and swindows :)

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// The more we fly, the more we climb, the more we know that heaven is a lie.


signature.asc
Description: Digital signature


Re: c.hide broken in next

2009-05-25 Thread Julien Danjou
At 1243264813 time_t, koniu wrote:
 jd_, u mess with all those properties :)

Did I? :)
I've amended the commit responsible of that.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Life is life. Lalalalala.


signature.asc
Description: Digital signature


Re: next branch keybinding weirdness

2009-05-25 Thread Julien Danjou
At 1243268501 time_t, koniu wrote:
 This can be tested/reproduced by adding this to default rc's
 awful.hooks.tags function:
 if view == select
root.keys(globalkeys)
 end
 
 This is not a major issue but makes me think that there could be some
 improvement to be made in the way properties/hooks/events are handled
 there.

I can't reproduce such a behaviour even adding this to default config.
Maybe some profiling may help?

-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// When I get sad, I stop being sad and be awesome instead. True story.


signature.asc
Description: Digital signature


Re: c.hide broken in next

2009-05-25 Thread Julien Danjou
At 1243272624 time_t, koniu wrote:
 Fixed, thanks. Can you do the same magic for c.minimized (same issue)?

Should be ok.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// When I get sad, I stop being sad and be awesome instead. True story.


signature.asc
Description: Digital signature


Re: And the patch :P Fwd: [Patch] warning in setlocale()

2009-05-26 Thread Julien Danjou
At 1243318849 time_t, Ángel Alonso wrote:
 From 92761316de40b0cac70dd5eca34ed72d7a84e07c Mon Sep 17 00:00:00 2001
 From: feler fe...@archlinux.us
 Date: Tue, 26 May 2009 22:40:20 -0700
 Subject: [PATCH] warning_setlocale
 
 ---
  awesome.c |3 ++-
  1 files changed, 2 insertions(+), 1 deletions(-)
 
 diff --git a/awesome.c b/awesome.c
 index 321d98e..e6672e6 100644
 --- a/awesome.c
 +++ b/awesome.c
 @@ -354,7 +354,8 @@ main(int argc, char **argv)
  }
  
  /* Text won't be printed correctly otherwise */
 -setlocale(LC_CTYPE, );
 +if(!setlocale(LC_CTYPE, ))
 +fprintf(stderr, warning: cannot set locale.\n);

You should rather use warn().
Btw, does this situation really happens and has any impact?

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// The more we fly, the more we climb, the more we know that heaven is a lie.


signature.asc
Description: Digital signature


[ANNOUNCE] awesome 3.3-rc4 released

2009-05-26 Thread Julien Danjou
Hi awesome people,

Another rc, probably the last one, a bit late again. Busy busy me.

This one fixes compatibility problem with Lua 5.1, and also revert some
changes about how we handled docking. We are back to the old behaviour,
respecting EWMH. It also fixes some corner cases with applications
settings bad information about their icons.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// The more we fly, the more we climb, the more we know that heaven is a lie.

awesome version 3.3-rc4 has been released. It is available from:

tar.gz: http://awesome.naquadah.org/download/awesome-3.3-rc4.tar.gz
md5sum: ce6df795892104c1592a20fff1505521

tar.bz2: http://awesome.naquadah.org/download/awesome-3.3-rc4.tar.bz2
md5sum: ccd951458b386d53839b29e76b60607f

number of changes
-
12

shortlog

Johan Kiviniemi (2):
  themes: Old ImageMagick compatibility
  themes/sky: Titlebar icons: use current default theme paths

Julien Danjou (6):
  awful.tag: call property hook on icon changes
  main: fix typo in fatal()
  lib: stop using unpack where not needed
  Revert client: handle struts (a lot) better
  Revert client, mouse: improve struts a bit
  change codename

Uli Schlachter (4):
  Restructure the code in ewmh_window_icon_from_reply() slightly
  Check that the property is as long as it should be
  Fix a harmless compiler warning
  Fix a couple of harmless compiler warnings


diffstat

 CMakeLists.txt   |2 +-
 awesome.c|2 +-
 awesomeConfig.cmake  |2 +-
 client.c |  195 --
 client.h |3 -
 ewmh.c   |   20 +++-
 layout.c |2 -
 lib/awful/button.lua.in  |5 +-
 lib/awful/client.lua.in  |3 +-
 lib/awful/key.lua.in |5 +-
 lib/awful/layout/init.lua.in |3 +-
 lib/awful/mouse.lua.in   |   16 ++--
 lib/awful/tag.lua.in |2 +-
 lib/awful/titlebar.lua.in|3 +-
 lib/awful/widget/button.lua.in   |3 +-
 lib/awful/widget/launcher.lua.in |3 +-
 lib/awful/widget/prompt.lua.in   |5 +-
 lib/awful/widget/taglist.lua.in  |6 +-
 lib/awful/widget/tasklist.lua.in |5 +-
 mousegrabber.c   |2 +-
 screen.c |   31 +++
 themes/sky/theme.lua.in  |   24 +-
 wibox.c  |3 +-
 widgets/graph.c  |1 +
 widgets/imagebox.c   |2 +
 widgets/progressbar.c|2 +
 widgets/systray.c|2 +
 widgets/textbox.c|2 +
 28 files changed, 95 insertions(+), 259 deletions(-)


signature.asc
Description: Digital signature


Re: tag history broken in next

2009-05-26 Thread Julien Danjou
At 1243301027 time_t, koniu wrote:
 I've attempted to hack a better tag history implementation which would
 be multi-level and allowed a variable number of tags.
 The problem I keep facing is that eg. each tag switch with viewonly()
 triggers a bunch of unselect's by running viewnone() which results in
 useless history entries with all tags unselected.
 
 Any hints welcome :)

I also tried to fix that yesterday, but did not find anything for now.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Ferns will rule the world.


signature.asc
Description: Digital signature


Re: focus problem in next

2009-05-26 Thread Julien Danjou
At 1243269750 time_t, koniu wrote:
 Reproducible with default rc.lua.

I confirm. A bisect may help.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// My root password is


signature.asc
Description: Digital signature


New logo / Web site contest

2009-05-27 Thread Julien Danjou
Hi fellow users and developers,

I'd like to fresh awesome a bit. We still used a logo from the
2.x branch, and a website half-designed by me. I won't judge the logo,
but as for my Web design skills, they suck hard.

With our growing user base, I'm sure their is a couple of top designers
around that can make a cool logo and a cool new Web page for our
project.

Feel free to discuss ideas here and around.

Submission requirement:
- SVG source if possible;
- If possible, background free (so it can be used on white, black or
  grey);
- If possible, 2 colour or black version;
- Square version (64x64 or things like that), mainly to use as icon;
- The logo should looks nice for printing; it could be fun to use it for
  additional media, like clothes, wallpapers, etc;
- For the Web site graphics, it probably should be a new CSS; the
  current site use ikiwiki[1] and sources are available[2].

Any omission will not make your proposal invalid anyway.

As we don't have a status for developers and/or users, judging will be
done by everyone, and I'll take the final decision: so if you like some
work, you'll just have to give it +1 by mail, and we'll count that as a vote.

The plan is to get this out for awesome 3.4 release, or around that
time at least. Considering our current release rate, that should bring
us to September.

[1] http://ikiwiki.info/
[2] http://git.naquadah.org/?p=awesome-www.git;a=summary

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Life is life. Lalalalala.


signature.asc
Description: Digital signature


Re: [Patch] add image:insert

2009-05-27 Thread Julien Danjou
At 1243434830 time_t, Gregor Best wrote:
 Okay, I re-did the patch with imlib_blend_image_onto_image_skewed in a fashion
 which allows the user to quickly blend one image into another without much
 hassle but which gives them all parameters to
 imlib_blend_image_onto_image_skewed if they want them.

Merged into next.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Tomorrow I was nothing, yesterday I'll be.


signature.asc
Description: Digital signature


Re: [PATCH] awful.util: add linewrap()

2009-05-27 Thread Julien Danjou
At 1243445257 time_t, Andrei Thorp wrote:
 Sounds great, I love more hooks.

Too bad, I'm going to deprecate them.

Then deprecating the deprecation hook will be fun so much fun. :)

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Don't give up.


signature.asc
Description: Digital signature


Re: next branch - wibox removal gives errors

2009-05-28 Thread Julien Danjou
At 1243485316 time_t, koniu wrote:
 This patch seems to help.

Merged with the culprit patch.

This is a real problem anyway, since your fix works but is bad: you
cannot have the new value of the wibox then.

I'm getting tired of this fucking mishandled hooks.

-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// And thinking so much differently.


signature.asc
Description: Digital signature


Re: [PATCH] client: allow setting skip_taskbar

2009-05-28 Thread Julien Danjou
At 1243490010 time_t, koniu wrote:
 +luaA_dofunction_from_registry(L, globalconf.hooks.clients, 0, 0);

Nop, call the property hook. This one is only for client list.

-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// When I get sad, I stop being sad and be awesome instead. True story.


signature.asc
Description: Digital signature


Re: [PATCH] add support for skip_taglist property for tags

2009-05-28 Thread Julien Danjou
At 1243492347 time_t, koniu wrote:
 The idea is to allow hiding tags from the taglist. There are two patches:
 
 0001 - handles makes taglist updates ignore tags with skip_taglist set.
 0002 - makes viewidx() ignore those tags
 
 Perhaps, in view of patch #2, the property should be called hide or
 hidden instead.

Hum probably. But what about just removing the tag from the screen?

-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Tomorrow I was nothing, yesterday I'll be.


signature.asc
Description: Digital signature


Re: [PATCH] awful.util: add linewrap()

2009-05-30 Thread Julien Danjou
At 1243640834 time_t, koniu wrote:
 On Thu, May 28, 2009 at 13:14, Julien Danjou jul...@danjou.info wrote:
  Pushed.
 
 Ay, sorry, forgot to add string to the environment, see amended patch.

Pushed.

-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Anna Molly! Anna Molly! Anna Molly!


signature.asc
Description: Digital signature


Re: rounded wibox corners

2009-05-30 Thread Julien Danjou
At 1243673434 time_t, Uli Schlachter wrote:
 Looking at the current image lua API, I kinda doubt that it's worth to use 
 this
 for generating a 1bit pixmap. Plus, if a window is resized you pretty much 
 have
 to set a new pixmap. Everything else would look ugly or make the resize 
 pointless.

We could adapt image API for such a case.

 I think it's better to just have rounded via some C code for now...

I trust you on that.

 P.S.: Since a 1bit pixmap is used there can be no gray involved and thus no
 anti-aliasing is possible. I'd doubt if some fancy-shape window with rough
 corners would look good...

Depends, if you want to draw a triangle, it's enough. :-)

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Anna Molly! Anna Molly! Anna Molly!


signature.asc
Description: Digital signature


Re: [PATCH] add support for skip_taglist property for tags

2009-06-01 Thread Julien Danjou
At 1243700537 time_t, koniu wrote:
 Amended patches with property renamed to 'hide'. Is that ok?

Should be, pushed.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// In the Sixth Sense, Bruce Willis is dead.


signature.asc
Description: Digital signature


Re: Writing a layout - where does the p parameter come from?

2009-06-02 Thread Julien Danjou
Hi Nathan,

At 1243891357 time_t, Nathan Huesken wrote:
 So I am looking at the tile layout as reference.
 It seems, that its parameters are stored in the current tag ...
 
 No I wonder, what would I have to do to get my parameters in.
 And I also wonder how I could remember which client belongs to which
 tile. Can I store information in clients as well?

As you can see all information are passed to layouts via on_arrange()
function in awful/layout/init.lua.

Clients and tags have properties internal to awesome core, but since
some people or libs wants to store information, we usually use a
property thingie inside awful.tag and awful.client.

You have a set of awful.tag.setproperty() or something like that, which
can be used to store more properties. This properties are automatically
collected upon objects destructution so you do not have to worry about
this.

Just store what you need and retrieve it when needed.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Trust me.


signature.asc
Description: Digital signature


Re: Writing a layout - where does the p parameter come from?

2009-06-03 Thread Julien Danjou
At 1243975693 time_t, Nathan Huesken wrote:
 - What is the difference between workarea and geometry?

Geometry is the screen geometry, i.e., the number of pixels available
from left to right.
Workarea is the same thing, but minus the wibox and the client that have
struts (i.e. panel like gnome-panel or gkrellm in dock mode). That's the
space you should use to put your windows, unless you want to put your
windows above the panels and wiboxes, which I don't think you want in a
layout IMHO. :-)

 - OK, I can set simple properties of a tag and a client using

Gregor answered to that. ;)

-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// I'm no superman.


signature.asc
Description: Digital signature


Re: Getting the focused client in tag.lua

2009-06-03 Thread Julien Danjou
At 1244044432 time_t, Nathan Huesken wrote:
 in it. Can I somehow cat the focused client in tag.lua?

Just use capi.client.focus ?

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// The more we fly, the more we climb, the more we know that heaven is a lie.


signature.asc
Description: Digital signature


Re: client.property.set and client.focus

2009-06-04 Thread Julien Danjou
At 1244103837 time_t, Nathan Huesken wrote:
 Good Idea!
 If i just bind
 print(client.focus.class)
 to a key in my rc.lua, it gives me the correct client class.
 But if I put a function in my modul, which simple does the same, then
 the output is nil.

So client.focus is ~= nil but client.focus.class is nil?
Is there any other attribute like .id that you can get ?

If you got .id you can then request information:
xwininfo -id id

-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// And thinking so much differently.


signature.asc
Description: Digital signature


Re: client.property.set and client.focus

2009-06-04 Thread Julien Danjou
At 1244106951 time_t, Nathan Huesken wrote:
 Mmmh, when I do that, capi.client.focus.class/capi.client.focus.id still
 is nil ...

Check your declaring capi before loading awful.client. :)

-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Tomorrow I was nothing, yesterday I'll be.


signature.asc
Description: Digital signature


[ANNOUNCE] awesome 3.3 released

2009-06-04 Thread Julien Danjou
Hi folks,

We finally did it, awesome 3.3 is released.
It took a little longer than usual, because I was busy, and because I
was waiting to have something to fix between rc4 and final. Thanks to M.
Dietrich, we had a bug fixed this morning, so that was a sufficient excuse
to release!

Thanks to everyone that contributed to this release. Again, our
contributor base is enlarging and I'm very glad seeing more and more
people invested into awesome developement.

We will now focus on 3.4 developement. A lot of things have started
already, so prepared to get shiny new features as usual, in the next
couple of months.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Anna Molly! Anna Molly! Anna Molly!

awesome version 3.3 has been released. It is available from:

tar.gz: http://awesome.naquadah.org/download/awesome-3.3.tar.gz
md5sum: 223f5381cd5c0f72041c4eee08e56bdd

tar.bz2: http://awesome.naquadah.org/download/awesome-3.3.tar.bz2
md5sum: 0dc5574dc551c6356d8cddc6ce91739c

number of changes
-
2

shortlog

Julien Danjou (1):
  change codename

M. Dietrich (1):
  fix loop over config files if none was found


diffstat

 awesome.c   |3 ++-
 awesomeConfig.cmake |2 +-
 luaa.c  |4 ++--
 3 files changed, 5 insertions(+), 4 deletions(-)


signature.asc
Description: Digital signature


Re: Focusing areas without client

2009-06-05 Thread Julien Danjou
At 1244190670 time_t, Nathan Huesken wrote:
 In manual tiling, one might want to focus an area where no client is.
 (Because he wants to split that area or because he wants the next client
 to appear there).
 This means:
 - No client is input focus
 - The area should be somehow marked. Best would be, the same marking
   (border) as if there would be a focused client.
 
 Can the tiling algo somehow just draw the window border?

No, you can't draw a border only. You need to have a window.

If you really want to fill the gap, I can make a suggestion: put a wibox
in this space, with a border, and set background to # (fully
transparent).

Another solution is to put all windows stacked upon each others by
default, and only allow splitting when the stack has more than one
window.

-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Trust me.


signature.asc
Description: Digital signature


Re: [Patch] Some fixes

2009-06-06 Thread Julien Danjou
At 1244300756 time_t, Marco Candrian wrote:
 the graph has more than one thing. You can use a line style to
 have one over all others.

You would be able to do the same with the widget layouts, AFAIU.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// In the Sixth Sense, Bruce Willis is dead.


signature.asc
Description: Digital signature


Re: [Patch] Some fixes

2009-06-06 Thread Julien Danjou
At 1244305993 time_t, Uli Schlachter wrote:
 @Julien: Apropos, any reason why we can't have 'scale = true'? Would you mind 
 a
 patch which adds this back, too? And if we have auto-scaling, adding back
 max_value (currently it requires values between 0 and 1) wouldn't be much work
 either

I don't recall what's scale, do you mind freshing my mind?
Features that are not essential, like max value should not be added.
It's just complicate the widget for no gain.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// When I get sad, I stop being sad and be awesome instead. True story.


signature.asc
Description: Digital signature


Re: [Patch] Some fixes

2009-06-06 Thread Julien Danjou
At 1244303844 time_t, Uli Schlachter wrote:
 And if I want this now and not in 6 months?

You help Gregor? Or stay with 3.3 or the old widget for the time being.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// And thinking so much differently.


signature.asc
Description: Digital signature


Re: [Patch] Some fixes

2009-06-06 Thread Julien Danjou
At 1244306622 time_t, Julien Danjou wrote:
 You help Gregor? Or stay with 3.3 or the old widget for the time being.

FWIW, I don't think like I need to justificate what I did, but removing
the progressbar and graph from the C side will drop around 1K SLOC,
which is just around 8 % of core size. A bit too much expansive for 2
widgets replaced by 200 lines of Lua. :-)

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Anna Molly! Anna Molly! Anna Molly!


signature.asc
Description: Digital signature


Re: [Patches] wibox handling in git

2009-06-06 Thread Julien Danjou
At 1244224475 time_t, Gregor Best wrote:

Pushed, thanks Gregor.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// This is the end of my signature.


signature.asc
Description: Digital signature


Re: [Patch] Some fixes

2009-06-06 Thread Julien Danjou
At 1244286306 time_t, Uli Schlachter wrote:
 If a wibox with non-north geometry was created and a wibox size was specified,
 this function happily ignored it when it made the wibox fit.
 
 The hunk in wibox.c partly reverts 7cc0b13eae2638aaab40bfd1632036a6bea4d8d4.
 No idea if this is a good idea or why that one was done...
 
 Thanks to Garoth who found this bug.

Do you have a way to reproduce this, because I'm torturing my tired mind
but I can't find why your patche is needed?

 ---
  lib/awful/wibox.lua.in |   24 ++--
  wibox.c|4 ++--
  2 files changed, 20 insertions(+), 8 deletions(-)
 
 diff --git a/lib/awful/wibox.lua.in b/lib/awful/wibox.lua.in
 index 190caea..48c710c 100644
 --- a/lib/awful/wibox.lua.in
 +++ b/lib/awful/wibox.lua.in
 @@ -237,14 +237,26 @@ function new(arg)
  -- Empty position and align in arg so we are passing deprecation warning
  arg.position = nil
  
 +-- Set default size
 +if position == left or position == right then
 +arg.width = arg.width or capi.awesome.font_height * 1.5
 +arg.height = arg.height or 100
 +else
 +arg.width = arg.width or 100
 +arg.height = arg.height or capi.awesome.font_height * 1.5
 +end
 +
  local w = capi.wibox(arg)
  
 -if position == left then
 -w.orientation = north
 -w:geometry({ width = capi.awesome.font_height * 1.5 })
 -elseif position == right then
 -w.orientation = south
 -w:geometry({ width = capi.awesome.font_height * 1.5 })
 +if position == left or position == right then
 +if position == left then
 +w.orientation = north
 +else
 +w.orientation = south
 +end
 +-- We need to swap width and height
 +local old_geom = w:geometry()
 +w:geometry({ width = old_geom.height, height = old_geom.width })
  end

Can't you do that before calling constructor?

  
  w.screen = arg.screen or 1
 diff --git a/wibox.c b/wibox.c
 index 69009c9..a54634c 100644
 --- a/wibox.c
 +++ b/wibox.c
 @@ -488,8 +488,8 @@ luaA_wibox_new(lua_State *L)
  w-sw.border.width = luaA_getopt_number(L, 2, border_width, 0);
  w-sw.geometry.x = luaA_getopt_number(L, 2, x, 0);
  w-sw.geometry.y = luaA_getopt_number(L, 2, y, 0);
 -w-sw.geometry.width = luaA_getopt_number(L, 2, width, 100);
 -w-sw.geometry.height = luaA_getopt_number(L, 2, height, 
 globalconf.font-height * 1.5);
 +w-sw.geometry.width = luaA_getopt_number(L, 2, width, 0);
 +w-sw.geometry.height = luaA_getopt_number(L, 2, height, 0);

I'd be afraid about X errors. I don't know if we check later about that.
Anyway that wouldn't be your fault/responsability. :-/

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// When I get sad, I stop being sad and be awesome instead. True story.


signature.asc
Description: Digital signature


Re: [Patch] Some fixes

2009-06-06 Thread Julien Danjou
At 1244292328 time_t, Uli Schlachter wrote:
 I'm just a human Attached is a New and Improved (tm) version of this first
 patch.

Me too, ignore my previous mail.

 ---
  lib/awful/wibox.lua.in |   11 +--
  wibox.c|4 ++--
  2 files changed, 11 insertions(+), 4 deletions(-)
 
 diff --git a/lib/awful/wibox.lua.in b/lib/awful/wibox.lua.in
 index 190caea..939f52e 100644
 --- a/lib/awful/wibox.lua.in
 +++ b/lib/awful/wibox.lua.in
 @@ -237,14 +237,21 @@ function new(arg)
  -- Empty position and align in arg so we are passing deprecation warning
  arg.position = nil
  
 +-- Set default size
 +if position == left or position == right then
 +arg.width = arg.width or capi.awesome.font_height * 1.5
 +arg.height = arg.height or 100
 +else
 +arg.width = arg.width or 100
 +arg.height = arg.height or capi.awesome.font_height * 1.5
 +end
 +
  local w = capi.wibox(arg)
  
  if position == left then
  w.orientation = north
 -w:geometry({ width = capi.awesome.font_height * 1.5 })
  elseif position == right then
  w.orientation = south
 -w:geometry({ width = capi.awesome.font_height * 1.5 })
  end
  
  w.screen = arg.screen or 1

Now I understand this patch. Ok.

 diff --git a/wibox.c b/wibox.c
 index 69009c9..a54634c 100644
 --- a/wibox.c
 +++ b/wibox.c
 @@ -488,8 +488,8 @@ luaA_wibox_new(lua_State *L)
  w-sw.border.width = luaA_getopt_number(L, 2, border_width, 0);
  w-sw.geometry.x = luaA_getopt_number(L, 2, x, 0);
  w-sw.geometry.y = luaA_getopt_number(L, 2, y, 0);
 -w-sw.geometry.width = luaA_getopt_number(L, 2, width, 100);
 -w-sw.geometry.height = luaA_getopt_number(L, 2, height, 
 globalconf.font-height * 1.5);
 +w-sw.geometry.width = luaA_getopt_number(L, 2, width, 0);
 +w-sw.geometry.height = luaA_getopt_number(L, 2, height, 0);

Is that really needed? Because 0 is invalid, so it seems bad to set this
by default.

-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Ferns will rule the world.


signature.asc
Description: Digital signature


Re: [Patch] Some fixes

2009-06-06 Thread Julien Danjou
At 1244311597 time_t, Gregor Best wrote:
 Maybe I should write awful.widget.layout.sameplace then which draws all
 its widgets onto the same space. I'd be grateful for test cases, because
 my experience with graph and progressbar widgets is nearly nil

Hum, IIRC 'sameplace' algo was the default is no layout function was
provided in the widget table. No?

-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Don't give up.


signature.asc
Description: Digital signature


Re: [Patch] Some fixes

2009-06-06 Thread Julien Danjou
At 1244317804 time_t, Marco Candrian wrote:
 then again, the C code seemed to have worked nicely. It's also a
 seperate file etc. - nothing to care for all the time?

Not really. That's evolution: adapt or die. And that's how every part of
awesome's code works. I'm sorry that people feel sad when their code
disappears or is being modified and so, but awesome is still a moving
target.

Don't misread me, I don't want to be rude. I know you have paternity
over most of this code, and I (and many people using this widgets) thank
you for that. :-)

For pbar and graph, I've been saying that their API is bad designed
since the 3.1 version of awesome at least, as it's written in my 3.2
version TODO. And it has not been done by me, well, because it has been
low prio until now. Until I felt the widget layout stuff coming from Gregor
and that we did not need their things like draw on top of each other,
and so that they could be rewritten in a couple of hours. Which I did.

I've adapted the 2 widgets in most parts, so old forms can go away.

There's no reason to keep this both in the C core. Not at all.
Rewritting them in Lua make them:
- better documented;
- more maintainable;
- more evolutive;
- more error proof.

And remove various code duplication, actual and coming.

 I actually meant the C code would be much faster compared to lua,

Probably under extreme condition you are right.

But I do prefer being pragmatic when I can.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Ferns will rule the world.


signature.asc
Description: Digital signature


Re: [ANNOUNCE] awesome 3.3 released

2009-06-06 Thread Julien Danjou
At 1244321281 time_t, Martin Stubenschrott wrote:
 Is there a roadmap wiki or something? I'd be nice to know which are the
 3-4 most relevant things which are being worked on for 3.4?

Not really, I keep my TODO private for no reasons. I used to use FS, but
I'm not that comfortable with it actually.

 Congrats for the 3.3 release, hope to find debs for it soon to upgrade
 from my 3.2.

Already in. :)

-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// And thinking so much differently.


signature.asc
Description: Digital signature


Re: [Patch] Add a scale option to awful.widget.graph

2009-06-07 Thread Julien Danjou
At 1244379036 time_t, Uli Schlachter wrote:
 @@ -121,7 +136,6 @@ local function add_value(graph, value)
  if not graph then return end
  
  local value = value or 0
 -value = math.min(1, math.max(0, value))
  
  table.insert(data[graph].values, value)

This seems useless, and potentially dangerous if scale is not set.
No?

-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Life is life. Lalalalala.


signature.asc
Description: Digital signature


Re: awesome crashing after drawing the cursor

2009-06-08 Thread Julien Danjou
At 1244414696 time_t, Koncz László wrote:
 I've been using the awesome Awesome WM on Arch Linux (a git snapshot
 packaged as 3.3pre by an Arch User Community contributor), until about
 a week ago it wouldn't start any more. I've upgraded to 3.3 since, but
 the problem persists: awesome crashes right after drawing the cursor
 onto the blank screen.
 Here is some output from gdb, hope someone can tell what's wrong:
 
 (after running 'X :1' and 'DISPLAY=:1.0 gdb $(which awesome)')
 
 [run]
 
 Program received signal SIGILL, Illegal instruction.
 0xb7bfd333 in ev_timer_start () from /usr/lib/libev.so.3

Brrr. Seems weird, but I think that's not related to awesome directly.
I'd rather bet a problem on libev but no one never brought that to us.

Can you try to recompile with more debug symbols?

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// In the Sixth Sense, Bruce Willis is dead.


signature.asc
Description: Digital signature


Re: Full moon bringgs trouble down in Brighton

2009-06-08 Thread Julien Danjou
At 1244462897 time_t, Andrei Thorp wrote:
 (and is it possible to make the mailing list software properly set
 reply-to so the reply button sends back to the ml? Is it just me
 struggling with this?)

No. See http://liw.iki.fi/liw/log/2003-Enemies-of-Carlotta.html.
Any good MUA has a reply to list ('l' in mutt) anyway. :)

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// When I get sad, I stop being sad and be awesome instead. True story.


signature.asc
Description: Digital signature


Re: [Patch] Add a scale option to awful.widget.graph

2009-06-09 Thread Julien Danjou
At 1244483306 time_t, Uli Schlachter wrote:
 Both patches attached. :)

Both pushed. Thanks!

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Life is life. Lalalalala.


signature.asc
Description: Digital signature


Re: Run Prompt Rewrite Ideas

2009-06-10 Thread Julien Danjou
At 1244633771 time_t, Andrei Thorp wrote:
 Partial credit to anrxc for ideas. He also said something like, Would
 be cool to make the run prompt one of the killer features of Awesome
 that now people can't live without -- like Naughty.. I tend to agree,
 we could do something spectacular here.

I agree, everything is ready to write such a thing.
But that's a big nice work to do. I'll be glad to provide insights to
anyone wanting to work on this, as usual.

 Something that comes to mind here also is that most of the features
 I've mentioned above can actually be done with the current system by
 making several different prompts that handle things differently and
 then pressing that specific bind. This is okay, but it means you need
 like 6 different binds rather than a smart system. I'm sure the code
 that we have now is reusable to some degree though.

awful's prompt stuff is easily reusable. Anybody can write a new module
to write something GNOME Do style.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Trust no one.


signature.asc
Description: Digital signature


Re: [PATCH] unbash awesome-client

2009-06-12 Thread Julien Danjou
At 1244790869 time_t, Paweł Zuzelski wrote:
 One -r is enough. Sorry. I've attached a new version to this
 e-maill.

Thanks, applied.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// My root password is


signature.asc
Description: Digital signature


Re: Segfault with 3.3

2009-06-12 Thread Julien Danjou
At 1244816834 time_t, Uli Schlachter wrote:
 So this must be in some C function from awesome. Sadly they are all marked
 static and thus don't emit any symbol, anyone got an idea how we could further
 narrow this down?

Recompile with -O0 -fno-inline might help.

-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Anna Molly! Anna Molly! Anna Molly!


signature.asc
Description: Digital signature


Re: [Patch RFC] Move some code for setting certain clients above = true from C into lua

2009-06-12 Thread Julien Danjou
At 1244824357 time_t, Uli Schlachter wrote:
 Hm, awful you say? This is a little hidden tin here...
 
 Patch attached.
 
 I tested that gimp's toolboxes are still above and they (sadly?) are.

Should they, is the question.

According to git blame, this has been added by
cf163797782038562fed70de52f65298ba87226c without any reason for EWMH
compliance.

I suggest to give a couple of test in other WM, and simply drop this
code if we are conforming to everyone behaviour.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// There is nothing under this line.


signature.asc
Description: Digital signature


Re: [Patch RFC] Move some code for setting certain clients above = true from C into lua

2009-06-14 Thread Julien Danjou
At 1244984327 time_t, Uli Schlachter wrote:
 So to me this looks like EWMH doesn't really require this. Now the question:
 Pushing the patch I already sent or, as jd suggests, just dropping the C code
 without adding the lua side of things?

I just took the drop part of your patch.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Tomorrow I was nothing, yesterday I'll be.


signature.asc
Description: Digital signature


Re: [Patch] Another highly disruptive change ;)

2009-06-15 Thread Julien Danjou
At 1245075560 time_t, Uli Schlachter wrote:
 I'll let the patch speak for itself...

Pushed. :)

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// When I get sad, I stop being sad and be awesome instead. True story.


signature.asc
Description: Digital signature


Re: [Patch] Another high-impact patch ;)

2009-06-17 Thread Julien Danjou
At 1245244499 time_t, Uli Schlachter wrote:
 no idea how, but somehow I manage to stay with my current rate of high-impact,
 totally bleeding edge, most likely broken, [insert something funkeh here] 
 patches:

Nice. Works like a charm here, and I can see we win at least 0.0045%
of memory. ;)

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// In the Sixth Sense, Bruce Willis is dead.


signature.asc
Description: Digital signature


Re: [PATCH] removed WidgetList, name_func_link_t and related function

2009-06-17 Thread Julien Danjou
At 1245247677 time_t, Perrin Alexandre wrote:
 jd could you check this patch? I compiled/run awesome with it without
 any problems but I'm not confident with this patch since I don't know
 the awesome codebase well.
 
 It remove the WidgetList, name_func_link_t and related function and use
 tokenize.gperf instead.

Good work, merged.

Thanks!

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Trust me.


signature.asc
Description: Digital signature


[ANNOUNCE] awesome 3.3.1 released

2009-06-18 Thread Julien Danjou
Hi folks,

A small update to fix a couple of bugs we found lately.
It should fix the crash some people got with Gimp. Also fix a bad bug
when trying to spawn   with the prompt and others. And another little
bug in text rendering.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD

awesome version 3.3.1 has been released. It is available from:

tar.gz: http://awesome.naquadah.org/download/awesome-3.3.1.tar.gz
md5: a873af7831f7f63d9d655b227b5ea76f
sha1: ad187a6a93a6e822afed14f3c60fe08471a3d980

tar.bz2: http://awesome.naquadah.org/download/awesome-3.3.1.tar.bz2
md5: 4d3508b7c72bedc38cab4b6f9d2f68cf
sha1: a7bc3a969fed342c593d3f0974beeb22a07c18b7

number of changes
-
4

shortlog

Julien Danjou (3):
  spawn: fix crash with command starting with white space
  client: fix icon value on changes
  change codename

Katherine McKinley (1):
  draw: fix NULL pointer passed to pango_parse_markup()


diffstat

 awesomeConfig.cmake |2 +-
 client.c|1 +
 draw.c  |4 
 property.c  |2 ++
 spawn.c |7 ++-
 5 files changed, 14 insertions(+), 2 deletions(-)



signature.asc
Description: Digital signature


Re: [Patch] Yes, another Really Important Thingie (tm)

2009-06-19 Thread Julien Danjou
At 1245351455 time_t, Uli Schlachter wrote:
 JD: I'm not sure about the ev_ref()/ev_unref() stuff, is this necessary? Did I
 get it right?

Seems OK to me.

Pushed.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// There is nothing under this line.


signature.asc
Description: Digital signature


Re: [Patch] Yes, another Really Important Thingie (tm)

2009-06-19 Thread Julien Danjou
At 1245345332 time_t, Uli Schlachter wrote:
 I can't live without submiting a patch, the result of this OCD is attached.

Pushed.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// And thinking so much differently.


signature.asc
Description: Digital signature


[fili...@debian.org: Bug#533749: awesome: naughty doesn't show notifications when timeout = timer delay]

2009-06-20 Thread Julien Danjou
- Forwarded message from Filippo Giunchedi fili...@debian.org -

 From: Filippo Giunchedi fili...@debian.org
 To: Debian Bug Tracking System sub...@bugs.debian.org
 Subject: Bug#533749: awesome: naughty doesn't show notifications when timeout 
 = timer delay
 Date: Sat, 20 Jun 2009 11:09:57 +0200
 X-Mailer: reportbug 4.4
 X-Spam-Status: No, score=-3.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW
   autolearn=ham version=3.2.5
 
 Package: awesome
 Version: 3.3.1-1
 Severity: normal
 
 Hi,
 I noticed that notification (pun intended) doesn't show up (or better,
 they are destroyed as soon as they show, a flicker can be seen
 sometimes) when called within a timer every x and notification has a
 timeout of y with y = x
 
 In other words:
 
 awful.hooks.timer.register(10, function ()
   naughty.notify({text = foo, title = bar, timeout = 10})
 end)
 
 shows sometimes a flicker like the notification is displayed and then
 die()s
 
 while
 
 awful.hooks.timer.register(10, function ()
   naughty.notify({text = foo, title = bar, timeout = 11})
 end)
 
 correctly shows the notification.
 
 thanks,
 filippo
 -- System Information:
 Debian Release: squeeze/sid
   APT prefers unstable
   APT policy: (990, 'unstable')
 Architecture: amd64 (x86_64)
 
 Kernel: Linux 2.6.29.4 (SMP w/2 CPU cores)
 Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
 Shell: /bin/sh linked to /bin/bash
 
 Versions of packages awesome depends on:
 ii  libc6 2.9-13 GNU C Library: Shared libraries
 ii  libcairo2 1.8.8-2The Cairo 2D vector graphics 
 libra
 ii  libdbus-1-3   1.2.14-3   simple interprocess messaging 
 syst
 ii  libev31:3.6-1high-performance event loop 
 librar
 ii  libglib2.0-0  2.20.3-1   The GLib library of C routines
 ii  libimlib2 1.4.2-4+b1 powerful image loading and 
 renderi
 ii  liblua5.1-0   5.1.4-3Simple, extensible, embeddable 
 pro
 ii  libpango1.0-0 1.24.2-1   Layout and rendering of 
 internatio
 ii  libstartup-notification0  0.10-1 library for program launch 
 feedbac
 ii  libx11-6  2:1.2.1-1  X11 client-side library
 ii  libxcb-atom1  0.3.5-1utility libraries for X C 
 Binding 
 ii  libxcb-aux0   0.3.5-1utility libraries for X C 
 Binding 
 ii  libxcb-event1 0.3.5-1utility libraries for X C 
 Binding 
 ii  libxcb-icccm1 0.3.5-1utility libraries for X C 
 Binding 
 ii  libxcb-image0 0.3.5-1utility libraries for X C 
 Binding 
 ii  libxcb-keysyms1   0.3.5-1utility libraries for X C 
 Binding 
 ii  libxcb-property1  0.3.5-1utility libraries for X C 
 Binding 
 ii  libxcb-randr0 1.3-2  X C Binding, randr extension
 ii  libxcb-render-util0   0.3.5-1utility libraries for X C 
 Binding 
 ii  libxcb-render01.3-2  X C Binding, render extension
 ii  libxcb-shm0   1.3-2  X C Binding, shm extension
 ii  libxcb-xinerama0  1.3-2  X C Binding, xinerama extension
 ii  libxcb-xtest0 1.3-2  X C Binding, xtest extension
 ii  libxcb1   1.3-2  X C Binding
 ii  libxdg-basedir1   1.0.1-1implementation of the XDG Base 
 Dir
 ii  menu  2.1.41 generates programs menu for all 
 me
 
 Versions of packages awesome recommends:
 ii  rlwrap0.30-1.1   readline feature command line 
 wrap
 ii  x11-xserver-utils 7.4+2  X server utilities
 
 awesome suggests no packages.
 
 -- no debconf information
 
 

- End forwarded message -

-- 
Julien Danjou
.''`.  Debian Developer
: :' : http://julien.danjou.info
`. `'  http://people.debian.org/~acid
  `-   9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD

-- 
To unsubscribe, send mail to awesome-devel-unsubscr...@naquadah.org.


Re: [Patch] SHAPE stuff *again*

2009-06-23 Thread Julien Danjou
At 1245756208 time_t, Uli Schlachter wrote:
 +size = width * height;

Seems unused.

 +static void
 +do_update_shape(xcb_window_t win, xcb_shape_kind_t kind, image_t *image, int 
 offset)
 +{
 +xcb_pixmap_t shape;
 +
 +if(!image)
 +{
 +/* Reset the shape */
 +shape = XCB_NONE;
 +} else {

No bracket on one line please :)
And I prefer if(image) when possible, it's just simpler.

 +shape = image_to_1bit_pixmap(image, win);
 +}
 +
 +xcb_shape_mask(globalconf.connection, XCB_SHAPE_SO_SET, kind,
 +win, offset, offset, shape);

Bad indentation.
(Yeah, I am annoying.)

 +local function do_rounded_corners(width, height, corner)
 +local img = image.argb32(width, height, nil)
 +
 +-- Completly transparent
 +img:draw_rectangle(0, 0, width, height, true, #ff)
 +
 +-- [[ This is the layout of the wibox:
 +----
 +--   /||\
 +--  /4| 1  |5\
 +-- |--|
 +-- |2 |
 +-- |--|
 +--  \6| 3  |7/
 +--   \||/
 +----
 +-- ]]
 +
 +-- Show the content of the wibox
 +-- 1
 +img:draw_rectangle(corner, 0, width - corner * 2, corner, true, 
 #00)
 +-- 2
 +img:draw_rectangle(0, corner, width, height - corner * 2, true, 
 #00)
 +-- 3
 +img:draw_rectangle(corner, height - corner, width - corner * 2, corner, 
 true, #00)
 +
 +-- These are the 'real' rounded corners
 +-- 4
 +img:draw_circle(corner, corner, corner, corner, true, #00)
 +-- 5
 +img:draw_circle(width - 1 - corner, corner, corner, corner, true, 
 #00)
 +-- 6
 +img:draw_circle(corner, height - 1 - corner, corner, corner, true, 
 #00)
 +-- 7
 +img:draw_circle(width - 1 - corner, height - 1 - corner, corner, corner, 
 true, #00)
 +
 +return img
 +end

I find this really really... nice. :)
Why don't you draw the opposite, i.e. simply the part you want to
remove?

Otherwise, the code seems quite clean and clear, I just do not know
anything about XShape so I can't really judge.
I still wonder what is cliping and bounding... ? :)

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Don't give up.


signature.asc
Description: Digital signature


Re: [Patch] SHAPE stuff *again*

2009-06-23 Thread Julien Danjou
At 1245761941 time_t, Uli Schlachter wrote:
 Uhm, how would I do that? I would need to do some evil math with cos and sin 
 for
 this and then loop through the single pixels...

I'm not a geometry expert but if you need to draw a top left corner:
++
|1 / |
|/ 2 |
++
(1 is being transparent, 2 opaque)

So you just have to draw a rectangle of tranparent and then draw part
2 (as you do already) in opaque.
Or do I miss something?

  Otherwise, the code seems quite clean and clear, I just do not know
  anything about XShape so I can't really judge.
  I still wonder what is cliping and bounding... ? :)
 
 Heh, second try:
 If you just want an arbitrary shaped window, set the bounding shape and be 
 done.
 If you want a shaped window with a border, the clipping shape is the content
 area and the bounding shape the border area and the content area together.
 
 If this still doesn't make this clear, I'll have to start doing some 
 screenshots
 with examples which I could then add to the wiki as a start of documenting 
 this.

Would be a wonderful idea, but I think I got it, if border is what I
think it is (a X border).

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Anna Molly! Anna Molly! Anna Molly!


signature.asc
Description: Digital signature


Re: [Patch] SHAPE stuff *again*

2009-06-23 Thread Julien Danjou
At 1245766970 time_t, Maarten Maathuis wrote:
 Could the interface be simplified to leave the border related
 calculations on the C side?
 
 This was done for geometry to make the code clearer, is there any
 reason to not do that here?

Because you can have border that are not regular I guess.

-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Life is life. Lalalalala.


signature.asc
Description: Digital signature


Re: [Obvious] ?

2009-06-23 Thread Julien Danjou
At 1245769715 time_t, Andrei Thorp wrote:
 Hello developer-types. I figured I'd ask first before I started doing
 this. Would it be fine for Obvious related stuff to be forwarded to this
 mailing list?

I'm not sure it's a good idea. That would brings probably more than a
ten thousand of users and some hundreds of mails by day on this list,
and...

No. Wait. Obvious you said? I read the Linux Kernel!

No problem of course. ;)

-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Life is life. Lalalalala.


signature.asc
Description: Digital signature


Re: [Obvious] CONTRIBUTING Guide Pull Request

2009-06-23 Thread Julien Danjou
At 1245777325 time_t, Andrei Thorp wrote:
 Yeah, I always enjoyed how he resolved the e-mails on the mailing list
 rather than just merging silently.

That's better than having the guy monitoring the branch always to see if
his patch has been accepted, and also helps keeping track of forgotten
patches. ;)

-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// And thinking so much differently.


signature.asc
Description: Digital signature


Re: [Patch] Make window_hasproto non-blocking (was: [awesome bugs] #543 - Split window_hasproto)

2009-06-25 Thread Julien Danjou
At 1245869654 time_t, Uli Schlachter wrote:
 +void
 +property_update_wm_protocols(client_t *c)
 +{
 +xcb_get_wm_protocols_reply_t protocols;
 +
 +if(xcb_get_wm_protocols_reply(globalconf.connection,
 +  
 xcb_get_wm_protocols_unchecked(globalconf.connection,
 + c-win, 
 WM_PROTOCOLS),
 +  protocols, NULL))

This is bad, but not your fault. xcb-util lack of from_reply function.
:-(

 +{
 +if(c-protocols)
 +xcb_get_wm_protocols_reply_wipe(c-protocols);
 +else
 +c-protocols = p_new(xcb_get_wm_protocols_reply_t, 1);
 +
 +memcpy(c-protocols, protocols, sizeof(protocols));

Why do you p_new() ? Can't you just store the struct inside client_t
directly?

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Life is life. Lalalalala.


signature.asc
Description: Digital signature


Re: lua+pgrep

2009-06-25 Thread Julien Danjou
At 1245863677 time_t, Alex Cornejo wrote:
 The problem is that if we do os.execute(pgrep -f pyscript) from lua,
 it will always return a process, even if pyscript is not running.
 Actually, you can do os.execute(pgrep -f blablafoofoobar) and it
 will always find a process. Weird huh? Any ideas on why this is or how
 to fix it?

No but this seems like a question for awesome mailing list, or even
lua-l. :)

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Tomorrow I was nothing, yesterday I'll be.


signature.asc
Description: Digital signature


Re: [Obvious] Pull Request: Pop-up Run Prompt Done

2009-06-25 Thread Julien Danjou
At 1245874466 time_t, Andrei Thorp wrote:
 OH, right! I promised to attach a video. Here it is. I've recorded a
 small video so to save everyone bandwidth, etc. It's about 700kb, and
 shows just the area around the run prompt.

I'm still amazed by the things you can done with awesome. :)

-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Trust no one.


signature.asc
Description: Digital signature


Re: [Patch] Make window_hasproto non-blocking

2009-06-25 Thread Julien Danjou
At 1245918857 time_t, Uli Schlachter wrote:
 BTW in my testing only my test app ever triggered this code and I don't really
 see any reason why someone would change their WM_PROTOCOLS, so I think this is
 less bad than it looks (Plus some other function in there already does the 
 same
 *duck*).

Yup, I'm not telling what you did is bad. It's just that if you ever
goes by this path, you send a request/get a reply whereas the reply is
already furnished by xcb-property. So this is suboptimal.
(But xcb-util's fault, not yours).

 I tried the following:
 
 - protocols.atoms_len is obviously initialized to 0.

Ack.

 - In property_update_wm_protocols(): If after the _reply() call .atoms_len is 
 0,
   _reply_wipe() the struct again and set it to 0 again.

Just wipe it before calling reply?

 - In client_unmanage, only _reply_wipe() the struct if .atoms_len is != 0

I, btw, think that collecting resources shoud be done in _gc rather than
in unmanage().

 This seemed ugly. As you see, the problem is how to decide when to 
 _reply_wipe()
 this struct. If you are fine with the '.atoms_len == 0' hack, I can implement
 it, but I didn't really feel comfortable with it.

I'd say always wipe+p_clear before updating.

-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// I'm no superman.


signature.asc
Description: Digital signature


Re: [Draft] Introduction of Widget Layouts

2009-06-25 Thread Julien Danjou
This is review of patch #3.

At 1245932662 time_t, Gregor Best wrote:
  -- vim: 
 filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=80
 diff --git a/lib/awful/widget/init.lua.in b/lib/awful/widget/init.lua.in
 index 6d4b51c..ae0cfb2 100644
 --- a/lib/awful/widget/init.lua.in
 +++ b/lib/awful/widget/init.lua.in
 @@ -13,6 +13,8 @@ require(awful.widget.progressbar)
  require(awful.widget.graph)
  require(awful.widget.layoutbox)
  
 +require(awful.widget.layout)
 +

Drop the empty line above.

 +for _, k in ipairs(util.table.ikeys(widgets)) do

I did not dig too far, but isn'y ipairs enough?

 diff --git a/lib/awful/widget/taglist.lua.in b/lib/awful/widget/taglist.lua.in
 index 00de38c..6117942 100644
 --- a/lib/awful/widget/taglist.lua.in
 +++ b/lib/awful/widget/taglist.lua.in
 @@ -48,7 +48,7 @@ end
  -- @param label Label function to use.
  -- @param buttons A table with buttons binding to set.
  function new(screen, label, buttons)
 -local w = {}
 +local w = { }
  local widgets = { }
  widgets.imagebox = { }
  widgets.textbox  = { [margin] = { [left]  = 0,
 diff --git a/lib/awful/widget/tasklist.lua.in 
 b/lib/awful/widget/tasklist.lua.in
 index 0d0897c..883a12d 100644
 --- a/lib/awful/widget/tasklist.lua.in
 +++ b/lib/awful/widget/tasklist.lua.in
 @@ -42,7 +42,7 @@ end
  -- @param label Label function to use.
  -- @param buttons A table with buttons binding to set.
  function new(label, buttons)
 -local w = {}
 +local w = { }
  local widgets = { }
  widgets.imagebox = { align = flex }
  widgets.textbox  = { align = flex,

Remove that crap. :)

-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Anna Molly! Anna Molly! Anna Molly!


signature.asc
Description: Digital signature


Re: [Patch] Make window_hasproto non-blocking

2009-06-25 Thread Julien Danjou
At 1245920036 time_t, Uli Schlachter wrote:
 Attached are the new patches and a diff between the first version and this 
 one.
 (Ignore the lib/awful/widget/progressbar.lua.in hunk, the new version was
 rebased on master while the old one wasnt)

Pushed. Thanks so much.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Ferns will rule the world.


signature.asc
Description: Digital signature


Re: [Draft] Introduction of Widget Layouts

2009-06-25 Thread Julien Danjou
At 1245936340 time_t, Gregor Best wrote:
 Nope, because ipairs stops when it encounters a nil value. The following
 table would be iterated over completely:

I got that, but why would you have nil value?

-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// When I get sad, I stop being sad and be awesome instead. True story.


signature.asc
Description: Digital signature


Re: [Draft] Introduction of Widget Layouts

2009-06-25 Thread Julien Danjou
At 1245947013 time_t, Gregor Best wrote:
   Subject: [PATCH 10/12] systray: don't crap up on odd-sized windows
   diff --git a/widgets/systray.c b/widgets/systray.c
   index 0504be8..bd53ef6 100644
   --- a/widgets/systray.c
   +++ b/widgets/systray.c
   @@ -32,32 +32,27 @@
#define _NET_SYSTEM_TRAY_ORIENTATION_HORZ 0
#define _NET_SYSTEM_TRAY_ORIENTATION_VERT 1

   +typedef struct
   +{
   +/* systray height */
   +int height;
   +} systray_data_t;
   +
  
  Uhm, do we really need a struct for this?
  
 
 I wanted to stay consistent with the rest of the widgets, but as the
 number of widgets in the C core is reduced, that might not be neccessary
 anymore. JD: comments?

Actually, this struct is reduced to an int anyway since it only got
that inside. So there's not point code-wise speaking to change that
(i.e. there's no optimization to make).

I'd say leave it as it is, as a struct, 'cause there's always a chance
we'll need to store something more than the height. So there's a chance
we will re-add a struct later. And its somehow consistent with other
widgets, so it's not a problem to me.


 
   Subject: [PATCH 11/12] awful.util: add table.clone
  
  That's a nice, small patch, it's a candidate for merging independent of 
  widget
  layouts. :)
  
 
 If you really need it :P
 
   Subject: [PATCH 12/12] widget.layout.*: correctly stack nested layouts
  
  A bugfix in the very first patch series? I'd propose to merge this stuff 
  with
  the patches which added this code
  
 
 Agreed, these patches are my current working branch, so expect some
 splitting and reordering.
 
  I hope I didn't annoy you too much.
  
 
 Nope, your feedback is very much appreciated, as well as everyone elses, 
 thanks a lot :)
 
 -- 
 GCS/IT/M d- s+:- a--- C++ UL+++ US UB++ P+++ L+++ E--- W+ N+ o--
 K- w--- O M-- V PS+ PE- Y+ PGP+++ t+ 5 X+ R tv+ b++ DI+++ D+++ G+
 e- h! r y+
 
 Gregor Best



-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// And thinking so much differently.


signature.asc
Description: Digital signature


Re: lua+pgrep

2009-06-25 Thread Julien Danjou
At 1245953624 time_t, Alex Cornejo wrote:
 Any ideas? Namely I wanted to implement a startup module for awesome
 which has a list of programs you would like to run when awesome start,
 but only runs them if they are not already running (to avoid problems
 when restarting awesome for example). This is trivially implemented in
 bash, but I wanted to do it in lua.

os.execute(exec pgrep...)

-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// This is the end of my signature.


signature.asc
Description: Digital signature


Re: [Draft] Introduction of Widget Layouts

2009-06-25 Thread Julien Danjou
At 1245952537 time_t, Uli Schlachter wrote:
 You could cast the height to (void*) and... *duck*

Please, recall me, where did you say you were living already?

-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Don't give up.


signature.asc
Description: Digital signature


Re: [Draft] Introduction of Widget Layouts

2009-06-26 Thread Julien Danjou
At 1245973156 time_t, Gregor Best wrote:
 I just found a place where it makes sense to have non-integer keys in
 the widget table: the titlebars. Rewriting those to make use of integer
 keys will be quite hard, as they make excessive use of integer keys and
 it will make the code even less readable and understandable. I'm
 currently trying to think of some way to stabilize the order of
 non-integer keys. Would a simple table.sort() be enough? I'm not really
 sure here...
 
 Comments and suggestions are greatly appreciated :)

If you're willing to take this road, you need to define a rule on how to
order keys.
table.sort() on non-numeric keys would be enough and will return always
the same result (of course) so it's safe.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// I'm no superman.


signature.asc
Description: Digital signature


C API documentation generator

2009-06-30 Thread Julien Danjou
Hi fellows,

Currently in master, we generate documentation for the C-Lua API from
the source code comments founds in the various C file.
That works fine.

However, starting with what I'm doing in 'next' branch, things are
utterly broken. I wrote a more dynamic system, which makes the
extraction of comments harder.

For example you do not have a luaA_myclass_index() with all property
listed. You rather add properties to a class structure, and then
all objects of that class will that property.

So it was easy to extract things from:
/** My object.
 * \lfield name The name of the object.
 */
int
luaA_object_index(lua_State *L)
...

-- @class object 
@field name The name of the object.


But it's harder from:
/** Set timer's timeout. */
luaA_class_add_property(timer_class, A_TK_TIMEOUT, timeout, 
(lua_class_propfunc_t) timer_set_timeout, 
(lua_class_propfunc_t) timer_get_timeout, 
(lua_class_propfunc_t) timer_set_timeout); 

(A good and small example is timer.c from the next branch.)

If I've a lot of time, I could probably restart hacking
fake-lua-src.lua, but I unfortunately do not have enough time for that,
nor the willingness.

I'd like to hear suggestions from you guys about this. I still believe
that keeping the C-Lua API documentation inside the C source files is a
good idea, because it really prevents forgetting to document stuff.
However, I might step back and restart writing documentation inside
fake Lua files if I really do not find another solution.

I dig a bit into doxygen output format, but I did not find something
obvious. The XML is quite fine, but does not have everything easy to
handle, and requires a lot of manual parsing.

I though about gtk-doc, but it seems very GTK+ oriented.

So ideas, suggestions or proof-of-concept are welcome.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// In the Sixth Sense, Bruce Willis is dead.


signature.asc
Description: Digital signature


Re: Awesome systray support in Java

2009-06-30 Thread Julien Danjou
At 1246404341 time_t, dante4d wrote:
 So I step into isTraySupported():
 
 public boolean isTraySupported() {
 int wm = XWM.getWMID();
 if (wm == XWM.METACITY_WM || wm == XWM.KDE2_WM)
 {
 return true;
 }
 return false;
 }

For god's sake, how can this guys be so lame. That's fucking impressive.

 *Anyway, I question myself how should I proceed?
 *
 
1. *Probably, I could trick Java into thinking I run Metacity WM (which
is a nasty hack I'd say)...*

Yes, probably the simpler way.

2. *I can do something so the JRE code gets updated and recognizes
awesome as systray capable WM, but that's probably a long way to go. But I
believe it's the right one...*

I don't know which versino of JRE you use, but it might be possible that
it's fixed this 1.7. I heard that the reparenting problem is also fixed
in this version, but I did not test.

3. *I can use some other way to obtain SystemTray instance...*

Probably. In fact, if the check would return true, you probably get the
SystemTray.

4. Stop using Java.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Life is life. Lalalalala.


signature.asc
Description: Digital signature


Re: awful.client.swap.bydirection() calls mouse focus hook

2009-07-02 Thread Julien Danjou
At 1246476994 time_t, Romain Chossart wrote:
 Remarks :
 I think it is not relevant to call this hook, as we get a random
 behaviour depending on the location of the mouse. However, it may be
 the desired effect (but it is unlikely to be the case imho).

I know about this, it's on top of my TODO. Enter and leave events are
not ignored when moving windows.
I think it'd be easy to fix, but I'm working on other things right now.
I'll be done for 3.4 anyway.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// And thinking so much differently.


signature.asc
Description: Digital signature


Re: Crash when launching anything from the menu

2009-07-02 Thread Julien Danjou
At 1246499597 time_t, Mike Kelly wrote:
 Whenever I try to click on anything in the launcher menu, awesome goes
 down hard. On my console, I see this message:

Mind testing with 3.3.1?

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// There is nothing under this line.


signature.asc
Description: Digital signature


Re: [PATCH] Make awful.widget.graph work with zero values

2009-07-06 Thread Julien Danjou
At 1246635250 time_t, Uli Schlachter wrote:
 Today I *finally* noticed that one of my graphs broke. The graph displays the
 disk I/O and it looked like my disk was rather busy. Instead of fixing my disk
 usage, I wrote a patch for awesome.

Pushed.
Thanks.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Anna Molly! Anna Molly! Anna Molly!


signature.asc
Description: Digital signature


Re: [Draft] Introduction of Widget Layouts

2009-07-07 Thread Julien Danjou
At 1246495186 time_t, Gregor Best wrote:
 diff --git a/widget.h b/widget.h
 index f2ca048..e9d9e7e 100644
 --- a/widget.h
 +++ b/widget.h
 @@ -73,7 +73,7 @@ struct widget_node_t
  widget_t *widget_getbycoords(orientation_t, widget_node_array_t *, int, int, 
 int16_t *, int16_t *);
  void widget_render(wibox_t *);
  
 -void luaA_table2widgets(lua_State *, widget_node_array_t *);
 +int luaA_widget_userdata_new(lua_State *, widget_t *);
  
  void widget_invalidate_bywidget(widget_t *);
  void widget_invalidate_bytype(widget_constructor_t *);

I merged patches 1, 2, 6, 7, 8 and 9.
1 was amended without the + line of the diff above.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// My root password is


signature.asc
Description: Digital signature


Re: [Draft] Introduction of Widget Layouts

2009-07-07 Thread Julien Danjou
At 1246971364 time_t, Maarten Maathuis wrote:
 I suggest being consistent with the other code and push the geometry
 to lua with borders included. Like the client code does, or change
 that, at least be consistent.

Well, I suggested to not push any geometry, which seems far better. No?
:)

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Life is life. Lalalalala.


signature.asc
Description: Digital signature


Re: [Draft] Introduction of Widget Layouts

2009-07-09 Thread Julien Danjou
At 1247090952 time_t, Gregor Best wrote:
 It does, because it removes the calculation of the actual text position
 from C. Without that, widget_geometries isn't fully functional, as text
 doesn't get drawn where the layout function decides it should.

Okay.

 Premature optimization is the root of all evil :)

I can't disagree.

   +lua_insert(globalconf.L, lua_gettop(globalconf.L) - 1);
   +lua_pop(globalconf.L, 1);
  
  I think we said that's totally noop, no?
  [...]
 
 It is not. lua_insert() needs an absolute stack position, which is why
 the lua_gettop() is used there (-1 would be a relative position). These
 two lines exchange the two top stack elements and then remove the new
 top, effectively removing the second element from the top (which is the
 layout function, it's not needed anymore and it would taint the stack if
 it stayed on top of it).

Yeah, actually I reread your code, and it can be simplified to:
lua_insert(L, -2);
lua_pop(L, 1);

Which also can be simplified to:
lua_remove(L, -2);

AFAICT.

 I'll do. Basically, we get the size we want the systray to be drawn at
 upon drawing the tray, thus removing the query to the xcb_get_geometry
 function. As all windows embedded in the systray are squares, their size
 is equal to their height, so we simply force the size to be wibox_height
 * n x wibox_height, where n is the number of embedded windows, instead
 of deriving it from the largest embedded window (which, for example in
 the case of wicd, would be 200x200, way too much for one window on a
 regular wibox).

I'm not sure you can assume all systray icons are square. But well, I
guess you have a pragmatic approach, so it should work right now. If
something happens, we'll know and we'll fix it. :)

 Totally. This would ease up the implementation quite a bit, I'll do it.

I'm glad that even ease your work. :-)

 It does indeed brake resizable imageboxes, and frankly, I have no idea
 how we could replace that. I think the best idea would be to have things
 settle down and then take a closer look at it.

I agree.

 Would be very nice :)

This bastard does not sounds interested.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// Don't give up.


signature.asc
Description: Digital signature


Re: [Draft] Introduction of Widget Layouts

2009-07-09 Thread Julien Danjou
At 1247096479 time_t, Gregor Best wrote:
 The layouts now
 use the bounds parameter only to determine the available width and
 height they can put their widgets into, the X and Y coordinates are
 modified by the calling functions. (A much cleaner approach, why didn't
 I think of that? :)

Don't know. Why do you keep this bounds?
You seems to only use them to check if the widgets does not try to
render outside the wibox/layouts. That's not the work of the layout.
If the widget, even packed, does not fit, well, too bad, it will be
drawn outside of the wibox, i.e. not shown.

 Subject: [PATCH 1/9] widgets: add bool widget_geometries(wibox_t *)
 @@ -276,7 +315,6 @@ widget_render(wibox_t *wibox)
  for(int i = 0; i  widgets-len; i++)
  if(widgets-tab[i].widget-isvisible)
  {
 -widgets-tab[i].geometry.y = 0;
  widgets-tab[i].widget-draw(widgets-tab[i].widget,
   ctx, widgets-tab[i].geometry, 
 wibox);
  }

You can kill the brackets.

 --- a/widgets/graph.c
 +++ b/widgets/graph.c
 @@ -148,13 +148,13 @@ graph_plot_get(graph_data_t *d, const char *title)
  }
 
  static area_t
 -graph_geometry(widget_t *widget, screen_t *screen, int height, int
 width)
 +graph_geometry(widget_t *widget, int screen)
  {
  area_t geometry;
  graph_data_t *d = widget-data;
 
  geometry.x = geometry.y = 0;
 -geometry.height = height;
 +geometry.height = d-width;
  geometry.width = d-width; 
 

Seems wrong to me. Why the graph would be a square?

 Subject: [PATCH 2/9] widgets: get rid of align attribute

OK.

 Subject: [PATCH 3/9] systray: don't crap up on odd-sized windows

OK.

 Subject: [PATCH 4/9] awful.widget: add layouts

OK.

 Subject: [PATCH 5/9] awesomerc.lua: add support for widget layouts

OK.

 Subject: [PATCH 6/9] naughty: add support for widget layouts

OK.


-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// My root password is


signature.asc
Description: Digital signature


Re: [Draft] Introduction of Widget Layouts

2009-07-09 Thread Julien Danjou
At 1247134192 time_t, Uli Schlachter wrote:
 I guess the flex layout needs the bounds and since one can nest layouts, the
 other ones have to keep that bounds table up-to-date, too... I guess

Make sense.
I take back what I said. It's fine finally. :)

-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// My root password is


signature.asc
Description: Digital signature


Re: [Draft] Introduction of Widget Layouts

2009-07-09 Thread Julien Danjou
At 1247130536 time_t, Julien Danjou wrote:
  --- a/widgets/graph.c
  +++ b/widgets/graph.c
  @@ -148,13 +148,13 @@ graph_plot_get(graph_data_t *d, const char *title)
   }
  
   static area_t
  -graph_geometry(widget_t *widget, screen_t *screen, int height, int
  width)
  +graph_geometry(widget_t *widget, int screen)
   {
   area_t geometry;
   graph_data_t *d = widget-data;
  
   geometry.x = geometry.y = 0;
  -geometry.height = height;
  +geometry.height = d-width;
   geometry.width = d-width; 
  
 
 Seems wrong to me. Why the graph would be a square?

I just wait for clarification on this point from Gregor.

I encourage people to test the patch set. Then, it's more than probable
that everything will be merged.

Cheers,
-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// When I get sad, I stop being sad and be awesome instead. True story.


signature.asc
Description: Digital signature


Re: [Draft] Introduction of Widget Layouts

2009-07-09 Thread Julien Danjou
At 1247139117 time_t, Uli Schlachter wrote:
  Where exactly is that endless loop? I can't seem to find it. And
  frankly said, if you use looping tables for your widgets, you shouldn't
  be surprised :P
 
 You get what you deserve.. ok, you win

Clearly. Somehow I wonder if luaA_isloop() is even worth keeping around.
If you do bad stuff, you're screwed. We're not going to check everything
the use does in Lua. We're not a sand box.

-- 
Julien Danjou
// ᐰ jul...@danjou.info   http://julien.danjou.info
// 9A0D 5FD9 EB42 22F6 8974  C95C A462 B51E C2FE E5CD
// And thinking so much differently.


signature.asc
Description: Digital signature


<    1   2   3   4   5   6   7   8   >