Giter VIP home page Giter VIP logo

Comments (9)

joewing avatar joewing commented on August 16, 2024

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.

 avatar commented on August 16, 2024

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.

joewing avatar joewing commented on August 16, 2024

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.

 avatar commented on August 16, 2024

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.

technosaurus avatar technosaurus commented on August 16, 2024

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.

joewing avatar joewing commented on August 16, 2024

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.

 avatar commented on August 16, 2024

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.

 avatar commented on August 16, 2024

@joewing isn't this fixed now?

from jwm.

joewing avatar joewing commented on August 16, 2024

This is fixed now and in recent snapshots.

from jwm.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.