<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.comp.window-managers.dwm">
    <title>gmane.comp.window-managers.dwm</title>
    <link>http://blog.gmane.org/gmane.comp.window-managers.dwm</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6798"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6797"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6796"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6795"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6794"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6793"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6792"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6791"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6790"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6789"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6788"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6787"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6786"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6785"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6784"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6783"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6782"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6781"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6780"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6779"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6798">
    <title>Re: urgent windows border</title>
    <link>http://permalink.gmane.org/gmane.comp.window-managers.dwm/6798</link>
    <description>It had a bug. We don't want to set as urgent the sel client. Sorry for
the noise.



</description>
    <dc:creator>yy</dc:creator>
    <dc:date>2008-11-29T20:23:56</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6797">
    <title>urgent windows border</title>
    <link>http://permalink.gmane.org/gmane.comp.window-managers.dwm/6797</link>
    <description>The attached patch set a different border color for windows with the
urgency hint flag set. The flag will be removed when the client is
focused (instead of when it is visible). It saves some lines of code
(and can save some more moving clearurgent() to focus(), since it is
used only there).

have fun,

</description>
    <dc:creator>yy</dc:creator>
    <dc:date>2008-11-29T20:17:17</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6796">
    <title>Re: [dvtm]: fix for status bar</title>
    <link>http://permalink.gmane.org/gmane.comp.window-managers.dwm/6796</link>
    <description>I tested your patch a bit and it seems to work properly.
Does it will going in upstream?

Thanks for your help and time.


Claudio M. Alessi

</description>
    <dc:creator>Claudio M. Alessi</dc:creator>
    <dc:date>2008-11-29T20:12:20</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6795">
    <title>slock dialog behavior</title>
    <link>http://permalink.gmane.org/gmane.comp.window-managers.dwm/6795</link>
    <description>Hello,
