Hi Nicholas et al.,
seeing that the previous issue (excessive redraws) seems to be solved (have not tested but patch seems clear), i want to bring up another minor issue. Mouse scroll wheel events are only correctly passed if mouse-select-* is off.. while ncmpcpp can handle mouse wheel input regardless, f.e. *less* can not. Test case:
1) open less with text, scroll mouse.
2) toggle both mouse-select-* on or off, retest scrolling
Coincidently, for months i wanted to have window switching via mouse wheel, and investigating the other problem i just found out about mouse-select-window. Already i was starting to read and mess with the code, and i really would have preferred to send in a working patch. Alas, time is sparse, and you Nicholas are doing a fabulous job as FOSS maintainer, so i decided to divert my effort to report this wish to you: it would be highly cool if one could cycle through the windows by mouse-wheeling over the window bar. Bet you can do it in like.. few minutes.. hey mom [..... .. *tinker* .. .. ]
well actually implementing that was pretty easy - behold, mouse wheel window 
cycling! Couldn't nail down the other issue though.
#regards/marcel.
--- server-client.c.orig        2011-04-28 17:27:21.228292911 +0200
+++ server-client.c     2011-04-28 17:27:00.067368016 +0200
@@ -324,11 +324,20 @@
                        server_redraw_window_borders(w);
                        wp = w->active;
                }
-               if (mouse->y + 1 == c->tty.sy && mouse->b == MOUSE_UP &&
+               if (mouse->y + 1 == c->tty.sy &&
                    options_get_number(oo, "mouse-select-window") &&
                    options_get_number(oo, "status")) {
-                       status_set_window_at(c, mouse->x);
-                       return;
+                       if (mouse->b == MOUSE_UP) {
+                               status_set_window_at(c, mouse->x);
+                               return;
+                       }
+                       if (mouse->b & MOUSE_45) {
+                               if ((mouse->b & MOUSE_BUTTON) == MOUSE_1)
+                                       session_previous(c->session, 0);
+                               else if ((mouse->b & MOUSE_BUTTON) == MOUSE_2)
+                                       session_next(c->session, 0);
+                               return;
+                       }
                }
                window_pane_mouse(wp, c->session, mouse);
                return;
------------------------------------------------------------------------------
WhatsUp Gold - Download Free Network Management Software
The most intuitive, comprehensive, and cost-effective network 
management toolset available today.  Delivers lowest initial 
acquisition cost and overall TCO of any competing solution.
http://p.sf.net/sfu/whatsupgold-sd
_______________________________________________
tmux-users mailing list
tmux-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tmux-users

Reply via email to