#10571: Tabs not showing properly in macOS full (and split) screen

Stephan Witt st.witt at gmx.net
Sun Aug 2 16:10:40 UTC 2020


Am 02.08.2020 um 13:25 schrieb Daniel <xracoonx at gmx.de>:
> 
> On 2020-08-02 10:55, Stephan Witt wrote:
>> Am 01.08.2020 um 16:51 schrieb Stephan Witt <st.witt at gmx.net>:
>>> 
>>> Am 01.08.2020 um 09:35 schrieb Daniel <xracoonx at gmx.de>:
>>>> 
>>>> On 2020-08-01 09:32, Stephan Witt wrote:
>>>>> Am 31.07.2020 um 07:13 schrieb Daniel <xracoonx at gmx.de>:
>>>>>> 
>>>>>> On 2020-07-30 21:21, Stephan Witt wrote:
>>>>>>> Am 29.07.2020 um 22:59 schrieb Daniel <xracoonx at gmx.de>:
>>>>>>>> 
>>>>>>>> On 2020-07-29 21:03, Stephan Witt wrote:
>>>>>>>>> Am 29.07.2020 um 10:15 schrieb LyX Ticket Tracker <trac at lyx.org>:
>>>>>>>>>> 
>>>>>>>>>> #10571: Tabs not showing properly in macOS full (and split) screen
>>>>>>>>>> -----------------------+-------------------------
>>>>>>>>>> Reporter:  racoon     |       Owner:  lasgouttes
>>>>>>>>>>    Type:  defect     |      Status:  new
>>>>>>>>>> Priority:  normal     |   Milestone:
>>>>>>>>>> Component:  general    |     Version:  2.2.2
>>>>>>>>>> Severity:  normal     |  Resolution:
>>>>>>>>>> Keywords:  os=macosx  |
>>>>>>>>>> -----------------------+-------------------------
>>>>>>>>>> 
>>>>>>>>>> Comment (by racoon):

…

>>>>>> Okay, tested again. It happens under a special condition: when the LyX window is previously maximized (not in fullscreen but maximized by double clicking the title bar). So:
>>>>>> 
>>>>>> 1. Double click the title bar (maximizes the window)
>>>>> 
>>>>> This one is configurable. Alternatively the double click sends it to the dock (minimize it).
>>>>> 
>>>>>> 2. Click on View > Fullscreen (enters fullscreen)
>>>>>> 3. Click on View > Fullscreen (exits fullscreen)
>>>>> 
>>>>> I don’t understand what’s not working. It looks like maximizing the window is not full-screen.
>>>> 
>>>> What I see here (Catalina) is that after existing the fullscreen via
>>>> LyX's dedicated function (Step 3), the fullscreen is immediately
>>>> re-activated. The only way to get out of it is using the WM's fullscreen
>>>> button.
>>> 
>>> I see. This isn’t the case with my latests (not published) patch anymore (hopefully).
>> Here is the current state of my patch to improve switch to/from full-screen.
>> It contains additional code to detect switch to/from window maximize state.
>> This is actually not used yet. On Mac it could be a possibility to implement
>> the switch to/from the state you’ve called „focus mode“. That’s why I left it
>> as is ATM. The final patch will be without it and the maximize state can be done
>> later. For now I’d like to ask Pavel how this is different and/or managed on Linux.
>> Perhaps it doesn’t work the same way as on Mac.
>> Does it work as expected for you and on Linux? Can anyone test it on Windows, please?
> 
> Very nice!
> 
> You haven't asked explicitly for macOS feedback but I guess that is welcome as well.

Yes, thank you.

> Seems to work almost perfectly on macOS now. There is one small exception: when doing the last three steps mentioned above, the window gets out of the maximized state. But it's really small. And maybe it's just a Qt bug.

There is a difference between maximized and full-screen state.

To be sure I understand your recipe:

1. Maximize window (alt green dot)
2. Switch to full-screen (Command-Control-f)
3. Switch back from full-screen (Command-Control-f)

With these steps I can reproduce that LyX doesn’t return to maximized state. This is correct - „code wise“,
but the WM remembers the previous maximized state. So the behavior is different when using the green dot to
switch to and from full-screen. With the latter LyX returns to maximized state.

The effect of the really small window I cannot reproduce. But it’s reported already as ticket 11909 here:
https://www.lyx.org/trac/ticket/11909 (IMO).

I tried it inside my almost virgin Catalina virtual machine…

> (While reading the fullscreen code, I also noticed a little strangeness, but I guess it is not relevant here:
> 
> void GuiWorkArea::setFullScreen(bool full_screen)
> {
> 	d->buffer_view_->setFullScreen(full_screen);
> 	setFrameStyle(QFrame::NoFrame);
> 	if (full_screen) {
> 		setFrameStyle(QFrame::NoFrame);
> 		if (lyxrc.full_screen_scrollbar)
> 			setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
> 	} else
> 		setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
> }
> 
> Isn't the frame style applied independent of full_screen?

Yes, these setFrameStyle calls are completely redundant and can be removed.

Stephan


More information about the lyx-devel mailing list