It seems as though some variation of a previous dialog bug (
http://lists.suckless.org/dwm/0711/4361.html) still exists. I was able to
reproduce the behavior with dwm and twm. In the first case I am able to
regain control to the window manager, but in the second case X must be
restarted.

#!/bin/bash

firefox &amp;
PID=$!
sleep 3
kill -9 $PID

# 1. slock drops back to wm and all windows are visible until an input event
# (key press/mouse event) in which case it blanks again and it behaves as
# normal
slock &amp;
firefox &amp;

# 2. just flashes to wm on an input event but doesn't allow entering
password
# Warning! I was unable to unlock the display and had to restart X
:&lt;&lt;EOF
while :; do
    [[ `xlsclients | grep firefox` ]]  &amp;&amp; slock
done
EOF

Thanks
</description>
    <dc:creator>list subscriber</dc:creator>
    <dc:date>2008-11-29T16:37:32</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6794">
    <title>[dvtm] Cyrillic input</title>
    <link>http://permalink.gmane.org/gmane.comp.window-managers.dwm/6794</link>
    <description>If I start some applications inside dvtm, sometimes I've got troubles
with cyrillic input.
Sometimes letters enter, sometimes not. I have to press a key for a
long time to get it entered.

1.
mcabber reports following error:
(keycode may vary)

2.
aptitude crashes with a report:

3.
htop just closes the search prompt when I try to enter some cyrillic symbols


But some applications always work pretty good with cyrillic input,
e.g. bash, ncmpc, vim

I tested it on:
 - dvtm 0.4.1-1 from ubuntu repos,
 - dvtm 0.4.1 compiled from source (tarball from
http://www.brain-dump.org/projects/dvtm/dvtm-0.4.1.tar.gz)
 - dvtm 0.4.1 from git repository (fetched on November, 29)

The bug appears in all versions.

Is there any way to fix it?


</description>
    <dc:creator>SIO</dc:creator>
    <dc:date>2008-11-29T14:40:13</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6793">
    <title>Re: [dvtm]: fix for status bar</title>
    <link>http://permalink.gmane.org/gmane.comp.window-managers.dwm/6793</link>
    <description>
I also had to RTFM and as I am very tired right now I wouldn't be
surprised if there is a simpler way to accomplish it. Anyway attached is
a patch which seems to work for my limited test case. Please test,
review and post possible simplifications.

Thanks,
Marc

</description>
    <dc:creator>Marc Andre Tanner</dc:creator>
    <dc:date>2008-11-26T23:29:50</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6792">
    <title>Re: patch to hide sticky indicators, and add "nofocus" windows</title>
    <link>http://permalink.gmane.org/gmane.comp.window-managers.dwm/6792</link>
    <description>You could do something very similar just caling unmanage. The problem
is you can't call functions from the rules definition (though you
could use a keybinding to unmanage windows).

It could be interesting to modify applyrules and the Rule definition
in order to call functions, like buttons and keys:

typedef struct {
const char *class;
const char *instance;
const char *title;
void (*func)(const Arg *);
const Arg arg;
} Rule;

Of course, you would also have to tweak manage in order to make it work.

I'm not sure it would be a very good idea, but it probably is not
difficult to try. As a side effect, somebody could control dwm
creating windows with well chosen names (and probably somebody would
write a program to do it), I would find such a hack very unelegant...

</description>
    <dc:creator>yy</dc:creator>
    <dc:date>2008-11-25T20:43:49</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6791">
    <title>Re: patch to hide sticky indicators, and add "nofocus"windows</title>
    <link>http://permalink.gmane.org/gmane.comp.window-managers.dwm/6791</link>
    <description>
Small bug-fix - cycling through visible windows was broken (in focusstack())...

This is the cumulative patch, but the only differences from the last one
are the few lines in focusstack()

Jeremy
diff -r f6c3491c41f1 config.def.h
--- a/config.def.hSun Nov 16 13:22:24 2008 +0000
+++ b/config.def.hTue Nov 25 13:32:05 2008 -0500
&lt; at &gt;&lt; at &gt; -21,9 +21,9 &lt; at &gt;&lt; at &gt;
 static unsigned int tagset[] = {1, 1}; /* after start, first tag is selected */
 
 static Rule rules[] = {
-/* class      instance    title       tags mask     isfloating */
-{ "Gimp",     NULL,       NULL,       0,            True },
-{ "Firefox",  NULL,       NULL,       1 &lt;&lt; 8,       True },
+/* class      instance    title       tags mask     flags */
+{ "Gimp",     NULL,       NULL,       0,            Floating },
+{ "Firefox",  NULL,       NULL,       1 &lt;&lt; 8,       Floating },
 };
 
 /* layout(s) */
diff -r f6c3491c41f1 dwm.c
--- a/dwm.cSun Nov 16 13:22:24 2008 +0000
+++ b/dwm.cTue Nov 25 13:32:05 2008 -0500
&lt; at &gt;&lt; at &gt; -65,6 +65,7 &lt; at &gt;&lt; at &gt;
 enum { WMProtocols, WMDelete, WMState, WMLast };        /* default atoms */
 enum { ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle,
        ClkClientWin, ClkRootWin, ClkLast };             /* clicks */
+enum { Normal, Floating, NoFocus=2 };                   /* Client flags for Rules */
 
 typedef union {
 int i;
&lt; at &gt;&lt; at &gt; -89,7 +90,7 &lt; at &gt;&lt; at &gt;
 int basew, baseh, incw, inch, maxw, maxh, minw, minh;
 int bw, oldbw;
 unsigned int tags;
-Bool isfixed, isfloating, isurgent;
+Bool isfixed, isfloating, isurgent, nofocus;
 Client *next;
 Client *snext;
 Window win;
&lt; at &gt;&lt; at &gt; -127,7 +128,7 &lt; at &gt;&lt; at &gt;
 const char *instance;
 const char *title;
 unsigned int tags;
-Bool isfloating;
+unsigned int flags;
 } Rule;
 
 /* function declarations */
&lt; at &gt;&lt; at &gt; -258,7 +259,8 &lt; at &gt;&lt; at &gt;
 if((!r-&gt;title || strstr(c-&gt;name, r-&gt;title))
 &amp;&amp; (!r-&gt;class || (ch.res_class &amp;&amp; strstr(ch.res_class, r-&gt;class)))
 &amp;&amp; (!r-&gt;instance || (ch.res_name &amp;&amp; strstr(ch.res_name, r-&gt;instance)))) {
-c-&gt;isfloating = r-&gt;isfloating;
+c-&gt;isfloating = (r-&gt;flags&amp;Floating)!=0;
+c-&gt;nofocus = (r-&gt;flags&amp;NoFocus)!=0;
 c-&gt;tags |= r-&gt;tags &amp; TAGMASK;
 }
 }
