Page MenuHomePhabricator

Borderless terminology does not obey window placement rules (non-wayland)
Closed, ResolvedPublic

Description

If I start terminology with no arguments, the new terminal is placed at a sensible location (i,e, not overlapping anything else, in the next available clear space). If I start it with "terminology -B" it is placed at the upper left of the current screen/monitor, no matter how many other things it overlaps.

Arch, but self compiled latest releases of all components (using updated ABS makepkgs), except terminology which is from git (AUR makepkg). With xorg, not wayland.

mike_r created this task.Jul 13 2016, 3:52 PM
raster added a subscriber: raster.Jul 14 2016, 12:51 AM

i cant' reproduce. it appears where it would with a border.

More info - it appears to happen only if I do not start terminology on the primary screen first. More details: three headed system with a MS Surface Pro 4 (don't ask) driving two external monitors with Intel graphics - SP4 is primary. Steps to reproduce:

  1. Start enlightenment
  2. Go to to the secondary or tertiary monitors.
  3. Start several terminologies with -B (I have my menu set up to do this - windows will overlap.
  4. Do a terminology -B on the primary screen.
  5. Now additional terminologies on any screen will line up properly.

Since I rarely use the primary screen when I'm in triple-head mode, I almost never start terminology on it. Something not initialized properly if terminology is not started on the primary screen? I haven't noticed this with other programs, but ephoto is the only other e-app I use with any frequency, but never more than one instance.

I'll be happy to provide more debugging info if requested, though I'll be out of town for a week starting tomorrow.

this really likely has nothing to do with terminology at all and almost definitely to do with enlightenment either way.

and i tried your thing. have a few terminology's on screen 2, then go back to primary screen and start one there (borderless). it appears where i expect it to. enlightenment from git here. terminology and efl from git master too.

Hm. Okay, I'll try git version of everything when I'm back from travel on the 25th. Thanks for looking.

Hi - I'm back and have recompiled everything this morning from git (using Arch AUR -git packages; efl, emotion, evas, elementary, enlightenment, terminology, etc., in that order). I deleted all the E-related dot files/directories I could find, including my modded terminology.desktop file, to start with a completely clean slate.

Started e using startx. Segfault (deal with that later). Restarted, went through the usual setup. All three screens show same thing as they default to mirroring. Multiple instances of terminology -B are placed correctly. Go to setup, find screen setup, see "eDP1", "DP2-1", and "DP2-2", set DP2-1 to right of eDP1, and DP2-2 to be right of DP2-2. Segfault (deal with later).

Restart e, three screens are where they are supposed to be in spite of segfault. Go to middle screen. Start a bog standard terminology - it appears with borders in the upper left. From that terminology, type "terminology &"; a new window appears to the right where it should. Do it again in the first window; new term appears to the right of those two. Now do a "terminology -B" from the first term, and it is placed in the upper left corner, overlapping the first. Iterate forever: all "terminology" commands are placed appropriately; all "terminology -B" commands are placed, overlapping, in the upper left corner.

Now with all those still open, start a terminology in the primary screen (standard with borders). Without doing anything there, go back to the original instance on the secondary screen. Now all terminology commands, with or without -B are placed properly according to the placement algorithm.

I have been able to confirm that this isn't terminology's problem per se. If you replace all instances of "terminology" with "xfce4-terminal" and "terminology -B" with "xfce4-terminal --hide-borders", you get exactly the same behavior.

Any suggestions for what I try next? I'm willing to poke a bit if someone can give me pointers.

raster added a subscriber: zmike.

this actually happens to xterm too... you need a special scenario to set it up. i think someone has broken e's smart placement algorithm. it sometimes just decides to place at 0,0.

mike_r added a comment.Aug 2 2016, 9:38 AM

Hi - I saw that this was closed yesterday and a patch applied, so I downloaded and recompiled this morning (again using Arch's AUR -git packages). Unfortunately, I see no change in behavior. "terminology -B"s when started first on the secondary screen always go at 0,0, but "terminology"s get placed properly. Secondary "-B"s also get placed properly if a "-B" is started on the primary screen. If that "-B" on the primary screen is closed, then new "-B"s on the secondary screen are all placed at 0,0, even though they were correct earlier.

I guess this is my penance for liking borderless terminals on a 3-headed (laptop + 2 external monitors) system ...

raster reopened this task as Open.Aug 2 2016, 4:28 PM

well... reopen then! :)