Comments (9)
My current line of thinking is to support several pre-defined contexts and actions. A binding then specifies the context, action, mouse button, and (optionally) modifiers as follows:
move
Contexts would be:
title - Title bar
close - Close button
max - Maximize button
min - Minimize button
border - The window border
icon - The window icon button
desktop - The desktop
menu - A menu button
pager - The pager
clock - The clock
task - An item in the taskbar
(probably others)
Actions would be:
max - Toggle maximization (vertical+horizontal)
vmax - Toggle vertical maximization
hmax - Toggle horizontal maximization
close - Close
move - Move
min - Toggle minimized
menu - Show window menu
root: - Show the nth root menu
ndesktop - Next desktop
pdesktop - Previous desktop
(probably others)
from jwm.
I have found that using the scrollwheel on my clock (I use zenity --calendar) opens multiple windows.
I think this could be a very useful option in the future!
Though simply allowing a tag to disable the scroll wheel interacting with JWM would suffice for most use cases I can think of.
Something like:
false
But still letting synaptics, or whatever handle the scrollwheel in applications, in other words only disabling JWM interacting with it. Unless this interferes with scrolling window content.
from jwm.
I just checked in a fix to ignore the scroll wheel for clocks and tray buttons. For now, I don’t see any reason to allow it and it’s a little annoying to clean up a whole bunch of windows if you accidentally scroll over the clock.
from jwm.
Thank you! This is something my wife likes least. She does it when she is scrolling in a program, but moves the mouse accidentally to the top, where my tray with a clock sits.
from jwm.
Why not add the capability of binding a different exec for each mouse button... Exec[1-5]?
Doing so would not only fix this, but would allow tray-applet-like functionality without taking a lot of resources...
A volume applet could use exec1 to pop up master volume exec2 to pop up the full mixer, exec3 for advanced configuration and exec4/5 for volume up/down.
Bonus if it could redraw the icon, though I didn't see an obvious way to trigger redrawing just 1.
from jwm.
I really like that idea @technosaurus! I opened a new issue for the TrayButton thing. I think that could be done pretty easily.
from jwm.
With this current state of things, is this still needed?
I would like to inhibit the scroll wheel from shading windows, and switching through the tasklist/pager
I also like @technosaurus Idea to implement some way to trigger a redraw of a TrayButton Icon... this coupled with some sort of customizable Popup window could bring a lot of functionality from scripts.
Especially with dynamic menus..
maybe
jwm -reload could reload the entire tray, instead of just menus...
from jwm.
@joewing isn't this fixed now?
from jwm.
This is fixed now and in recent snapshots.
from jwm.
Related Issues (20)
- Request: Configuration of clock popup's date format
- `maximized` option not working for Java applications
- Having both `notitle` and `noborder` options cause blank window for Java applications
- Vertical Gradient HOT 1
- Text not appearing in application HOT 2
- Menu/Program Icons & Labels Do Not Display on Manjaro ARM Minimal Distro HOT 2
- 2.4.4 Release? HOT 3
- Tasklist does not display underscore character at the beginning HOT 3
- Root menu height is incorrect, and Tray and Window bar height differ by 1 pixel.
- root:1 menu position is not correct when click left border HOT 2
- Missing mention of a couple dependancies for building jwm.
- Maximized windows still show window borders
- [ feature request ] dynamic rootmenus
- Clock doesn't accept newline (%n) HOT 4
- showdesktop issue. HOT 1
- A maximized window created by dragging the window to a border doesn’t store its location correctly.
- first window opened on the desktop fail to be raised (as it seems).
- Keybindings for rootmenu(as traybutton) toggle like a winkey effect for windows startup menu? HOT 1
- submenu indicator overlap with label when there is no larger label present in the menu.
- Document how to discover WM_CLASS values to use in config file
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jwm.