&lt; at &gt;&lt; at &gt; -498,7 +500,8 &lt; at &gt;&lt; at &gt;
 Client *c;
 
 for(c = clients; c; c = c-&gt;next) {
-occ |= c-&gt;tags;
+if(c-&gt;tags!=TAGMASK)
+occ |= c-&gt;tags;
 if(c-&gt;isurgent)
 urg |= c-&gt;tags;
 }
&lt; at &gt;&lt; at &gt; -508,7 +511,7 &lt; at &gt;&lt; at &gt;
 dc.w = TEXTW(tags[i]);
 col = tagset[seltags] &amp; 1 &lt;&lt; i ? dc.sel : dc.norm;
 drawtext(tags[i], col, urg &amp; 1 &lt;&lt; i);
-drawsquare(sel &amp;&amp; sel-&gt;tags &amp; 1 &lt;&lt; i, occ &amp; 1 &lt;&lt; i, urg &amp; 1 &lt;&lt; i, col);
+drawsquare(sel &amp;&amp; tagset[seltags] &amp; sel-&gt;tags &amp; 1 &lt;&lt; i, occ &amp; 1 &lt;&lt; i, urg &amp; 1 &lt;&lt; i, col);
 dc.x += dc.w;
 }
 if(blw &gt; 0) {
&lt; at &gt;&lt; at &gt; -610,6 +613,7 &lt; at &gt;&lt; at &gt;
 
 void
 focus(Client *c) {
+Client *inc=c;
 if(!c || !ISVISIBLE(c))
 for(c = stack; c &amp;&amp; !ISVISIBLE(c); c = c-&gt;snext);
 if(sel &amp;&amp; sel != c) {
&lt; at &gt;&lt; at &gt; -619,6 +623,9 &lt; at &gt;&lt; at &gt;
 if(c) {
 detachstack(c);
 attachstack(c);
+}
+while( !inc &amp;&amp; c &amp;&amp; c-&gt;nofocus ) c=c-&gt;next;
+if(c) {
 grabbuttons(c, True);
 XSetWindowBorder(dpy, c-&gt;win, dc.sel[ColBorder]);
 XSetInputFocus(dpy, c-&gt;win, RevertToPointerRoot, CurrentTime);
&lt; at &gt;&lt; at &gt; -644,17 +651,17 &lt; at &gt;&lt; at &gt;
 if(!sel)
 return;
 if (arg-&gt;i &gt; 0) {
-for(c = sel-&gt;next; c &amp;&amp; !ISVISIBLE(c); c = c-&gt;next);
+for(c = sel-&gt;next; c &amp;&amp; (!ISVISIBLE(c) || c-&gt;nofocus); c = c-&gt;next);
 if(!c)
-for(c = clients; c &amp;&amp; !ISVISIBLE(c); c = c-&gt;next);
+for(c = clients; c &amp;&amp; (!ISVISIBLE(c) || c-&gt;nofocus); c = c-&gt;next);
 }
 else {
 for(i = clients; i != sel; i = i-&gt;next)
-if(ISVISIBLE(i))
+if(ISVISIBLE(i) &amp;&amp; !i-&gt;nofocus)
 c = i;
 if(!c)
 for(; i; i = i-&gt;next)
-if(ISVISIBLE(i))
+if(ISVISIBLE(i) &amp;&amp; !i-&gt;nofocus)
 c = i;
 }
 if(c) {
</description>
    <dc:creator>Jeremy Jay</dc:creator>
    <dc:date>2008-11-25T18:46:13</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6790">
    <title>Re: [dvtm]: fix for status bar</title>
    <link>http://permalink.gmane.org/gmane.comp.window-managers.dwm/6790</link>
    <description>I don't think i have the skills to fully solve the problem. I guess it
would be useful a code like the following into the drawbar() function
(replacing the strlen(3) call):

   l = mbstowcs(trash, stext, sizeof trash);

This works properly with the right alignment but not with the left one.

I'll RTFM and try to solve the problem, however if anyone is able to do
the work it would be faster (better?) than me.

Regards,
Claudio M. Alessi

</description>
    <dc:creator>Claudio M. Alessi</dc:creator>
    <dc:date>2008-11-24T23:21:53</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6789">
    <title>Re: OT : suckless foreign function interface</title>
    <link>http://permalink.gmane.org/gmane.comp.window-managers.dwm/6789</link>
    <description>

On 11/20/08, Christoph Lohmann &lt;20h-hp7/j35RrEI&lt; at &gt;public.gmane.org&gt; wrote:
The 9p idea made me think that there may be some simple way of doing it in plan9. I wrote a plumber interface. Its probably suboptimal, but it seems to work. plumber will even loads the handler :) 

Doing it this seems to suggest a removal of some of the stuff from the interpreter itself, because you only file io.

Another way is to use plumber code to write a dedicated ffi server mount it into the file system, but I dont know if it's any better.

I guess doing it this way is very close to the system() call approach.

sorry about the OT. but thanks a lot.


</description>
    <dc:creator>Fernan Bolando</dc:creator>
    <dc:date>2008-11-23T12:02:53</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6788">
    <title>Re: patch to hide sticky indicators, and add "nofocus" windows</title>
    <link>http://permalink.gmane.org/gmane.comp.window-managers.dwm/6788</link>
    <description>
Awesome, I use trayer and would like a nofocus feature as well.  I'll
try this out when I get a chance.

Thanks!


</description>
    <dc:creator>Thayer Williams</dc:creator>
    <dc:date>2008-11-21T18:58:51</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6787">
    <title>patch to hide sticky indicators, and add "nofocus" windows</title>
    <link>http://permalink.gmane.org/gmane.comp.window-managers.dwm/6787</link>
    <description>I do a lot of roaming, and long story short, nm-applet is nearly a
requirement for me.  No biggie, I just run it in stalonetray and set
it to all tags, shoved up in the corner, only I've ran into two
little issues:

1) sticky windows put an indicator on every tag in the bar.  I know
   it's on every tag, I put it there, tell me something I don't know.
   The patch hides any window which has tags=~0 from the indicators.
     ( this is simply the 2 lines in drawbar() )

2) since it's on every tag, every time i switch tags, it is the first
   thing focused.  I dont need to type into a system tray, so the
   patch also adds a flag to designate a window as "nofocus" which
   tells dwm to skip it when trying to find a window to focus.

   To do this, I had to add a way to designate a window as nofocus, so
   Rule.isfloating is now a bitmask Rule.flags, with enums for the 3
   settings right now: Normal, Floating, NoFocus.

So my config.h, for example, has this Rule:
   { "stalonetray", NULL, NULL, ~0, Floating|NoFocus },

Patch against tip attached, if anyone else is interested - it only adds 7
lines so its still nice and small. =)


Jeremy
# HG changeset patch
# User dinkumator-Re5JQEeQqe8AvxtiuMwx3w&lt; at &gt;public.gmane.org
# Date 1227289871 18000
# Node ID 811a88242229049dfd367487ae7312f238972179
# Parent  f6c3491c41f1a5e149eaa0e28d59e5b69d7682c1
hide sticky(tags=~0) windows from tag-bar indicators

also add ability to designate windows as "nofocus" ie, switching tags will
  never auto-focus "nofocus" windows, but will skip to next window.

Rules now have a bitmask for the 4th parameter instead of the boolean
isfloating.  You can now use the list of enums: Normal, Floating, NoFocus.

For example:
  { "stalonetray", NULL, NULL, ~0, Floating|NoFocus },

will make stalonetray never automatically recieve focus, it will always be
floating, and it will be on every tag, yet not put an indicator in the bar.

diff -r f6c3491c41f1 -r 811a88242229 config.def.h
--- a/config.def.hSun Nov 16 13:22:24 2008 +0000
+++ b/config.def.hFri Nov 21 12:51:11 2008 -0500
&lt; at &gt;&lt; at &gt; -21,9 +21,9 &lt; at &gt;&lt; at &gt;
 static unsigned int tagset[] = {1, 1}; /* after start, first tag is selected */
 
 static Rule rules[] = {
-/* class      instance    title       tags mask     isfloating */
-{ "Gimp",     NULL,       NULL,       0,            True },
-{ "Firefox",  NULL,       NULL,       1 &lt;&lt; 8,       True },
+/* class      instance    title       tags mask     flags */
+{ "Gimp",     NULL,       NULL,       0,            Floating },
+{ "Firefox",  NULL,       NULL,       1 &lt;&lt; 8,       Floating },
 };
 
 /* layout(s) */
diff -r f6c3491c41f1 -r 811a88242229 dwm.c
--- a/dwm.cSun Nov 16 13:22:24 2008 +0000
+++ b/dwm.cFri Nov 21 12:51:11 2008 -0500
&lt; at &gt;&lt; at &gt; -65,6 +65,7 &lt; at &gt;&lt; at &gt;
 enum { WMProtocols, WMDelete, WMState, WMLast };        /* default atoms */
 enum { ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle,
        ClkClientWin, ClkRootWin, ClkLast };             /* clicks */
+enum { Normal, Floating, NoFocus=2 };                   /* Client flags for Rules */
 
 typedef union {
 int i;
&lt; at &gt;&lt; at &gt; -89,7 +90,7 &lt; at &gt;&lt; at &gt;
 int basew, baseh, incw, inch, maxw, maxh, minw, minh;
 int bw, oldbw;
 unsigned int tags;
-Bool isfixed, isfloating, isurgent;
+Bool isfixed, isfloating, isurgent, nofocus;
 Client *next;
 Client *snext;
 Window win;
&lt; at &gt;&lt; at &gt; -127,7 +128,7 &lt; at &gt;&lt; at &gt;
 const char *instance;
 const char *title;
 unsigned int tags;
-Bool isfloating;
+unsigned int flags;
 } Rule;
 
 /* function declarations */
&lt; at &gt;&lt; at &gt; -258,7 +259,8 &lt; at &gt;&lt; at &gt;
 if((!r-&gt;title || strstr(c-&gt;name, r-&gt;title))
 &amp;&amp; (!r-&gt;class || (ch.res_class &amp;&amp; strstr(ch.res_class, r-&gt;class)))
 &amp;&amp; (!r-&gt;instance || (ch.res_name &amp;&amp; strstr(ch.res_name, r-&gt;instance)))) {
-c-&gt;isfloating = r-&gt;isfloating;
+c-&gt;isfloating = (r-&gt;flags&amp;Floating)!=0;
+c-&gt;nofocus = (r-&gt;flags&amp;NoFocus)!=0;
 c-&gt;tags |= r-&gt;tags &amp; TAGMASK;
 }
 }
