phillbush / shod

mouse-based window manager that can tile windows inside floating containers
MIT License
170 stars 5 forks source link

Some way to reparent windows using touch-screen. #53

Open aspizu opened 11 months ago

aspizu commented 11 months ago

Most of the mouse functionality works fine with touch-screen but as there's no way to do a right-click. Reparenting isn't possible.

phillbush commented 11 months ago

I can re-use the left button for that.

The left button is currently used to spawn a special command when clicked; the user can use this command to pop up a XMenu dropdown menu, for example. I can assign another behaviour to that button: drag-and-dropping it does reparenting, while a regular click keeps its purpose.

However, that control may feel a bit funky: the button is too small for optimal touch-screen usage. And sometimes you may want to click, but your mouse/stylus slides too much and shod interprets it as a dragging operation; or you may want to drag-and-drop but you do not slide enough for shod to recognize the dragging action. The optimal solution is to have one control per mouse button, avoiding misclicks/misdrags.

aspizu commented 11 months ago

How about letting the user configure what all of the mouse buttons do?

shod.menu.left: sh shodmenu
shod.titlebar.left: move
shod.titlebar.right: reparent
shod.close.left = close

Though this might add much complexity.