New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Customize mouse resize/move behaviour in modes #3315

soumya92 opened this Issue Jun 27, 2018 · 0 comments


None yet
2 participants

soumya92 commented Jun 27, 2018

I'm submitting a…

[ ] Bug
[x] Feature Request
[ ] Documentation Request
[ ] Other (Please describe in detail)

Current Behavior

Mod + right mouse drag resizes, Mod + left mouse drag moves windows.
This is true for all modes.

Expected Behavior

Allow changing this behaviour for modes. So in some modes, I should be able to disable this behaviour completely, while in other modes I could drop the requirement for Mod, or make left drag resize.

For example, I have a mode "resize", where I would like all mouse drags to resize the window (regardless of button, no Mod requirement). I also have a mode "move", where I would like all mouse drags to move floating windows (same, any button, no Mod). I also have a mode "Shortcuts off", which is, in its entirety:

mode "Keyboard Shortcuts Disabled! [Ctrl + Alt + Shift + Win + R]" {
  bindsym Control+Mod1+Shift+Mod4+R mode default

For this mode, I would also like to disable mod + mouse behaviour.

My ideal solution would be to support extra commands to set the conditions under which mouse movement affects window positions and sizes. Something like

mode "resize" {
  mouse_resize button1
  mouse_aspect_resize Shift+button1
  mouse_move none

mode "move" {
  mouse_move button1, button3
  mouse_resize none
  mouse_aspect_resize none

mode "no shortcuts" {
  mouse_move none
  mouse_resize none
  mouse_aspect_resize none

(with lack of any of those commands implying the defaults mouse_move $floating_mod+button1; mouse_resize $floating_mod+button3; mouse_aspect_resize $floating_mod+Shift+button3)

It could also allow, e.g. mouse_move Shift, which would move windows by merely having the Shift key pressed, no clicking needed. It's debatable whether that's useful in general, but I would like it :)


Output of i3 --moreversion 2>&-:

Binary i3 version:  4.15 (2018-03-10) © 2009 Michael Stapelberg and contributors
Running i3 version: 4.15 (2018-03-10) (pid 2179)o abort…)
Loaded i3 config: /home/soumya/.config/i3/config (Last modified: Sun 24 Jun 2018 19:24:57 PDT, 176347 seconds ago)

The i3 binary you just called: /usr/bin/i3
The i3 binary you are running: i3 
  • Linux Distribution & Version: ArchLinux
  • Are you using a compositor (e.g., xcompmgr or compton): Yes, compton

@i3bot i3bot added the enhancement label Jun 27, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment