Thu Jun 28, 2018 10:56 pm
Please help me, I am at a loss. Thankfully I have not yet had any serious damage incurred on my system.
The situation is about Konsole terminal and mouse-wheel scrolling.
Usually on a Konsole terminal mouse-wheel action scrolls the contents of the window up and down. This is expected behaviour, this is how GUIs work: "no surprise to the user".
BUT today I discovered there are multiple identities of that scroll-wheel : whenever the window contents are empty, for example when a new Konsole is created, and there is no window content to scroll, the mouse-wheeling action assumes a new role: it cycles through bash history!
Blimey! That caught me without my helmet and my pants down! I.e. it surprised me.
The above behaviour deviates from the GUI maxim of not surprising the user with stupid/idiotic/idomatic/ad-hoc behaviour. Someone programming this may be thought "hey guys the window contents buffer is empty, but I am a scroll-on-speed I need to do something! So I searched through all the available buffers and the bash-history-buffer came up, so I am going to send my events to this buffer. Well if that buffer is empty I will try to find other buffers to scroll. You see I am scroll-on-speed I need buffers to scroll. Give me buffers, buffers buffers buffers buffers. I want buffers to scroll their contents. Because you know I am an idiot."
My situation is that I am a bit irritated that my mouse-wheel acts as a third (middle) button which is an X-windows trademark that it should paste. Middle click => paste. Unfortunately middle click on a wheel does work only 30% of the times, especially on a cheap mouse. So, 70% of the times I get a scroll and very likely a paste. Sometimes a paste first and then a scroll, sometimes a scroll and then a paste. Now, with this bug-or-feature of Konsole I get cycling through history and then appending what my clipboard has.
So, let's say my bash history contains
1 rm -rf ~/
2 ls -al
3 echo love ya
and I copy with the mouse the character '*' with lots of newlines '\n\n\n\n' following.
then I open a new Konsole and I *try* to paste by pressing the middle button a.k.a. the mouse-wheel.
Chances are that said mouse wheel rotates and then a click registers.
But hang on!
In an empty Konsole, mouse wheel rotate means cycling thorugh bash history. So chances are the first command in my history buffer gets on my prompt. Then a click also happens and the '*' with lotsa of newlines is appended on the 'rm -rf /'.
HEy you (whotever told you you are a programmer), you just erased my disk and thank you for providing such a nice GUI. Thoughtful!
**Please** guys, just stick to the least-surprise GUI and we have a long future. Do not - I repeat - Do not take initiatives because you have nothing else to do and you are bored and "hey look an event just fired up in the WM queue let's be creative with it".
This is not about "pimping up" (I hope I get this slang right).
long live Linux.
Tue Jul 03, 2018 8:43 pm
I can confirm this behavior has been around since KDE 4 (or earlier). I agree that it is surprising.
I'd suggest reposting this to the Brainstorm forum to gather feedback for removing the scroll-through-history-when-no-scrollback "feature" (or at least making it optional if anybody actually uses it).
airdrik, proud to be a member of KDE forums since 2008-Dec.