Re: [dwm] Stats script

2009-05-09 Thread Martin Oppegaard
On Sat, May 09, 2009 at 11:49:53AM +0200, sta...@cs.tu-berlin.de wrote:
 I noticed I very rarely look at most of the stuff in this status bar thou=
 g,
 so I am thinking of 2 staged status query -- e.g. date/time and temp in t=
 he
 dwm status bar; The rest can be queried 'on demand' in the console.

Indeed.  It's mostly just fun to create, but is never usable.  Now I've only
got the clock.

 
 --=20
  cheers
  stanio_
 



Re: [dwm] dwm's future

2009-04-29 Thread Martin Oppegaard
On Wed, Apr 29, 2009 at 06:52:46AM +0100, Szabolcs Nagy wrote:
 On 4/28/09, Martin Oppegaard mar...@deathaven.com wrote:
  Are there any BSD-style licensed equivalents?
 
 
 scipy.org
 

And use Ipython!



Re: [dwm] dwm's future

2009-04-29 Thread Martin Oppegaard
On Wed, Apr 29, 2009 at 10:35:12AM +0200, Preben Randhol wrote:
 On Wed, 29 Apr 2009 10:25:55 +0200
 Martin Oppegaard mar...@deathaven.com wrote:
 
  I like free software.
 
 But not GPL?
 
It's just another lock in which is getting too big. 



Re: [dwm] dwm's future

2009-04-29 Thread Martin Oppegaard
On Wed, Apr 29, 2009 at 12:58:23PM +0200, Preben Randhol wrote:
 On Wed, 29 Apr 2009 10:45:35 +0200
 Martin Oppegaard mar...@deathaven.com wrote:
 
  On Wed, Apr 29, 2009 at 10:35:12AM +0200, Preben Randhol wrote:
   On Wed, 29 Apr 2009 10:25:55 +0200
   Martin Oppegaard mar...@deathaven.com wrote:
   
I like free software.
   
   But not GPL?
   
  It's just another lock in which is getting too big. 
  
 
 Sure, if you want to make proprietary software...
 
If you want to be free from wacko organisations.

 -- 
 Preben Randhol
 



Re: [dwm] dwm's future

2009-04-29 Thread Martin Oppegaard
On Wed, Apr 29, 2009 at 02:08:20PM +0200, Matthias-Christian Ott wrote:
 On Wed, Apr 29, 2009 at 01:05:40PM +0200, Martin Oppegaard wrote:
  On Wed, Apr 29, 2009 at 12:58:23PM +0200, Preben Randhol wrote:
   On Wed, 29 Apr 2009 10:45:35 +0200
   Martin Oppegaard mar...@deathaven.com wrote:
   
On Wed, Apr 29, 2009 at 10:35:12AM +0200, Preben Randhol wrote:
 On Wed, 29 Apr 2009 10:25:55 +0200
 Martin Oppegaard mar...@deathaven.com wrote:
 
  I like free software.
 
 But not GPL?
 
It's just another lock in which is getting too big. 

   
   Sure, if you want to make proprietary software...
   
  If you want to be free from wacko organisations.
 
 Are you sure, you know what you are talking about? At least all people I
 know from Free Software Foundation Europe are quite friendly and really care
 about Free Software and fight actively against proprietary software. They
 are by no means wackos.

Of course they are!  I'm just being sceptical.

 
 But as mentioned this discussion could go on and on without a result.
  
   -- 
   Preben Randhol
 
 Regards,
 Matthias-Christian
 



Re: [dwm] dwm's future

2009-04-28 Thread Martin Oppegaard
On Tue, Apr 28, 2009 at 10:03:47PM +0200, Preben Randhol wrote:
 On Tue, 28 Apr 2009 22:00:07 +0200
 Preben Randhol rand...@pvv.org wrote:
 
  That said, in most cases there is now no reason no to choose Matlab
  over Octave.
  
 EDIT
  That said, in most cases there is now no reason to choose Matlab
  over Octave.
 /EDIT
 
Are there any BSD-style licensed equivalents?



Re: [dwm] dwm's future

2009-04-27 Thread Martin Oppegaard
On Mon, Apr 27, 2009 at 11:47:19AM +0200, Preben Randhol wrote:
 Personally I would like to have one dwm as is, and one gdwm (or some
 better name) with more bells and whistles and dependencies.

http://wmii.suckless.org/

Or is Wmii dead in the water?



Re: [dwm] dwm's future

