SavingGoogleCode / tint2

tint2 is a lightweight panel/taskbar.
GNU General Public License v2.0
0 stars 0 forks source link

Maximize window doesn't work in Openbox with "strut_policy = none" and dual-head config with one of the monitors placed above the other #481

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Launch tint2 with the following (relevant) config options:
panel_size = 100% 18
panel_margin = 0 0
panel_padding = 0 0 6
panel_dock = 0
panel_position = bottom center horizontal
panel_layer = top
panel_monitor = all
autohide = 0
strut_policy = follow_size

2. set a multi-head display with xrandr placing one monitor below the other:

xrandr --output LVDS1 --auto --primary --output VGA1 --auto --below LVDS1

just22@poseidon:[~]> xrandr -q
Screen 0: minimum 320 x 200, current 1440 x 1700, maximum 32767 x 32767
LVDS1 connected primary 1280x800+0+0 (normal left inverted right x axis y axis) 
304mm x 190mm
   1280x800      60.00*+  50.00  
   1024x768      60.00  
   800x600       60.32    56.25  
   640x480       59.94  
VGA1 connected 1440x900+0+800 (normal left inverted right x axis y axis) 410mm 
x 256mm
   1440x900      59.89*+  74.98  
   1280x1024     75.02    60.02  
   1152x864      75.00  
   1024x768      75.08    75.03    70.07    60.00  
   832x624       74.55  
   800x600       72.19    75.00    60.32    56.25  
   640x480       72.81    66.67    60.00  
   720x400       70.08  
DVI1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

3. Try to maximize a window on the "second" monitor (the one placed "below")

What is the expected output? What do you see instead?
Window is maximized horizontally, but the vertical dimension is completely 
messed-up (see monitor_below.jpg).

Note that even on the "primary" monitor (the one placed "above"), the 
y-dimension of maximized windows is wrong (it seems that the panel dim is not 
taken into account, see monitor_above.jpg).

In both screenshots, I tried to maximize an xterm window.

What version of the product are you using? On what operating system?

tint2 svn rev. 747, OpenBSD

Which window manager (e.g. openbox, xfwm, metacity, mutter, kwin) or
which desktop environment (e.g. Gnome 2, Gnome 3, LXDE, XFCE, KDE)
are you using?

Openbox 3.5.2

Please provide any additional information below. It might be helpful
to attach your tint2rc file (usually located at ~/.config/tint2/tint2rc).

The small rectangle which appears in the screenshots should be centered (as per 
Openbox "applications" section properties), so it seems that the window manager 
is not able to compute the screen dimensions correctly.

Both "strut_policy = none" and killing tint2 restore the expected behavior when 
windows are maximized.

Original issue reported on code.google.com by just22....@gmail.com on 12 Apr 2015 at 11:04

Attachments:

GoogleCodeExporter commented 9 years ago
Important question:
Did this ever work for you, or is this the first time you are trying to do it?

The details:
This is a known problem in the NETWM specification (the protocol used by tint2 
to talk to the window manager, i.e. Openbox). The problem is that there is no 
standardized way to reserve space in the middle of the screen (if you have a 
screen extended over multiple displays, it is treated as a single, large 
virtual screen). This has been known for many years, and with Wayland on its 
way, there are currently no intentions to fix NETWM at all ( 
https://bugs.kde.org/show_bug.cgi?id=94470 ).

However, there might be some quirks to get it to work on Openbox. If your 
config has worked in the past, we can find out if one of the recent changes in 
tint2 broke it.

If it has never worked, I suggest you try to find another configuration in 
which tint2 is on the edge of the screen. For example, you could make the panel 
vertical. Or you could run 2 tint2 instances, one for the top monitor (set 
panel_monitor = 1) with position set to top horizontal, the other on the bottom 
monitor (panel_monitor = 2) and position set to bottom horizontal; you also 
need to set taskbar_hide_different_monitor = 1 so that each panel manages only 
the windows on its own monitor.

Original comment by mrovi9...@gmail.com on 12 Apr 2015 at 12:50

GoogleCodeExporter commented 9 years ago
Hello,

thanks for your quick and very detailed feedback.

Actually, this is the first time I'm using tint2, so I'm *not* reporting an 
issue related to a previous working configuration.

I'm going to try the 2 tint2 instance suggestion, which seems a valuable 
workaround.

We can close the ticket.

All the best

Original comment by just22....@gmail.com on 12 Apr 2015 at 1:26

GoogleCodeExporter commented 9 years ago
OK. I should add a FAQ for this.

I have just updated the wiki page with the config options supported in the 
latest SVN: https://gitlab.com/o9000/tint2/wikis/Configure (we are trying to 
migrate tint2 to GitLab as Google Code is shutting down).

Good luck. if you have any more questions feel free to comment here.

Original comment by mrovi9...@gmail.com on 12 Apr 2015 at 1:31

GoogleCodeExporter commented 9 years ago
Well, probably a different topic, but... now I'm trying to have only one tint2 
instance on 2^ monitor (which should always be the one placed below); being the 
panel on the edge of the screen, window maximization works properly; the 
problem is that in the taskbar only the tasks from the 2^ monitor appear, no 
matter the value of "taskbar_hide_different_monitor" option (see the enclosed 
config file).

Am I missing something obvious?

Original comment by just22....@gmail.com on 12 Apr 2015 at 3:20

Attachments:

GoogleCodeExporter commented 9 years ago
Sorry about that, should be fixed in r750.

Original comment by mrovi9...@gmail.com on 12 Apr 2015 at 4:03

GoogleCodeExporter commented 9 years ago
Great! I confirm that it's fixed.

Again, thanks a lot for your prompt reaction.

All the best

Original comment by just22....@gmail.com on 12 Apr 2015 at 4:23

GoogleCodeExporter commented 9 years ago
Project moved to GitLab.

You can find this issue at: https://gitlab.com/o9000/tint2/issues/481

Original comment by mrovi9...@gmail.com on 25 Apr 2015 at 11:13