&lt; at &gt;&lt; at &gt; -498,7 +500,8 &lt; at &gt;&lt; at &gt;
 Client *c;
 
 for(c = clients; c; c = c-&gt;next) {
-occ |= c-&gt;tags;
+if(c-&gt;tags!=TAGMASK)
+occ |= c-&gt;tags;
 if(c-&gt;isurgent)
 urg |= c-&gt;tags;
 }
&lt; at &gt;&lt; at &gt; -508,7 +511,7 &lt; at &gt;&lt; at &gt;
 dc.w = TEXTW(tags[i]);
 col = tagset[seltags] &amp; 1 &lt;&lt; i ? dc.sel : dc.norm;
 drawtext(tags[i], col, urg &amp; 1 &lt;&lt; i);
-drawsquare(sel &amp;&amp; sel-&gt;tags &amp; 1 &lt;&lt; i, occ &amp; 1 &lt;&lt; i, urg &amp; 1 &lt;&lt; i, col);
+drawsquare(sel &amp;&amp; tagset[seltags] &amp; sel-&gt;tags &amp; 1 &lt;&lt; i, occ &amp; 1 &lt;&lt; i, urg &amp; 1 &lt;&lt; i, col);
 dc.x += dc.w;
 }
 if(blw &gt; 0) {
&lt; at &gt;&lt; at &gt; -610,6 +613,7 &lt; at &gt;&lt; at &gt;
 
 void
 focus(Client *c) {
+Client *inc=c;
 if(!c || !ISVISIBLE(c))
 for(c = stack; c &amp;&amp; !ISVISIBLE(c); c = c-&gt;snext);
 if(sel &amp;&amp; sel != c) {
&lt; at &gt;&lt; at &gt; -619,6 +623,9 &lt; at &gt;&lt; at &gt;
 if(c) {
 detachstack(c);
 attachstack(c);
+}
+while( !inc &amp;&amp; c &amp;&amp; c-&gt;nofocus ) c=c-&gt;next;
+if(c) {
 grabbuttons(c, True);
 XSetWindowBorder(dpy, c-&gt;win, dc.sel[ColBorder]);
 XSetInputFocus(dpy, c-&gt;win, RevertToPointerRoot, CurrentTime);
&lt; at &gt;&lt; at &gt; -644,17 +651,17 &lt; at &gt;&lt; at &gt;
 if(!sel)
 return;
 if (arg-&gt;i &gt; 0) {
-for(c = sel-&gt;next; c &amp;&amp; !ISVISIBLE(c); c = c-&gt;next);
+for(c = sel-&gt;next; c &amp;&amp; !ISVISIBLE(c) &amp;&amp; c-&gt;nofocus; c = c-&gt;next);
 if(!c)
-for(c = clients; c &amp;&amp; !ISVISIBLE(c); c = c-&gt;next);
+for(c = clients; c &amp;&amp; !ISVISIBLE(c) &amp;&amp; c-&gt;nofocus; c = c-&gt;next);
 }
 else {
 for(i = clients; i != sel; i = i-&gt;next)
-if(ISVISIBLE(i))
+if(ISVISIBLE(i) &amp;&amp; i-&gt;nofocus)
 c = i;
 if(!c)
 for(; i; i = i-&gt;next)
-if(ISVISIBLE(i))
+if(ISVISIBLE(i) &amp;&amp; i-&gt;nofocus)
 c = i;
 }
 if(c) {
</description>
    <dc:creator>Jeremy Jay</dc:creator>
    <dc:date>2008-11-21T18:38:29</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6786">
    <title>Re: [dvtm]: fix for status bar</title>
    <link>http://permalink.gmane.org/gmane.comp.window-managers.dwm/6786</link>
    <description>
Problem is that strlen is used to calculate character width, which
doesn't work for utf8 therefore the statusbar content is not properly
aligned.

 http://www.brain-dump.org/tmp/statusbar.png

Cheers,
Marc

</description>
    <dc:creator>Marc Andre Tanner</dc:creator>
    <dc:date>2008-11-20T21:48:30</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6785">
    <title>Re: patch to not reparent children to init</title>
    <link>http://permalink.gmane.org/gmane.comp.window-managers.dwm/6785</link>
    <description>

Sweet!

For the record, I've never had to work so hard to justify such a small
patch to a FOSS project.  It was a pleasant experience that makes me
feel better about the larger codebase!

Also for the record, I couldn't care less whether my toggleable
setlayout patch goes in upstream.  You can put the patch's author down
in the "apathy" column.

Neale


</description>
    <dc:creator>Neale Pickett</dc:creator>
    <dc:date>2008-11-20T20:36:23</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6784">
    <title>Re: make setlayout toggle</title>
    <link>http://permalink.gmane.org/gmane.comp.window-managers.dwm/6784</link>
    <description>Definitively i do _not_ want to add such code in upstream.

Claudio M. Alessi

</description>
    <dc:creator>Claudio M. Alessi</dc:creator>
    <dc:date>2008-11-20T19:34:12</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6783">
    <title>Re: patch to not reparent children to init</title>
    <link>http://permalink.gmane.org/gmane.comp.window-managers.dwm/6783</link>
    <description>2008/11/20 Neale Pickett &lt;neale-qIOhqoGMB3Idnm+yROfE0A&lt; at &gt;public.gmane.org&gt;:

I'm fine to add it in 5.3, since it seems to work quite well.

Kind regards,
Anselm


</description>
    <dc:creator>Anselm R Garbe</dc:creator>
    <dc:date>2008-11-20T18:01:06</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6782">
    <title>Re: patch to not reparent children to init</title>
    <link>http://permalink.gmane.org/gmane.comp.window-managers.dwm/6782</link>
    <description>

So what's the verdict on this?

Neale


</description>
    <dc:creator>Neale Pickett</dc:creator>
    <dc:date>2008-11-20T17:57:17</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6781">
    <title>Re: make setlayout toggle</title>
    <link>http://permalink.gmane.org/gmane.comp.window-managers.dwm/6781</link>
    <description>2008/11/20 Claudio M. Alessi &lt;smoppy-Re5JQEeQqe8AvxtiuMwx3w&lt; at &gt;public.gmane.org&gt;:

Am I right that you are against re-adding the toggle?

Kind regards,
Anselm


</description>
    <dc:creator>Anselm R Garbe</dc:creator>
    <dc:date>2008-11-20T17:56:42</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6780">
    <title>Re: make setlayout toggle</title>
    <link>http://permalink.gmane.org/gmane.comp.window-managers.dwm/6780</link>
    <description>You shouldn't care about the previous layout, it's not a memory game.
Users change layouts once they need it, then use another layout in
order to fit their new needs and so forth. Changing the layout is not
an hard task, i think. I already have some feature i never use but i
wouldn't make a dwm-lite release. Please add only real useful code :-)

Regards,
Claudio M. Alessi

</description>
    <dc:creator>Claudio M. Alessi</dc:creator>
    <dc:date>2008-11-20T17:51:11</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6779">
    <title>Re: [dvtm]: fix for status bar</title>
    <link>http://permalink.gmane.org/gmane.comp.window-managers.dwm/6779</link>
    <description>You're welcome! I always use that script with dvtm without any problem.
Can you tell me what's wrong (maybe attaching screenshot)? I have more
time now to work on it.

Regards,
Claudio M. Alessi

</description>
    <dc:creator>Claudio M. Alessi</dc:creator>
    <dc:date>2008-11-20T17:22:34</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.window-managers.dwm/6778">
    <title>Re: dwm for win32</title>
    <link>http://permalink.gmane.org/gmane.comp.window-managers.dwm/6778</link>
    <description>Am Tue, 18 Nov 2008 19:35:36 +0000
schrieb "Anselm R Garbe" &lt;garbeam-Re5JQEeQqe8AvxtiuMwx3w&lt; at &gt;public.gmane.org&gt;:


Yes, I at least found:
# WindowSizer (shareware, closed source)
# WinSplit (freeware, closed source)
# DockBox (NOW GPL)
# GridMove (donationware, not closed source) - Actually GridMove was the
inspiration for bug.n.
But as you stated before, all those projects were not satisfying the
needs of dynamic window management; thus I looked for an open source
project, which I possibly could adapt. Now (since 20080910) DockBox - or
maybe even better: HashTWM (same author) - is under GPL, so I will take
a closer look.


Are you wainting for a stabilized API (since GINA already has gone in
Vista)? Are you still heading for a shell replacement?

Kind regards, joten


</description>
    <dc:creator>joten-KuiJ5kEpwI6ELgA04lAiVw&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-11-20T12:38:29</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.window-managers.dwm">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.window-managers.dwm</link>
  </textinput>
</rdf:RDF>
