! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
Positioning aspect of --geometry argument ignored
Status:
RESOLVED: FIXED
Product:
Xfce4-terminal
Component:
General

Comments

Description kritek 2016-09-10 21:11:03 CEST
rpm -qa|grep xfce4-terminal
xfce4-terminal-0.6.92-1.fc24.x86_64


ardy@daw3:~$ /usr/bin/xfce4-terminal --geometry=113x56+133-25
ardy@daw3:~$ xwininfo

xwininfo: Please select the window about which you
          would like information by clicking the
          mouse in that window.

xwininfo: Window id: 0x6402276 "Terminal - ardy@daw3:~"

  Absolute upper-left X:  138
  Absolute upper-left Y:  208
  Relative upper-left X:  5
  Relative upper-left Y:  22
  Width: 918
  Height: 866
  Depth: 32
  Visual: 0x71
  Visual Class: TrueColor
  Border width: 0
  Class: InputOutput
  Colormap: 0x6400002 (not installed)
  Bit Gravity State: NorthWestGravity
  Window Gravity State: NorthWestGravity
  Backing Store State: NotUseful
  Save Under State: no
  Map State: IsViewable
  Override Redirect State: no
  Corners:  +138+208  -864+208  -864-6  +138-6
  -geometry 918x866+133-0


I have a script that creates eight terminals, and tiles them across the desktop per their geometry positions. This works with mate-terminal.

/usr/bin/xfce4-terminal --geometry=113x56+0+33
/usr/bin/xfce4-terminal --geometry=113x56-63+33
/usr/bin/xfce4-terminal --geometry=113x56+0-0
/usr/bin/xfce4-terminal --geometry=113x56+133-25
/usr/bin/xfce4-terminal --geometry=113x56+266-52
/usr/bin/xfce4-terminal --geometry=113x56+406-78
/usr/bin/xfce4-terminal --geometry=113x56+531+84
/usr/bin/xfce4-terminal --geometry=113x56+659+60

This new update still misplaces the terminals, but they're closer to the desired positions than they used to be.

Reference:

https://bugzilla.redhat.com/show_bug.cgi?id=1369939

https://bugzilla.xfce.org/show_bug.cgi?id=12810
Comment 1 Igor editbugs 2016-09-10 21:55:33 CEST
Am I understanding correctly that when running `xfce4-terminal --geometry=80x25+0+0` xwinifo is supposed to display absolute X and Y as 0?

In my case, it's showing
  Absolute upper-left X:  3
  Absolute upper-left Y:  29
  Relative upper-left X:  3
  Relative upper-left Y:  29

But after I've disabled window borders via View menu, and used Alt plus mouse to move the window to the screen corner, I finally got
  Absolute upper-left X:  0
  Absolute upper-left Y:  0
  Relative upper-left X:  0
  Relative upper-left Y:  0

So it seems to me that xwinifo is counting WM window borders as offsets. The same applies to other windows.
Comment 2 Igor editbugs 2016-09-10 22:14:02 CEST
Ah, I think I understand what you mean. I rather should be paying attention to "-geometry" line of xwininfo output.

For example, for `xfce4-terminal --geometry=80x25+50+50` it's showing
  -geometry 654x426+50+50
which is perfect.

But, when negative offsets come into play, it becomes inaccurate: for `xfce4-terminal --geometry=80x25-75-75` it's
  -geometry 654x426-69-43

I'm thinking this is again because of the window borders: -69 = -75 + 2 x 3 and -43 = -75 + 3 + 29, where 3 is the width of the left, bottom and right borders and 29 is the width of the top border.

It seems that I have to take them into account when calculating window positions based on negative offsets.
Thanks for the report!
Comment 3 Igor editbugs 2016-09-10 22:16:36 CEST
For now, you can use --hide-borders terminal option to get precise positioning (and also save some screen space since you're opening quite a few terminal windows).
Comment 4 Igor editbugs 2016-09-11 17:02:47 CEST
Could you please check if the following patch resolves it for you?
https://github.com/f2404/xfce4-terminal3/commit/175a550f19db9b95181655d0d95535affb6fac1e
Comment 5 Kevin Fenzi 2016-09-11 19:04:23 CEST
For ease of testing, here's a f24 scratch build with the patch:

https://koji.fedoraproject.org/koji/taskinfo?taskID=15587601
Comment 6 kritek 2016-09-11 20:12:09 CEST
I installed xfce4-terminal-0.6.92-2.fc26.x86_64 from koji but it fails to start:

xfce4-terminal: symbol lookup error: xfce4-terminal: undefined symbol: vte_regex_new_for_search
Comment 7 Igor editbugs 2016-09-11 20:27:02 CEST
(In reply to kritek from comment #6)
> I installed xfce4-terminal-0.6.92-2.fc26.x86_64 from koji but it fails to
> start:
> 
> xfce4-terminal: symbol lookup error: xfce4-terminal: undefined symbol:
> vte_regex_new_for_search

If I'm not mistaken, this indicates that the binary has been built against vte 0.45.90 (or vte291 - this is how it's called in Fedora: https://apps.fedoraproject.org/packages/vte291), while your system probably has vte 0.44.2. 

You could either update vte, or ask Kevin to rebuild the package.
Comment 8 Kevin Fenzi 2016-09-11 20:33:48 CEST
Oops. My mistake, accidentially made it a rawhide build. ;( 

Try: https://koji.fedoraproject.org/koji/taskinfo?taskID=15588030

Bug #12833

Reported by:
kritek
Reported on: 2016-09-10
Last modified on: 2016-09-12

People

CC List:
2 users

Version

Version:
0.6.92

Attachments

Additional information