2009-04-27 Thread Martin Oppegaard
On Mon, Apr 27, 2009 at 06:57:13PM +0200, Preben Randhol wrote:
 On Mon, 27 Apr 2009 13:51:24 +0200
 Martin Oppegaard mar...@deathaven.com wrote:
 
  On Mon, Apr 27, 2009 at 11:47:19AM +0200, Preben Randhol wrote:
   Personally I would like to have one dwm as is, and one gdwm (or some
   better name) with more bells and whistles and dependencies.
  
  http://wmii.suckless.org/
  
  Or is Wmii dead in the water?
  
 
 Well actually I wan't thinking of wmii as it behaves differently from
 dwm. 
 
I can't even remember how Wmii feels like anymore, after changing to Dwm
less than a year ago.



Re: [dwm] Suckess Code Management

2009-03-13 Thread Martin Oppegaard
On Thu, Mar 12, 2009 at 03:35:18PM -0400, James Turner wrote:
 I'm also running 0.4a from packages on openbsd 4.4 without any issues. I
 haven't seen any characters get eaten. What $TERM are you running? How
 often do your chars get eaten? What do you mean by eaten? You type and
 half don't ever make it to the screen?

OpenBSD version 4.4.  By eaten, I mean that it looks like I'm in replace
mode when I type, but the line gets shorter (eaten up buy tmux) when I
undo the changes, too!  If I can scroll down so that the changes gets out
of the screen, the text is correct when I scroll back.

I've been setting TERM to xterm-color in .zshrc for some reason, but
after some testing, the problem seems to have gone away when I let TERM
get set automatically, and it gets set to screen in tmux.  Does that make
any sense?

- Martin



Re: [dwm] Suckess Code Management

2009-03-13 Thread Martin Oppegaard
On Fri, Mar 13, 2009 at 12:52:14AM -0700, David E. Thiel wrote:
 On Fri, Mar 13, 2009 at 07:38:24AM +0100, Martin Oppegaard wrote:
  On Thu, Mar 12, 2009 at 03:35:18PM -0400, James Turner wrote:
   I'm also running 0.4a from packages on openbsd 4.4 without any issues. I
   haven't seen any characters get eaten. What $TERM are you running? How
   often do your chars get eaten? What do you mean by eaten? You type and
   half don't ever make it to the screen?
  
  OpenBSD version 4.4.  By eaten, I mean that it looks like I'm in replace
  mode when I type, but the line gets shorter (eaten up buy tmux) when I
  undo the changes, too!  If I can scroll down so that the changes gets out
  of the screen, the text is correct when I scroll back.
  
  I've been setting TERM to xterm-color in .zshrc for some reason, but
  after some testing, the problem seems to have gone away when I let TERM
  get set automatically, and it gets set to screen in tmux.  Does that make
  any sense?
 
 Try setting set-window-option -g utf8 on in your .tmux.conf and
 starting it with tmux -u. I had things getting gobbled all over the
 place in mutt before I switched to full unicode

OpenBSD doesn't support utf8, so would doing this have any effect at all?
In any event, I tried, and it didn't change anything.  Nvi is fine when
TERM is screen, crap when TERM is xterm(-color), but thanks for the tip.

- Martin



Re: [dwm] Suckess Code Management

2009-03-12 Thread Martin Oppegaard
Hi!

On Thu, Mar 12, 2009 at 12:30:02PM -0400, James Turner wrote:
 openbsd, dwm, xterm, nvi, opencvs, tmux, mutt, irssi

How are tmux and nvi going along at your place?  Here, tmux eat the 
characters,
seemingly at random.  mg and vim are not affected.

I've tried tmux 0.4a precompiled, and 0.7 from HEAD of ports.

 
 -- 
 James Turner
 BSD Group Consulting
 http://www.bsdgroup.org
 

On topic: openbsd, dwm, xterm, nvi, tmux/screen, mutt, ircII/bitlbee,
mpd/mpc, mplayer, opera.

- Martin



Re: [dwm] Cycle urgent windows patch for dwm-4.9

2008-04-05 Thread Martin Oppegaard
On Tue, Apr 01, 2008 at 08:22:27PM -0400, Jeremy O'Brien wrote:
 On Sun, Mar 30, 2008 at 03:01:15PM +0200, Martin Oppegaard wrote:
  Have updated the patch for mercurial tip.
  I also add a patch which implements one layout per tag. Haven't looked
  at the old one, so I can't say if it's an update or not.
  
 
 Hi there. I tried your cycleurgent patch, and I like it alot. Only one
 minor problem. It won't cycle if you are on an empty tag. Not sure if
 that was intended or not, and I understand people won't typically be on
 a blank tag, but I figured you'd want to know for robustness and
 whatnot. Thank you.
 
Indeed it is a design feature. Not hard to change, tho, which I will do
while I fix a real bug I found with having mutiple tags selected.




