wmii

git clone git://oldgit.suckless.org/wmii/
Log | Files | Refs | README | LICENSE

commit f08f943282722324dc8cef37b9c2e17a6482add7
parent a8f1f17fb85925c017c2bbfaf1c4f8efb152341f
Author: Sander van Dijk <sander@wmii.de>
Date:   Sat, 21 Jan 2006 22:45:11 +0100

cure wmiiwm sudden death on removal of last remaining page


Diffstat:
cmd/wm/page.c | 13+++++++++----
rc/wmiirc | 6+++---
2 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/cmd/wm/page.c b/cmd/wm/page.c @@ -103,10 +103,12 @@ destroy_page(Page * p) } if(p == pages) { - if(p->next) + if(p->next) { p->next->prev = nil; - pages = p->next; - pages->index = 0; + pages = p->next; + pages->index = 0; + } else + pages = nil; } else { p->prev->next = p->next; if(p->next) @@ -132,8 +134,11 @@ destroy_page(Page * p) void focus_page(Page * p) { - if(!p) + if(!p) { + XSetInputFocus(dpy, PointerRoot, RevertToPointerRoot, CurrentTime); + invoke_wm_event(def[WM_EVENT_PAGE_UPDATE]); return; + } if((p != selpage)) { if(selpage) { diff --git a/rc/wmiirc b/rc/wmiirc @@ -111,9 +111,9 @@ wmiir write /wm/event/clientupdate \ 'text=`{wmiir read /wm/sel/layout/sel/frame/sel/name}' ^\ 'wmiir write /bar/'^$clab^'/data $"text' wmiir write /wm/event/pageupdate \ -'wmiir write /bar/'^$plab^'/data `{wmiir read /wm/sel/name} &&' ^\ -'wmiir write /bar/'^$klab^'/data `{wmiir read /keys/lookup|sed ''s|/mode/||''} && ' ^\ -'wmiir write /bar/'^$llab^'/data `{wmiir read /wm/sel/layout/sel/name}' +'text=`{wmiir read /wm/sel/name}; wmiir write /bar/'^$plab^'/data $"text &&' ^\ +'text=`{wmiir read /keys/lookup|sed ''s|/mode/||''}; wmiir write /bar/'^$klab^'/data $"text && ' ^\ +'text=`{wmiir read /wm/sel/layoutname}; wmiir write /bar/'^$llab^'/data $"text' for(page in `{wmiir read /wm | grep '^[0-9]'}) { framesconf /wm/$page/layout/float/frame