Introduction
Introduction Statistics Contact Development Disclaimer Help
fix mouse actions that don't depend on a position in a pane - sfeed_curses - sf…
git clone git://git.codemadness.org/sfeed_curses
Log
Files
Refs
README
LICENSE
---
commit 39fe4803fb3595e9425efae568c2e9a53f143a4c
parent 64f10e20f6dce1cdf6ee517ab9ce12b39a192d5f
Author: Hiltjo Posthuma <[email protected]>
Date: Wed, 24 Mar 2021 18:15:14 +0100
fix mouse actions that don't depend on a position in a pane
- Fix forward and backward if the position is not in a pane (like the
statusbar, linebar or scrollbar).
- Add ctrl+scroll to change the sidebar size.
Diffstat:
M sfeed_curses.1 | 6 ++++++
M sfeed_curses.c | 38 +++++++++++++++++++----------…
2 files changed, 30 insertions(+), 14 deletions(-)
---
diff --git a/sfeed_curses.1 b/sfeed_curses.1
@@ -165,6 +165,12 @@ Items pane: pipe the item.
Scroll one page up.
.It SCROLL DOWN
Scroll one page down.
+.It CTRL+SCROLL UP
+Use a fixed sidebar size for the current layout and decrease the fixed width or
+height by 1 column.
+.It CTRL+SCROLL DOWN
+Use a fixed sidebar size for the current layout and increase the fixed width or
+height by 1 column.
.It FORWARD
Switch to the items pane.
.It BACKWARD
diff --git a/sfeed_curses.c b/sfeed_curses.c
@@ -1684,6 +1684,30 @@ mousereport(int button, int release, int keymask, int x,…
if (p->hidden || !p->width || !p->height)
continue;
+ /* these button actions are done regardless of the position */
+ switch (button) {
+ case 3: /* ctrl+scroll up */
+ case 4: /* ctrl+scroll down */
+ if ((keymask & 16))
+ adjustsidebarsize(button == 3 ? -1 : +1);
+ return;
+ case 7: /* side-button: backward */
+ if (selpane == PaneFeeds)
+ return;
+ selpane = PaneFeeds;
+ if (layout == LayoutMonocle)
+ updategeom();
+ return;
+ case 8: /* side-button: forward */
+ if (selpane == PaneItems)
+ return;
+ selpane = PaneItems;
+ if (layout == LayoutMonocle)
+ updategeom();
+ return;
+ }
+
+ /* check if mouse position is in pane */
if (!(x >= p->x && x < p->x + p->width &&
y >= p->y && y < p->y + p->height))
continue;
@@ -1739,20 +1763,6 @@ mousereport(int button, int release, int keymask, int x,…
case 4: /* scroll down */
pane_scrollpage(p, button == 3 ? -1 : +1);
break;
- case 7: /* side-button: backward */
- if (selpane == PaneFeeds)
- break;
- selpane = PaneFeeds;
- if (layout == LayoutMonocle)
- updategeom();
- break;
- case 8: /* side-button: forward */
- if (selpane == PaneItems)
- break;
- selpane = PaneItems;
- if (layout == LayoutMonocle)
- updategeom();
- break;
}
return; /* do not bubble events */
}
You are viewing proxied material from codemadness.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.