[awesome bugs] #572 - Fibanocci layout miss icons

2009-08-24 Thread awesome

THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.

The following task is now closed:

FS#572 - Fibanocci layout miss icons
User who did this - Julien Danjou (jd)

Reason for closing: Fixed
Additional comments about closing: commit 
a841790d5b61c1c4f38bbdfbd621835acf762fc8
Author: Julien Danjou jul...@danjou.info
Date:   Mon Aug 24 11:37:44 2009 +0200

   theme: add missing dwindle and spiral layouts icons (FS#572)
   
   Signed-off-by: Julien Danjou jul...@danjou.info



More information can be found at the following URL:
http://awesome.naquadah.org/bugs/index.php?do=detailstask_id=572

You are receiving this message because you have requested it from the Flyspray 
bugtracking system.  If you did not expect this message or don't want to 
receive mails in future, you can change your notification settings at the URL 
shown above.

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


[awesome bugs] #573 - Endless loop in client_manage()

2009-08-24 Thread awesome

THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.

The following task is now closed:

FS#573 - Endless loop in client_manage()
User who did this - Julien Danjou (jd)

Reason for closing: Fixed
Additional comments about closing: commit 
b8de5f2d43e1c560d3b8cad2eb63b379ae547b9c
Author: Julien Danjou jul...@danjou.info
Date:   Mon Aug 24 15:23:22 2009 +0200

   client: add a limit to the loop (FS#573)
   
   Signed-off-by: Julien Danjou jul...@danjou.info



More information can be found at the following URL:
http://awesome.naquadah.org/bugs/index.php?do=detailstask_id=573

You are receiving this message because you have requested it from the Flyspray 
bugtracking system.  If you did not expect this message or don't want to 
receive mails in future, you can change your notification settings at the URL 
shown above.

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


[awesome bugs] #588 - Externalize rules for windows

2009-08-24 Thread awesome

THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.

The following task is now closed:

FS#588 - Externalize rules for windows
User who did this - Julien Danjou (jd)

Reason for closing: Implemented
Additional comments about closing: commit 
6d65106c36ba1c59f6bed85997888a25658a7a54
Author: Julien Danjou jul...@danjou.info
Date:   Mon Aug 24 16:20:11 2009 +0200

   awful.rules: import
   
   Signed-off-by: Julien Danjou jul...@danjou.info



More information can be found at the following URL:
http://awesome.naquadah.org/bugs/index.php?do=detailstask_id=588

You are receiving this message because you have requested it from the Flyspray 
bugtracking system.  If you did not expect this message or don't want to 
receive mails in future, you can change your notification settings at the URL 
shown above.

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


[Patch] Some bug fixes (TODO: backport!)

2009-08-24 Thread Uli Schlachter
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Hi,

the attached two patches fix two bugs.

The first one is a copypaste error. It resulted in weird stuff (icon_name,
client_machine and role of a client where set to its name), but doesn't have any
huge impact.

The second one fixes an incorrect signal mask in processes started by awesome.
Starting with version 3.8 libev uses signalfd for the signal watchers. This
requires the signal to be masked since signalfd and normal signal delivery are
racing against each other (whichever handles the signal first gets it). Masking
it makes sure that the signalfd gets the signal.

Anyway, this masked signal set was inherited by processes started through
awesome which meant they blocked SIGINT. Not nice.

@jd: Please backport the second patch to every awesome version out there or
somehow make sure they are not compiled against libev 3.8.

@jd: I couldn't properly test these patches because someone (*cough*) made
awesome git master depend on bloody new xcb versions which aren't even in debian
experimental. Shame on you!

Uli
- --
Do you know that books smell like nutmeg or some spice from a foreign land?
  -- Faber in Fahrenheit 451
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (GNU/Linux)

iQEcBAEBCAAGBQJKksYwAAoJECLkKOvLj8sGV+wIAKAJjYuR/tgsrQkUiQpfG6ee
HJfOyfwbCAl+2Eu578KyFUytBbXsd/abe6nZfQ22ccdX3dLu90a1QMne7hF+UkGN
bI7ftkJgUwxTWB/MAW2+aIjmpXtUXcbe2IQsrOPGbVQCB+UbcMuiC9kb7sc862o2
AfrnogHi/axpUG3COUarDiX67TsXWzfin4sJ1ZxiABuWwHPeXnMZFDg+z2asnJT6
6i1hNRxoaK9bclKX59b8XgJJZRMcvESSz9f1C42cHL/7FJatQvclIOP3bMMLAeyF
7R/Ji25OKBsj2vUWaXuLHWRHBfji3IfOBMDkAHMOe8zDGtI/SBCYr6bDCiZtui4=
=vjw/
-END PGP SIGNATURE-
From ee71c2c811fc2da6c7f50e9e586ca0df16ef Mon Sep 17 00:00:00 2001
From: Uli Schlachter psyc...@znc.in
Date: Mon, 24 Aug 2009 18:38:07 +0200
Subject: [PATCH 1/2] Fix HANDLE_TEXT_PROPERTY()

Instead of using the given atom name it always requested the WM_NAME property of
a client.

Signed-off-by: Uli Schlachter psyc...@znc.in
---
 property.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/property.c b/property.c
index 7db4f89..9be9c7a 100644
--- a/property.c
+++ b/property.c
@@ -42,7 +42,7 @@
xcb_get_any_property(globalconf.connection, \
 false, \
 c-window, \
-WM_NAME, \
+atom, \
 UINT_MAX), NULL); \
 luaA_object_push(globalconf.L, c); \
 setfunc(globalconf.L, -1, xutil_get_text_property_from_reply(reply)); \
-- 
1.6.3.3

From e71dc35ee65a7f9083efa120404b4e5ee8377b28 Mon Sep 17 00:00:00 2001
From: Uli Schlachter psyc...@znc.in
Date: Mon, 24 Aug 2009 18:39:03 +0200
Subject: [PATCH 2/2] luaA_spawn(): Clear the masked signals set

Client processes inherit the masked signal set from their parent process.
Starting with version 3.8, libev uses signalfd and thus adds signals that it
watches to the masked signal set.  Processes started through awesome.spawn()
inherited this mask which resulted in all kinds of weird stuff.

This fixes this by clearing the masked signal set before forking of a child
process and resetting it afterwards.

BEWARE! Whatever masked these signals most likely had a reason to do so. When we
clear the masked signal set any pending signals might be delivered. If there is
no signal handler installed, the default action trigger which might kill
awesome.

The above notice doesn't apply to libev 3.8 because it still sets up a correct
signal handler as a fall back, but other mechanism perhaps don't do that.

Signed-off-by: Uli Schlachter psyc...@znc.in
---
 spawn.c |   19 ++-
 1 files changed, 18 insertions(+), 1 deletions(-)

diff --git a/spawn.c b/spawn.c
index 14bf0a7..4067b4b 100644
--- a/spawn.c
+++ b/spawn.c
@@ -253,6 +253,23 @@ spawn_launchee_timeout(struct ev_loop *loop, ev_timer *w, int revents)
 p_delete(w);
 }
 
