[awesome bugs] #394 - Windows-focus-foo not working properly

2008-12-08 Thread awesome

THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.

The following task has a new comment added:

FS#394 - Windows-focus-foo not working properly
User who did this - Julien Danjou (jd)

--
We found the bug. It was a miswritten protocol structure in xcb-util. You can 
check out the git repository of xcb-util to get the bug fixed or wait for a new 
xcb-util release.
--

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

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 [EMAIL PROTECTED]


[awesome bugs] #394 - Windows-focus-foo not working properly

2008-12-08 Thread awesome

THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.

The following task is now closed:

FS#394 - Windows-focus-foo not working properly
User who did this - Julien Danjou (jd)

Reason for closing: Not a bug
Additional comments about closing: Bug in xcb-util = 0.3.1.

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

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 [EMAIL PROTECTED]


[awesome bugs] #297 - keybord is very slow sometimes

2008-12-08 Thread awesome

THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.

The following task is now closed:

FS#297 - keybord is very slow sometimes
User who did this - Julien Danjou (jd)

Reason for closing: Works for me
Additional comments about closing: Not related to awesome directly, no update 
since more than one month.

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

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 [EMAIL PROTECTED]


Re: some patches for next

2008-12-08 Thread Julien Danjou
At 1228522529 time_t, Maarten Maathuis wrote:
 Subject: [PATCH] client: Sometimes you need to arrange before a client gets 
 unbanned.

Merged.

 Subject: [PATCH] client: Don't show transient windows for invisible parents.
 +/* If the parent is invisible, then so should the child. */
 +if(c-transient_for)
 +if(!client_isvisible_exclude_banned(c-transient_for, screen))
 +return false;

If I understand correctly this breaks the tagging of transient windows.
If there tags are differents from the parents, they will be totally
invisible.
I did not merged this one.

 diff --git a/client.c b/client.c
 index f1c2426..f55371e 100644
 --- a/client.c
 +++ b/client.c
 @@ -1284,7 +1284,11 @@ luaA_client_geometry(lua_State *L)
  geometry.height = luaA_getopt_number(L, 2, height, 
 (*c)-geometry.height);
  }
  
 -(*c)-ismaxhoriz = (*c)-ismaxvert = false;
 +if ((*c)-geometry.width != geometry.width || (*c)-geometry.x != 
 geometry.x)
 +(*c)-ismaxhoriz = false;
 +
 +if ((*c)-geometry.height != geometry.height || (*c)-geometry.y != 
 geometry.y)
 +(*c)-ismaxvert = false;
  
  client_resize(*c, geometry, (*c)-honorsizehints);
  }

This part seems ok so I've merged it into
client: maximize belongs to client internal

 diff --git a/lib/awful/client.lua.in b/lib/awful/client.lua.in
 index 5ad971f..b2c7a98 100644
 --- a/lib/awful/client.lua.in
 +++ b/lib/awful/client.lua.in
 @@ -572,4 +572,25 @@ hooks.unmanage.register(urgent.delete)
  
  hooks.unmanage.register(floating.delete)
  
 +-- Pseudo tiled beheaviour for fully maximized clients.
 +-- The lowering is needed to see all tiled windows again.
 +-- The raising is needed to see the maximized window again.
 +-- Lowering upon unfocus would mess with floating/transient windows.
 +hooks.focus.register(function(c)
 +if c.maximized_horizontal and c.maximized_vertical then
 +c:raise()
 +elseif not floating.get(c) then
 +-- Find all maximized windows and lower them
 +local tls = tag.selectedlist(c.screen)
 +for i, t in pairs(tls) do
 +local cls = t:clients()
 +for j, cot in pairs(cls) do
 +if cot.maximized_horizontal and cot.maximized_vertical then
 +cot:lower()
 +end
 +end
 +end
 +end
 +end)

If I understand correctly, you raise full-maximized windows upon focus.
If it's not focus, then you lower all maximized windows to get them
under tiled ones.
So you basically implements two layers of windows: tiled/maximized ?

Not against it, this does not seem bad but seems to be a very personal choice.

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


signature.asc
Description: Digital signature


Re: [PATCH] Fixed alignment

