diff options
author | rsc <devnull@localhost> | 2004-04-24 04:52:49 +0000 |
---|---|---|
committer | rsc <devnull@localhost> | 2004-04-24 04:52:49 +0000 |
commit | 78802e6993a0f44d7ac7ff7d0922d55d1b089dac (patch) | |
tree | 2131829fda5ff9ee9f8ef8c88695c361cc4ba335 /src/cmd | |
parent | 272fd660b41d7ec793bc9d8972878510f3b66055 (diff) | |
download | plan9port-78802e6993a0f44d7ac7ff7d0922d55d1b089dac.tar.gz plan9port-78802e6993a0f44d7ac7ff7d0922d55d1b089dac.tar.bz2 plan9port-78802e6993a0f44d7ac7ff7d0922d55d1b089dac.zip |
various bug fixes
Diffstat (limited to 'src/cmd')
-rw-r--r-- | src/cmd/9term/9term.c | 4 | ||||
-rw-r--r-- | src/cmd/auxstats/Linux.c | 12 | ||||
-rw-r--r-- | src/cmd/rio/README | 2 | ||||
-rw-r--r-- | src/cmd/rio/event.c | 15 | ||||
-rw-r--r-- | src/cmd/rio/manage.c | 7 |
5 files changed, 38 insertions, 2 deletions
diff --git a/src/cmd/9term/9term.c b/src/cmd/9term/9term.c index df27261d..a77dc32b 100644 --- a/src/cmd/9term/9term.c +++ b/src/cmd/9term/9term.c @@ -544,9 +544,13 @@ mouse(void) domenu2(2); break; case 4: + bouncemouse(&t.m); + break; + /* if(aselect(&q0, &q1, plumbcolor) >= 0) plumb(q0, q1); break; + */ } } diff --git a/src/cmd/auxstats/Linux.c b/src/cmd/auxstats/Linux.c index 06e9d422..d4c2a29c 100644 --- a/src/cmd/auxstats/Linux.c +++ b/src/cmd/auxstats/Linux.c @@ -55,6 +55,7 @@ xmeminfo(int first) { int i; vlong tot, used; + vlong mtot, mfree; static int fd = -1; if(first){ @@ -63,9 +64,10 @@ xmeminfo(int first) } readfile(fd); + mtot = 0; for(i=0; i<nline; i++){ tokens(i); - if(ntok < 4) + if(ntok < 3) continue; tot = atoll(tok[1]); used = atoll(tok[2]); @@ -73,6 +75,14 @@ xmeminfo(int first) Bprint(&bout, "mem =%lld %lld\n", used/1024, tot/1024); else if(strcmp(tok[0], "Swap:") == 0) Bprint(&bout, "swap =%lld %lld\n", used/1024, tot/1024); + else if(strcmp(tok[0], "MemTotal:") == 0) + mtot = atoll(tok[1]); /* kb */ + else if(strcmp(tok[0], "MemFree:") == 0){ + mfree = atoll(tok[1]); + if(mtot < mfree) + continue; + Bprint(&bout, "mem =%lld %lld\n", mtot-mfree, mtot); + } } } diff --git a/src/cmd/rio/README b/src/cmd/rio/README index 15c9a77d..5ec193b8 100644 --- a/src/cmd/rio/README +++ b/src/cmd/rio/README @@ -16,7 +16,7 @@ Current incompatibilities that would be nice to fix: can put up the usual b3 menu. Axel Belinfante contributed the code to handle border grabbing -for resize. +for resize and various other improvements. The original README is below. diff --git a/src/cmd/rio/event.c b/src/cmd/rio/event.c index ff053776..a14c4acc 100644 --- a/src/cmd/rio/event.c +++ b/src/cmd/rio/event.c @@ -352,6 +352,7 @@ property(XPropertyEvent *e) Atom a; int delete; Client *c; + long msize; /* we don't set curtime as nothing here uses it */ a = e->atom; @@ -378,6 +379,15 @@ property(XPropertyEvent *e) case XA_WM_TRANSIENT_FOR: gettrans(c); return; + case XA_WM_HINTS: + case XA_WM_SIZE_HINTS: + case XA_WM_ZOOM_HINTS: + /* placeholders to not forget. ignore for now. -Axel */ + return; + case XA_WM_NORMAL_HINTS: + if (XGetWMNormalHints(dpy, c->window, &c->size, &msize) == 0 || c->size.flags == 0) + c->size.flags = PSize; /* not specified - punt */ + return; } if (a == _rio_hold_mode) { c->hold = getiprop(c->window, _rio_hold_mode); @@ -404,7 +414,12 @@ reparent(XReparentEvent *e) if ((s = getscreen(e->parent)) != 0) { c = getclient(e->window, 1); if (c != 0 && (c->dx == 0 || c->dy == 0)) { + /* flush any errors */ + ignore_badwindow = 1; XGetWindowAttributes(dpy, c->window, &attr); + XSync(dpy, False); + ignore_badwindow = 0; + c->x = attr.x; c->y = attr.y; c->dx = attr.width; diff --git a/src/cmd/rio/manage.c b/src/cmd/rio/manage.c index 2c8f71c7..11892a06 100644 --- a/src/cmd/rio/manage.c +++ b/src/cmd/rio/manage.c @@ -359,8 +359,11 @@ getcmaps(Client *c) XWindowAttributes attr; if (!c->init) { + ignore_badwindow = 1; XGetWindowAttributes(dpy, c->window, &attr); c->cmap = attr.colormap; + XSync(dpy, False); + ignore_badwindow = 0; } n = _getprop(c->window, wm_colormaps, XA_WINDOW, 100L, (void*)&cw); @@ -381,9 +384,13 @@ getcmaps(Client *c) if (cw[i] == c->window) c->wmcmaps[i] = c->cmap; else { + /* flush any errors (e.g., caused by mozilla tabs) */ + ignore_badwindow = 1; XSelectInput(dpy, cw[i], ColormapChangeMask); XGetWindowAttributes(dpy, cw[i], &attr); c->wmcmaps[i] = attr.colormap; + XSync(dpy, False); + ignore_badwindow = 0; } } } |