+static int
+spawn_proc_helper(const char *cmd, GError **error)
+{
+/* Make sure child process don't inherit our blocked signal mask */
+sigset_t empty, old;
+int res;
+
+sigemptyset(empty);
+sigprocmask(SIG_SETMASK, empty, old);
+
+res = g_spawn_command_line_async(cmd, error);
+
+sigprocmask(SIG_SETMASK, old, NULL);
+
+return res;
+}
+
 /** Spawn a program.
  * This function is multi-head (Zaphod) aware and will set display to
  * the right screen according to mouse position.
@@ -322,7 +339,7 @@ luaA_spawn(lua_State *L)
 }
 
 GError *error = NULL;
-if(!g_spawn_command_line_async(cmd, error))
+if(!spawn_proc_helper(cmd, error))
 {
 /* push error on stack */
 lua_pushstring(L, error-message);
-- 

Re: [Patch] Some bug fixes (TODO: backport!)

2009-08-24 Thread Uli Schlachter
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Uli Schlachter wrote:
 The second one fixes an incorrect signal mask in processes started by awesome.
 Starting with version 3.8 libev uses signalfd for the signal watchers. This
 requires the signal to be masked since signalfd and normal signal delivery are
 racing against each other (whichever handles the signal first gets it). 
 Masking
 it makes sure that the signalfd gets the signal.
 
 Anyway, this masked signal set was inherited by processes started through
 awesome which meant they blocked SIGINT. Not nice.