2008-12-08 Thread Julien Danjou
At 1228651966 time_t, Michael Hofmann wrote:
 the patch introduces a 'fixed' alignment, basically the same for
 variable-width textboxes that is now already possible with 'flex'
 imageboxes.
 
 This makes it possible to have fixed-width textboxes in the flexible
 part of a wibox, which is necessary to have a mixed tag and tasklist.

Pushed.

Even if I really think all this align stuff and widget placement will
have to be rewritten someday.

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


signature.asc
Description: Digital signature


Re: some patches for next

2008-12-08 Thread Julien Danjou
At 1228603551 time_t, Maarten Maathuis wrote:
 Two more patches, one to avoid taskbars keeping their original size when  
 struts change, the other to resize the taskbar when clients with struts  
 are (un)banned.

I can't see justification for:

 Subject: [PATCH] wibox: Always resize, otherwise your wiboxes are too large 
 or small when the workarea changes.

Do you have steps to reproduce this?

 Subject: [PATCH] client: Also check for struts on client_{ban,unban}

Nice, merged.

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


signature.asc
Description: Digital signature


Re: [Patch] fix awful.client.movetoscreen for different screen sizes

2008-12-08 Thread Julien Danjou
At 1228687843 time_t, Gregor Best wrote:
 This new version also sets c-geometries.fullscreen, so the client moves to
 original screen issue is resolved. Also, if doresize is false, the function
 returns after setting the new screen and attaching the client to its new tags.

Pushed.

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


signature.asc
Description: Digital signature


Re: naughty: feedback for further D-BUS support

2008-12-08 Thread Julien Danjou
At 1228646136 time_t, Leon Winter wrote:
 b) More generic, there should be like filters:
 [ { urgency = low, category = device.added }, { preset_data } ]
 This way we could set up more precise rules. We could setup
 naughty.config.mapping containing this rules pointing to presets.
 Additionally we could also filter by application name of sender.
 
 I'd like to hear your feedback.

b) seems very fine.

Just KISS. :)

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


signature.asc
Description: Digital signature


Re: [Patch] Drag'n'Dropping clients on tags

2008-12-08 Thread Gregor Best
At Mon, 8 Dec 2008 10:00:49 +0100
Julien Danjou wrote:

 Please, be careful at this kind of detail, it's annoying. :)


D'oh! I should've git diff'ed that, sorry :)
 
  +hooks.timer.register(0.001, ud)
 
 No, I won't accept that. I've no idea why you use this but if you
 need, find another way. :)
 

Mmh, weird, at first I though there was an absolute need for setting the mouse
geometry via a hook... No idea where that came from, but without it works fine,
a patch is attached :)

-- 
Gregor Best
From 9912a331cb43a10e8f9e7cd7bd071ecb8119bae6 Mon Sep 17 00:00:00 2001
From: Gregor Best [EMAIL PROTECTED]
Date: Mon, 8 Dec 2008 19:56:00 +0100
Subject: [PATCH] awful.mouse/widget: enable drag'n'dropping clients on tags

Signed-off-by: Gregor Best [EMAIL PROTECTED]
---
 lib/awful/mouse.lua.in  |   37 -
 lib/awful/widget.lua.in |   16 +---
 2 files changed, 45 insertions(+), 8 deletions(-)

diff --git a/lib/awful/mouse.lua.in b/lib/awful/mouse.lua.in
index d840410..fdce542 100644
--- a/lib/awful/mouse.lua.in
+++ b/lib/awful/mouse.lua.in
@@ -9,6 +9,7 @@ local layout = require(awful.layout)
 local tag = require(awful.tag)
 local hooks = require(awful.hooks)
 local aclient = require(awful.client)
+local widget = require(awful.widget)
 local type = type
 local math = math
 local ipairs = ipairs
@@ -82,7 +83,7 @@ end
 function client.snap(c, snap, x, y)
 local snap = snap or 8
 local c = c or client.focus
-local geom = c:fullgeometry()
+local geom = c:geometry()
 geom.x = x or geom.x
 geom.y = y or geom.y
 
@@ -91,7 +92,7 @@ function client.snap(c, snap, x, y)
 
 for k, snapper in ipairs(aclient.visible(c.screen)) do
 if snapper ~= c then
-geom = snap_outside(geom, snapper:fullgeometry(), snap)
+geom = snap_outside(geom, snapper:geometry(), snap)
 end
 end
 return geom