Re: [dwm] Cycle urgent windows patch for dwm-4.9

2008-03-30 Thread Martin Oppegaard
Have updated the patch for mercurial tip.
I also add a patch which implements one layout per tag. Haven't looked
at the old one, so I can't say if it's an update or not.

On Thu, Mar 27, 2008 at 05:31:22PM +0100, Martin Oppegaard wrote:
 Hi,
 
 I've made a function for cycling through the windows with the urgent flag
 set. The idea is that when first called, you start a cycle which on
 completion will give focus back to the window which had it initially. This
 window's prevtags are saved. Each call to focus() breaks the cycle, so
 you don't have to complete it to continue using dwm as normal.
 
 To be fair, I've only tested the patch with one urgent window. If you
 have any ideas as to how to trigger the urgent flag manually,
 please let me know.
 
 Best regards,
 
 Martin Oppegaard

 --- dwm-4.8/dwm.c 2008-03-13 17:55:43.0 +0100
 +++ mydwm-4.8/dwm.c   2008-03-27 16:34:22.0 +0100
 @@ -186,6 +186,7 @@ void updatetitle(Client *c);
  void updatewmhints(Client *c);
  void view(const char *arg);
  void viewprevtag(const char *arg);   /* views previous selected tags */
 +void cycleurgent(const char *arg);
  int xerror(Display *dpy, XErrorEvent *ee);
  int xerrordummy(Display *dpy, XErrorEvent *ee);
  int xerrorstart(Display *dpy, XErrorEvent *ee);
 @@ -219,6 +220,9 @@ Bool *seltags;
  Client *clients = NULL;
  Client *sel = NULL;
  Client *stack = NULL;
 +Client *initucycl; /* initialized urgent cycle */
 +Bool *iucprevtags; /* the urgent-cycle initiator's previous tags */
 +Bool inucycl = False; /* in urgent cycle */
  Cursor cursor[CurLast];
  Display *dpy;
  DC dc = {0};
 @@ -661,6 +665,7 @@ focus(Client *c) {
   grabbuttons(c, True);
   }
   sel = c;
 +inucycl = False;
   if(c) {
   XSetWindowBorder(dpy, c-win, dc.sel[ColBorder]);
   XSetInputFocus(dpy, c-win, RevertToPointerRoot, CurrentTime);
 @@ -1497,6 +1502,7 @@ setup(void) {
   /* init tags */
   seltags = emallocz(TAGSZ);
   prevtags = emallocz(TAGSZ);
 +iucprevtags = emallocz(TAGSZ);
   seltags[0] = prevtags[0] = True;
  
   /* init layouts */
 @@ -1842,6 +1848,36 @@ viewprevtag(const char *arg) {
   arrange();
  }
  
 +void
 +cycleurgent(const char *arg) {
 +Client *c;
 +
 +if(!sel)
 +return;
 +
 +if(!inucycl) {
 +initucycl = sel;
 +memcpy(iucprevtags, prevtags, TAGSZ);
 +}
 +
 + for(c = clients; c; c = c-next) {
 +if(c-isurgent) {
 +memcpy(prevtags, seltags, TAGSZ);
 +memcpy(seltags, c-tags, TAGSZ);
 +focus(c);
 +arrange();
 +inucycl = True;
 +
 +return;
 +}
 +}
 +
 +memcpy(prevtags, iucprevtags, TAGSZ);
 +memcpy(seltags, initucycl-tags, TAGSZ);
 +focus(initucycl);
 +arrange();
 +}
 +
  /* There's no way to check accesses to destroyed windows, thus those cases 
 are
   * ignored (especially on UnmapNotify's).  Other types of errors call Xlibs
   * default error handler, which may call exit.  */

diff -r f330c3a2dc76 config.def.h
--- a/config.def.h  Tue Mar 25 09:41:14 2008
+++ b/config.def.h  Sat Mar 29 10:27:32 2008
@@ -54,6 +54,7 @@
{ MODKEY,   XK_r,   reapply,NULL },
{ MODKEY,   XK_h,   setmfact,   -0.05 
},
{ MODKEY,   XK_l,   setmfact,   +0.05 
},
+{ MODKEY,   XK_u,   cycleurgent,NULL },
{ MODKEY,   XK_Return,  zoom,   NULL },
{ MODKEY,   XK_Tab, viewprevtag,NULL },
{ MODKEY|ShiftMask, XK_c,   killclient, NULL },
diff -r f330c3a2dc76 dwm.c
--- a/dwm.c Tue Mar 25 09:41:14 2008
+++ b/dwm.c Sat Mar 29 10:27:32 2008
@@ -202,6 +202,7 @@
 void updatewmhints(Client *c);
 void view(const char *arg);
 void viewprevtag(const char *arg); /* views previous selected tags */
+void cycleurgent(const char *arg);
 int xerror(Display *dpy, XErrorEvent *ee);
 int xerrordummy(Display *dpy, XErrorEvent *ee);
 int xerrorstart(Display *dpy, XErrorEvent *ee);
@@ -235,6 +236,9 @@
 Client *clients = NULL;
 Client *sel = NULL;
 Client *stack = NULL;
+Client *initucycle = NULL; /* initiated urgent-cycle */
+Bool *iucprevtags; /* the urgent-cycle initiator's previous tags */
+Bool inucycle = False; /* in urgent-cycle */
 Cursor cursor[CurLast];
 Display *dpy;
 DC dc = {0};
@@ -692,6 +696,7 @@
grabbuttons(c, True);
}
sel = c;
+inucycle = False;
if(c) {
XSetWindowBorder(dpy, c-win, dc.sel[ColBorder]);
XSetInputFocus(dpy, c-win, RevertToPointerRoot, CurrentTime);
@@ -1533,6 +1538,7 @@
/* init tags */
seltags = emallocz(TAGSZ);
prevtags = emallocz(TAGSZ);
+iucprevtags = emallocz(TAGSZ);
seltags[0] = prevtags[0] = True;
 
/* init

[dwm] Cycle urgent windows patch for dwm-4.8

2008-03-27 Thread Martin Oppegaard
Hi,

I've made a function for cycling through the windows with the urgent flag
set. The idea is that when first called, you start a cycle which on
completion will give focus back to the window which had it initially. This
window's prevtags are saved. Each call to focus() breaks the cycle, so
you don't have to complete it to continue using dwm as normal.

To be fair, I've only tested the patch with one urgent window. If you
have any ideas as to how to trigger the urgent flag manually,
please let me know.

Best regards,

Martin Oppegaard
--- dwm-4.8/dwm.c   2008-03-13 17:55:43.0 +0100
+++ mydwm-4.8/dwm.c 2008-03-27 16:34:22.0 +0100
@@ -186,6 +186,7 @@ void updatetitle(Client *c);
 void updatewmhints(Client *c);
 void view(const char *arg);
 void viewprevtag(const char *arg); /* views previous selected tags */
+void cycleurgent(const char *arg);
 int xerror(Display *dpy, XErrorEvent *ee);
 int xerrordummy(Display *dpy, XErrorEvent *ee);
 int xerrorstart(Display *dpy, XErrorEvent *ee);
@@ -219,6 +220,9 @@ Bool *seltags;
 Client *clients = NULL;
 Client *sel = NULL;
 Client *stack = NULL;
+Client *initucycl; /* initialized urgent cycle */
+Bool *iucprevtags; /* the urgent-cycle initiator's previous tags */
+Bool inucycl = False; /* in urgent cycle */
 Cursor cursor[CurLast];
 Display *dpy;
 DC dc = {0};
@@ -661,6 +665,7 @@ focus(Client *c) {
grabbuttons(c, True);
}
sel = c;
+inucycl = False;
if(c) {
XSetWindowBorder(dpy, c-win, dc.sel[ColBorder]);
XSetInputFocus(dpy, c-win, RevertToPointerRoot, CurrentTime);
@@ -1497,6 +1502,7 @@ setup(void) {
/* init tags */
seltags = emallocz(TAGSZ);
prevtags = emallocz(TAGSZ);
+iucprevtags = emallocz(TAGSZ);
seltags[0] = prevtags[0] = True;
 
/* init layouts */
@@ -1842,6 +1848,36 @@ viewprevtag(const char *arg) {
arrange();
 }
 
+void
+cycleurgent(const char *arg) {
+Client *c;
+
+if(!sel)
+return;
+
+if(!inucycl) {
+initucycl = sel;
+memcpy(iucprevtags, prevtags, TAGSZ);
+}
+
+   for(c = clients; c; c = c-next) {
+if(c-isurgent) {
+memcpy(prevtags, seltags, TAGSZ);
+memcpy(seltags, c-tags, TAGSZ);
+focus(c);
+arrange();
+inucycl = True;
+
+return;
+}
+}
+
+memcpy(prevtags, iucprevtags, TAGSZ);
+memcpy(seltags, initucycl-tags, TAGSZ);
+focus(initucycl);
+arrange();
+}
+
 /* There's no way to check accesses to destroyed windows, thus those cases are
  * ignored (especially on UnmapNotify's).  Other types of errors call Xlibs
  * default error handler, which may call exit.  */