Damn. I mis-read libev's source code. To quote ev.c:

2721   if (!((WL)w)-next)
2722 # if EV_USE_SIGNALFD
2723 if (sigfd  0) /*TODO*/
2724 # endif
2725   {
2726 # if _WIN32
2727 signal (w-signum, ev_sighandler);
2728 # else
2729 struct sigaction sa;
2730
2731 evpipe_init (EV_A);
2732
2733 sa.sa_handler = ev_sighandler;
2734 sigfillset (sa.sa_mask);
2735 sa.sa_flags = SA_RESTART; /* if restarting works we save one
iteration */
2736 sigaction (w-signum, sa, 0);
2737
2738 sigemptyset (sa.sa_mask);
2739 sigaddset (sa.sa_mask, w-signum);
2740 sigprocmask (SIG_UNBLOCK, sa.sa_mask, 0);
2741 #endif
2742   }
2743

This means that libev does *NOT* install a signal handler if signalfd is
available. This is Not Good (tm) because now clearing the masked signal set
might kill awseome because SIGINT is delivered.

The only solution I see (glib can't clear the masked signal set :( ) is getting
rid of g_spawn_async() and doing the sigprocmask() call in the child process
after fork(). Problem here is that AFAIK pending signals are inherited by
childs, too and thus if a signal is pending while we start another process, our
child process gets killed. Zut. :(

@jd: How much do you care about this corner case? Should I hack up a patch which
safely handles the signals after fork() or should I just hack up a patch which
gets rid of g_forgot_the_name_async()?

The first patch should still be fine.

Uli
- --
Do you know that books smell like nutmeg or some spice from a foreign land?
  -- Faber in Fahrenheit 451
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (GNU/Linux)

iQEcBAEBCAAGBQJKksfVAAoJECLkKOvLj8sGw50H/18iNFGdT7I8KMy/XWm044Gg
Wa7ulWz4ekimB5hkVSBrZjSQHKwjQUztMr/b9m+V4wG5mfD8T1MjYXC2RsSRD1FN
EUeByJMYziihWOOBrTCZ4AtimIE4SM3wEzP1qRJcekwvgK/nkJXlX5TnyHwZ4tmK
QbbezV98r8xu8DvMhWGYd9uhSne/rWOCDad8Z8hHNsvpKUsIzImJYsAoJdwy6wfo
m6Idx9gLyTAMeMPr5t+CHyJkyo54S+dbcsbyTn6eX5k5jVJ/ha6vetITYYe0XAOO
jgBU2BcH8XOIqhBZYZQ+o2q7eczTj54xLWbhvURtCp7s05zwiO+dMbGhpK1UVRc=
=cZyr
-END PGP SIGNATURE-

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


Re: [PATCH] Make configuration easier for non-QWERTY users

2009-08-24 Thread Tanguy Ortolo
Le mercredi 19 août 2009, Fabienne Ducroquet a écrit :
 I have been using something similar (and thinking that I should take the 
 time to send a patch...) in my config file for quite a long time, but 
 instead of using a table of keycodes I use a table of keysyms (and I put 
 it with the definition of the tags rather than in the middle of the 
 keybindings to make it more visible). So as apparently Julien doesn't 
 like keycodes (I don't either), here is a patch that renders the 
 configuration change needed for people with an AZERTY or Czech layout 
 (the only 3 (yes, there are 2 AZERTY layouts) keyboard layouts that use 
 latin characters and don't have the numbers in direct access, if 
 I believe Wikipedia) obvious, even if they will still get a non-working 
 default configuration.

Well, if the goal is to make sure that these functions are always
available with the upper row, I must say I cannot see the point of using
keysyms. The upper row has a very precise definition, that uses
keycodes, of course.

But, even if I do not understand it, if it is necessary to ask
French and Czech people to edit their config in order to be able to use
awesome, maybe it is possible to:
- enable keysym definitions by default;
- suggest alternative keysym definitions;
- suggest alternative keycode definitions.

-- 
Tanguy Ortolo

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


Re: [Patch] Some bug fixes (TODO: backport!)

2009-08-24 Thread Julien Danjou
At 1251133398 time_t, Uli Schlachter wrote:
 @jd: How much do you care about this corner case? Should I hack up a patch 
 which
 safely handles the signals after fork() or should I just hack up a patch which
 gets rid of g_forgot_the_name_async()?

No, we need it.
But:
http://library.gnome.org/devel/glib/unstable/glib-Spawning-Processes.html
see GSpawnChildSetupFunc. I think this is what you want.

 The first patch should still be fine.

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


[awesome bugs] #590 - some special characters break tasklist

2009-08-24 Thread awesome

THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.

The following task has a new comment added:

FS#590 - some special characters break tasklist
User who did this - Julien Danjou (jd)

--
can't reproduce, obviously.

xprop | grep WM_NAME

?
--

More information can be found at the following URL:
http://awesome.naquadah.org/bugs/index.php?do=detailstask_id=590#comment1353

You are receiving this message because you have requested it from the Flyspray 
bugtracking system.  If you did not expect this message or don't want to 
receive mails in future, you can change your notification settings at the URL 
shown above.

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


[awesome bugs] #590 - some special characters break tasklist

2009-08-24 Thread awesome

THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.

The following task has a new comment added:

FS#590 - some special characters break tasklist
User who did this - koniu (koniu)

--
WM_NAME(COMPOUND_TEXT) = acidounet’s Music Profile – Users at Last.fm - 
Iceweasel
_NET_WM_NAME(UTF8_STRING) = 0x61, 0x63, 0x69, 0x64, 0x6f, 0x75, 0x6e, 0x65, 
0x74, 0xe2, 0x80, 0x99, 0x73, 0x20, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x20, 0x50, 
0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x20, 0xe2, 0x80, 0x93, 0x20, 0x55, 0x73, 
0x65, 0x72, 0x73, 0x20, 0x61, 0x74, 0x20, 0x4c, 0x61, 0x73, 0x74, 0x2e, 0x66, 
0x6d, 0x20, 0x2d, 0x20, 0x49, 0x63, 0x65, 0x77, 0x65, 0x61, 0x73, 0x65, 0x6c

--

More information can be found at the following URL:
http://awesome.naquadah.org/bugs/index.php?do=detailstask_id=590#comment1354

You are receiving this message because you have requested it from the Flyspray 
bugtracking system.  If you did not expect this message or don't want to 
receive mails in future, you can change your notification settings at the URL 
shown above.

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


Re: [awesome bugs] #590 - some special characters break tasklist

2009-08-24 Thread Alex Cornejo
can't reproduce either.

Alex



On Mon, Aug 24, 2009 at 4:23 PM, awesomejul...@danjou.info wrote:
 THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.

 The following task has a new comment added:

 FS#590 - some special characters break tasklist
 User who did this - koniu (koniu)

 --
 WM_NAME(COMPOUND_TEXT) = acidounet’s Music Profile – Users at Last.fm -
 Iceweasel
 _NET_WM_NAME(UTF8_STRING) = 0x61, 0x63, 0x69, 0x64, 0x6f, 0x75, 0x6e, 0x65,
 0x74, 0xe2, 0x80, 0x99, 0x73, 0x20, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x20,
 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x20, 0xe2, 0x80, 0x93, 0x20,
 0x55, 0x73, 0x65, 0x72, 0x73, 0x20, 0x61, 0x74, 0x20, 0x4c, 0x61, 0x73,
 0x74, 0x2e, 0x66, 0x6d, 0x20, 0x2d, 0x20, 0x49, 0x63, 0x65, 0x77, 0x65,
 0x61, 0x73, 0x65, 0x6c

 --

 More information can be found at the following URL:
 http://awesome.naquadah.org/bugs/index.php?do=detailstask_id=590#comment1354

 You are receiving this message because you have requested it from the
 Flyspray bugtracking system.  If you did not expect this message or don't
 want to receive mails in future, you can change your notification settings
 at the URL shown above.

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


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


[awesome bugs] #590 - some special characters break tasklist

2009-08-24 Thread awesome

THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.

The following task has a new comment added:

FS#590 - some special characters break tasklist
User who did this - Julien Danjou (jd)

--
Ok, that's probably because WM_NAME is set after _NET_WM_NAME and then this is 
the one registered into the client. And since that's a lame encoding from your 
lame locale, it fails. I'll fix that. :)
--

More information can be found at the following URL:
http://awesome.naquadah.org/bugs/index.php?do=detailstask_id=590#comment1355

You are receiving this message because you have requested it from the Flyspray 
bugtracking system.  If you did not expect this message or don't want to 
receive mails in future, you can change your notification settings at the URL 
shown above.

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


[PATCH] naughty: fix hover_timeout

2009-08-24 Thread koniu
Broken since introduction of timers.

There's also an issue with sloppy focus that I've noticed while testing this.
1. open a few terminals in tiled layout
2. naughty.notify{ text = 'test', timeout = 0, hover_timeout = 0.2 }
3. move the mouse over the terminal with the popup above it (without
hovering over the popup)
4. focus away from the terminal using keyboard
5. move the mouse over the popup
6. the popup disappears and the terminal it was above gets focus

The client should not get a mouse_enter just because a wibox
disappears from below it. I trust you'll know how to fix that ;]

k
From 354fc80108c487902c79bfafb0360f62d194328b Mon Sep 17 00:00:00 2001
From: koniu gkusni...@gmail.com
Date: Tue, 25 Aug 2009 00:19:46 +0100
Subject: [PATCH] naughty: fix hover_timeout

Fixes regression since e899ca769610c01073c148112b8e8e5bb72fba45.

Signed-off-by: koniu gkusni...@gmail.com
---
 lib/naughty.lua.in |7 +--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/lib/naughty.lua.in b/lib/naughty.lua.in
index ca5d912..bf415fd 100644
--- a/lib/naughty.lua.in
+++ b/lib/naughty.lua.in
@@ -314,8 +314,11 @@ function notify(args)
 local hover_destroy = function ()
 if hover_timeout == 0 then
 die()
-elseif timer_die then
-timer_die:stop()
+else
+if notification.timer then notification.timer:stop() end
+notification.timer = capi.timer { timeout = hover_timeout }
+notification.timer:add_signal(timeout, die)
+notification.timer:start()
 end
 end
 
-- 
1.6.3.3



Re: [PATCH] awful.autofocus: restore focus on hide/minimize

2009-08-24 Thread koniu
Hmm, i did some more testing and this doesn't quite work as expected.
I've seen this problem before, prior to signals and all that jazz but
I did have it working right with the following hook (where
restore_focus is a function like one in autofocus):

awful.hooks.property.register(function (c, prop)
  if type(c) == client and (prop == minimized or prop == hide) then
restore_focus(c.screen, c)
end

Right now, with the patch applied:

1. client.focus.hidden = true hides the client but doesn't restore focus
2. client.focus.minimized = true fails to minimized the client and but
switches the focus to the previous in history

I'm confused.

k

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