@@ -114,14 +115,14 @@ function client.move(c, snap)
 
 c:raise()
 
-local orig = c:fullgeometry()
+local orig = c:geometry()
 local m_c = capi.mouse.coords()
 local dist_x = m_c.x - orig.x
 local dist_y = m_c.y - orig.y
 
 local function ug(c, prop)
 if prop == geometry then
-local g = c:fullgeometry()
+local g = c:geometry()
 capi.mouse.coords({ x = g.x + dist_x, y = g.y + dist_y })
 end
 end
@@ -134,7 +135,7 @@ function client.move(c, snap)
   if lay == layout.suit.floating or aclient.floating.get(c) then
   local x = mouse.x - dist_x
   local y = mouse.y - dist_y
-  c:fullgeometry(client.snap(c, snap, x, y))
+  c:geometry(client.snap(c, snap, x, y))
   if layout.get(c.screen) ~= layout.suit.floating and not aclient.floating.get(c) then
   hooks.property.register(ug)
   end
@@ -158,6 +159,32 @@ function client.move(c, snap)
   end, fleur)
 end
 
+--- Move a client to a tag by drag'n'dropping it over a taglist widget
+-- @param c The client to move
+function client.dragtotag(c)
+local m_c = capi.mouse.coords()
+local dist_x = 0
+local dist_y = 0
+
+capi.mousegrabber.run(function (mouse)
+  local button_down = false
+  for k, v in ipairs(mouse.buttons) do
+  if v then
+  button_down = true
+  dist_x = mouse.x - dist_x
+  dist_y = mouse.y - dist_y
+  end
+  end
+  if not button_down then
+  local w = widget_under_pointer()
+  if w and widget.taglist.gettag(w) then
+  aclient.movetotag(widget.taglist.gettag(w), c)
+  end
+  return false
+  end
+  return true
+  end, fleur)
+end
 --- Get a client corner coordinates.
 -- @param c The client to get corner from, focused one by default.
 -- @param corner The corner to use: auto, top_left, top_right, bottom_left,
diff --git a/lib/awful/widget.lua.in b/lib/awful/widget.lua.in
index ae3f72e..063866f 100644
--- a/lib/awful/widget.lua.in
+++ b/lib/awful/widget.lua.in
@@ -33,6 +33,9 @@ taglist.label = {}
 tasklist = {}
 tasklist.label = {}
 
+-- Private structures
+local tagwidgets = otable()
+
 local function taglist_update (screen, w, label, buttons, data)
 local tags = capi.screen[screen]:tags()
 -- Hack: if it has been 

Re: Awesome 3.1 is unstable on FreeBSD 7

2008-12-08 Thread Konstantin

I recompiled Awesome with -O0 -fno-inline and waited for some time,
running Awesome under gdb, and now I managed to catch another backtrace.
Hope it will be more helpful.

Julien Danjou wrote:

At 1228430646 time_t, Konstantin wrote:

I manage to catch backtrace recently (it's attached).

My awesome version:

awesome (awesome) v3.1-rc4-8-gb009095 (Seven Nation Army)
 • Build: Dec  4 2008 23:55:13 for i386 by gcc version 4.2.1 ([EMAIL PROTECTED])
 • D-Bus support: ✔

My FreeBSD version (uname -a):

FreeBSD knote 7.1-PRERELEASE FreeBSD 7.1-PRERELEASE #13: Wed Sep 17 
18:06:30 EEST 2008 [EMAIL PROTECTED]:/usr/src/sys/i386/compile/KNOTE  i386


What information should I provide more?
I really would like to make it stable on my FreeBSD notebook.


Hum, does not seem like a crash from awesome but from Lua.
Can you recompile awesome with -O0 -fno-inline just to be sure, and Lua
as non-stripped binaries so we can get more info in the backtrace?

Cheers,


--
Konstantin Stepanov
Web Developer

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x8101100 (LWP 100086)]
0x2870b2f7 in kill () from /lib/libc.so.7
(gdb) bt
#0  0x2870b2f7 in kill () from /lib/libc.so.7
#1  0x2870b256 in raise () from /lib/libc.so.7
#2  0x28709e6a in abort () from /lib/libc.so.7
#3  0x2827731d in g_logv () from /usr/local/lib/libglib-2.0.so.0
#4  0x28277359 in g_log () from /usr/local/lib/libglib-2.0.so.0
#5  0x28275e63 in g_realloc () from /usr/local/lib/libglib-2.0.so.0
#6  0x28116c6e in pango_glyph_string_set_size () from 
/usr/local/lib/libpango-1.0.so.0
#7  0x2811cf43 in pango_engine_lang_get_type () from 
/usr/local/lib/libpango-1.0.so.0
#8  0x2811ccda in pango_coverage_new () from /usr/local/lib/libpango-1.0.so.0
#9  0x2812ec60 in pango_shape () from /usr/local/lib/libpango-1.0.so.0
#10 0x28121bfd in pango_layout_set_width () from 
/usr/local/lib/libpango-1.0.so.0
#11 0x28123fff in pango_layout_iter_get_char_extents () from 
/usr/local/lib/libpango-1.0.so.0
#12 0x2812479b in pango_layout_iter_get_char_extents () from 
/usr/local/lib/libpango-1.0.so.0
#13 0x2812580d in pango_layout_iter_get_char_extents () from 
/usr/local/lib/libpango-1.0.so.0
#14 0x280e53fa in pango_fc_font_create_metrics_for_context () from 
/usr/local/lib/libpangoft2-1.0.so.0
#15 0x280dc504 in pango_cairo_fc_font_get_type () from 
/usr/local/lib/libpangocairo-1.0.so.0
#16 0x280d96b8 in pango_cairo_font_get_type () from 
/usr/local/lib/libpangocairo-1.0.so.0
#17 0x28114ab8 in pango_font_get_metrics () from 
/usr/local/lib/libpango-1.0.so.0
#18 0x2812131c in pango_layout_get_context () from 
/usr/local/lib/libpango-1.0.so.0
#19 0x281243a2 in pango_layout_iter_get_char_extents () from 
/usr/local/lib/libpango-1.0.so.0
#20 0x28125bcd in pango_layout_get_iter () from /usr/local/lib/libpango-1.0.so.0
#21 0x2812b5cc in pango_renderer_draw_layout () from 
/usr/local/lib/libpango-1.0.so.0
#22 0x280dad1d in pango_cairo_renderer_get_type () from 
/usr/local/lib/libpangocairo-1.0.so.0
#23 0x0807702f in draw_text (ctx=0x8127418, font=0x8120078, 
ellip=PANGO_ELLIPSIZE_END, wrap=PANGO_WRAP_WORD, area=
  {x = 1072, y = 0, width = 60, height = 18}, text=0x854f990  1600 MHz , 
len=10, pdata=0x813a7a8)
at /usr/home/kstep/pkg/xcb/awesome/draw.c:443
#24 0x0808153e in textbox_draw (widget=0x811c060, ctx=0x8127418, geometry={x = 
1072, y = 0, width = 60, height = 18},
screen=0, p=0x81273e0) at 
/usr/home/kstep/pkg/xcb/awesome/widgets/textbox.c:79
#25 0x08073ac6 in widget_render (widgets=0x8127464, ctx=0x8127418, gc=10485785, 
rotate_px=10485784, screen=0,
orientation=East, x=0, y=782, wibox=0x81273e0) at 
/usr/home/kstep/pkg/xcb/awesome/widget.c:278
#26 0x0806d0e3 in wibox_draw (wibox=0x81273e0) at 
/usr/home/kstep/pkg/xcb/awesome/wibox.c:484
#27 0x0806d1ad in wibox_refresh () at 
/usr/home/kstep/pkg/xcb/awesome/wibox.c:507
#28 0x08064500 in awesome_refresh (c=0x814d000) at event.h:34
#29 0x080648d4 in luaA_on_timer (loop=0x285cd9a0, w=0x808b96c, revents=256) at 
/usr/home/kstep/pkg/xcb/awesome/luaa.c:1256
#30 0x285c99d5 in ev_loop (loop=0x285cd9a0, flags=Variable flags is not 
available.
) at ev.c:1705
#31 0x080522c5 in main (argc=1, argv=0xbfbfeb60) at 
/usr/home/kstep/pkg/xcb/awesome/awesome.c:522