Tilix: Quake mode under Wayland: Tilix appears on leftmost, not primary monitor

Created on 5 Feb 2018  路  11Comments  路  Source: gnunn1/tilix

The wiki entry concerning Quake mode under Wayland implies that Tilix always appears on the primary monitor under Wayland. However, in my case (Arch Linux, Gnome 3.26.2), it appears on whichever monitor is the leftmost in the geometry, irrespective of which one is the primary.

I realize this may be a problem with Wayland which cannot be fixed in Tilix (I've seen #1118, so I have a vague idea that handling multihead is complicated under Wayland), but in that case, I think it might still be a good idea to change the wording in the wiki so that it's clear what behavior to expect :)

Most helpful comment

Damned, this is a shame. I was a heavy user of tilix --quake, only just grabbed the update and saw the notification. I understand why you've done this, but, for me it was working well enough for my workflow - fullscreen vim with F10 to drop down a terminal for complex file handling or complex git work.

Great terminal emulator though, hope the wayland support can be re-introduced at a later date once the technology is more widely used.

All 11 comments

Tilix calls gdk.Screen.getPrimaryMonitor() to get the monitor number, so the problem is upstream. It looks like in general, GDK is (was?) getting confused about which monitor is which under Wayland, see https://bugzilla.redhat.com/show_bug.cgi?id=1386948#c6.

EDIT: I was seeing some complicated behavior patterns that I can't seem to replicate anymore, so I deleted the description.

I've added some logging to getQuakePosition() and screen.getPrimaryMonitor() always reports 0, both under X11 and Wayland.

Some more details: the above (Tilix always showing on the leftmost monitor) holds only if Tilix is started with tilix --quake --full-screen (case 1). If it's started with tilix --quake (case 2), then it appears on the monitor where the currently focused window is.

When subsequently toggling visbility of a running Tilix instance, in case 1, it always stays on the leftmost monitor. In case 2, it keeps following the focused window, irrespective of whether it's toggled using just tilix --quake or tilix --quake --full-screen.

Under Wayland everything is a crapshoot for quake mode because you can't control window positioning. Right now tilix relies on certain behaviors to get it working but no guarantee that it will continue. As a result I've long considered disabling quake mode in Wayland.

Yeah, I saw #1118 :) I just thought that instead of "Under Wayland, Tilix is hardwired to show up on the primary monitor", the behavior was s/primary/leftmost/. Which I think it would have been helpful to amend in the wiki.

But it turns out it's not that simple, the actual behavior is messy and depends on a combination of options ("Under Wayland, if you start Tilix as tilix --quake --full-screen, it will keep showing up on the leftmost monitor. But if you start it as tilix --quake, etc."). Feel free to close if you don't want to keep this around as a reminder for some reason.

This is not my experience at all, under wayland or X tilix appears on whichever screen has the mouse pointer:

~ tilix --version                
Versions
    Tilix version: 1.7.5
    VTE version: 0.48
    GTK Version: 3.22.25

Tilix Special Features
    Notifications enabled=0
    Triggers enabled=0
    Badges enabled=0

@luispabon I added details in this comment, the issue seems to be more complicated, there's an interaction with --full-screen as well.

To expand on that, under X, I see the behavior you're describing if:

  1. Display terminal on active monitor is ticked under Quake preferences.
  2. Tilix is opened using tilix --quake.

If I open Tilix with tilix --quake --full-screen, it will keep showing on the same monitor (it may be either one, probably depending on where Tilix appeared last). I hadn't noticed this before, but it seems like there's a window placement bug on X as well then...?

Under Wayland, the Display terminal on active monitor preference doesn't exist (and I assume it's ignored, i.e. it doesn't matter whether you ticked it or not when using the same account from both X and Wayland). Again, if I call Tilix simply as tilix --quake, I get the behavior you described; calling it with tilix --quake --full-screen results in the leftmost monitor behavior described initially.

Also, when testing a different command line invocation, make sure to completely exit Tilix first so that the call relaunches it.

Another observation, under X:

  1. Setup: Tilix Gnome-assigned shortcut runs just tilix --quake, Display terminal on active monitor is ticked under Quake preferences.
  2. First run: Tilix starts, appears on active monitor.
  3. Now I can set it to full-screen manually using F11.
  4. When hidden and reopened, Tilix remains in full-screen mode and indeed appears on the active monitor.

So this works as expected. Contrast this with using the --full-screen option in the shortcut instead of going to full-screen manually the first time around, which results in Tilix always appearing on the same monitor instead of following the cursor around, as described above.

Quake mode is no longer supported in Wayland, see #1314

Damned, this is a shame. I was a heavy user of tilix --quake, only just grabbed the update and saw the notification. I understand why you've done this, but, for me it was working well enough for my workflow - fullscreen vim with F10 to drop down a terminal for complex file handling or complex git work.

Great terminal emulator though, hope the wayland support can be re-introduced at a later date once the technology is more widely used.

@avastmick if you run GDK_BACKEND=x11 tilix --quake it works just fine in some cases, I have this in /usr/local/tilix-quake as setting an env var didn't work with plain gnome keybinding

Was this page helpful?
0 / 5 - 0 ratings

Related issues

gnunn1 picture gnunn1  路  3Comments

lucascosti picture lucascosti  路  3Comments

huti26 picture huti26  路  3Comments

viniciusban picture viniciusban  路  4Comments

sirex picture sirex  路  3Comments