Page MenuHomePhabricator

Mouse event issues with Terminology
Closed, ResolvedPublic

Description

I was testing a npm package used to build curses-like applications and the first example had a on_mouse_over feature which runs fine on gnome-terminal, but fails on Terminology.

The npm package is: https://github.com/chjj/blessed

Here is the sample program you can use to test: https://bin.disroot.org/?1d5d3fa1fa16c16c#3cscD1/2p9R92DQ4sv37hb82cM/ibo77KBTzRgjQzM8=

Install the blessed lib dependency with the command npm install blessed before running the previous program.

Actually, I found more bugs related to mouse events.

Dragable property is completely broken under Terminology.

I found some bugs too, I can't find where I should report about it.

The first one seems to be mouse related too:
When switching between two open windows with the mouse (since my WM is already Tiling, I use that over the builtin-tiling of Terminology),
the terminology windows is not responding to keystrokes.
When I use the keyboard to activate another window and then switch back to the first, Terminology responds again

Another issue I have with ipython:
When trying to exit using Ctrl-D, terminology hangs on the confirmation "Do you really want to exit (Y/N) ?"

same issue as @oneindelijk

when switching between terminology windows i have to move the windows (drag it around) to make it record keystrokes again..
kinda irritating bug.

i dont use the focus on mouse pointer function, i have to click the window to make it active.

i can't remember it was a problem in older terminology (using 1.2.0 now on Arch Linux)

@stingray454 could you please tell me if the git version works better for you?

@billiob i'll give it a try later or tomorrow and report back..

took the easy route and just built the aur package terminology-git
terminology=1.2.99.r1989.ea91a6c

unsure if its the latest commit?

this one has the same issues.

i open two terminology windows if i click on any of them to bring focus on that window to type, it doesnt record keystrokes.

its the same if i open one terminology window and one filebrowser window, then click back on terminology it doesnt record keystrokes until i move the window.

if i use the systray to switch (when terminology records keystrokes) between the two windows the issue doesnt appear, that is it records keystrokes (both git and regular 1.2.0..) if it stopped recording keystrokes, nether systray change, or tab change works as long as its in the forground (window is not redrawn). if the window is not redrawn atleast partialy it still doesnt record keystrokes..

i would say that once it redraws the window, ether by moving it or putting it infront of something that has ether partialy hidden it, or completely behind for example chromium, and alt + tab or systray switch it starts recording again.

6694266a3ddc seems to be the one where this issue should be fixed, found it after figuring out how phab works.. (usually using gitlab..)

will update git pkgbuild and try that one..

terminology-git-1.2.99.r1998.59f225c-1-x86_64.pkg.tar.xz

it seems the git archive autoupdates to latest commit, took the commit line from the PKGBUILD, but the resulting build had same issues.

Just tried the git version. Still the same problem.

I also noticed a resizing problem, the contents of the window are sometimes squashed either vertically or horizontally.
It also happens that a portion of a window becomes static (I don't know how to explain, I'll try)
for example the upper part of 1 tile, no tabs (since I use awesome, I don't use the tiling or tabbing features)
doesn't update anymore, while the lower part has it's font stretched horizontally.
Maximizing the window and back does fix this...

I think this is an awesome project. I work pretty much in the terminal all the time, and this approach lifts the terminal-experience to another dimension (all my collegues want to work in a terminal too, now ;-)
If I can contribute with testing, logs and the likes, please tell me

Thank you for your nice words. I'm currently on holidays and do not have the correct tools to investigate the issue. I'll try to spend some time on it next week.

About the "resizing" issue, it's the first time I've heard about it. Is it new in 1.2.0?

Hi,

(I'm oneindelijk, using my work account now)
I don't know about the resizing, I'm only a short time user of terminology.
Today I installed a fresh copy of BlackArch Linux and I have the same issue (as I was expecting)
I noticed that the window's buffer seems to record keystrokes (or is this the WM who is doing the recording?)
When I switch away using the mouse from the active window (even hovering over the statusbar of my WM is enough)
and then type something, nothing appears. When I then switch away and back using the keyboard and type some more,
the previously typed content also shows up.
This seems to be a different behavior than I have on my other laptops (although they're all arch based)

Hopefully this information helps

stingray454 added a comment.EditedMay 13 2018, 4:49 AM

@billiob is it worth anything to notice that i'm running pure wayland and not x11? since the last git version did not work?

edit: im also using arch linux.

Im running the latest -git version in Gentoo. I too encountered a problem with terminology where if I focus terminology -> urxvt -> terminology with my mouse, I cant write anything into terminology again, unless I press right mouse button twice in it. However this only happened when I focused between two terminal emulator windows with my mouse (I was tryhing to copy my color scheme from urxvt). Running xorg with proprietary nvidia drivers.

Just wanted to let you know how I reproduced this problem.

billiob claimed this task.May 13 2018, 1:53 PM

Could you please tell me if it's better now (should be handled by 214ff03e361789025dc6eddcbe1a860d7437b3b0)?

Note: this question is only about the focus issue, not about on_mouse_over or draggable properties.

Yep, at least I cant reproduce the focus issue anymore after that latest commit. That seems to have fixed it! Maybe wait for more feedback since many people had that problem, but for now, thanks!

@billiob from a quick build and fast test it doesn't reproduce the missing keypresses that it did before.

i will continue to use this build for a day or two and see if it acts bad but it seems to be working fine for me.

would it be possible to tag this into a 1.2.1 when it gets released? (hopefully soon)
i would prefer not to use the git version if possible..

thanks for the quick resolution of the problem.

@stingray454 I'll wait for your feedback but plan on releasing 1.2.1 with that fix tomorrow evening (or later depending on my free time).

@billiob sounds good to me, i'm at the countryside house right now so i can only test on my laptop but that has worked fine for a few hours of terminal use.

i'll get home tonight so probably wont have time to test it on my main system at home until tomorrow.

At a first glance, this issue seems to be gone !
Nice !!

@billiob as far i can tell the issue with missing keystrokes is gone now.

Terminology v1.2.1 is out :)

ProhtMeyhet closed this task as Resolved.Aug 7 2019, 2:26 AM
ProhtMeyhet added a subscriber: ProhtMeyhet.

this should be solved with terminology 1.5.0. please reopen if it wasn't.