Page MenuHome

Fullscreen Editor (new fullscreen mode for clean UI)

Authored by Dalai Felinto (dfelinto) on Jul 25 2014, 12:14 AM.



Organize Maximize/Fullscreen mess and add a new fullscreen mode with no UI

  • Maximize Editor: (old Ctrl+Up)
  • Full Screen Window: (old Alt + F11)
  • Full Screen Editor: new operator (Alt + F10)

It should fullscreen the window and make it clean (no UI, no buttons).
After exiting it, it should return to the previous window state

This was originally intended for the multiview branch, but this
functionality also benefits non-stereo workflows, thus it can be
reviewed and committed independently.

Development notes:

  • This includes cleanups in the code to sanitize the naming of fullscreen/maximize across the window/editor code.
  • This includes a hack for OSX due to a bug explained in D677 (Thank for Jens Verwiebe help into finding this)

@Brecht Van Lommel (brecht), @Francesco Siddi (fsiddi), this is based on the discussion we had last year (after bconf), so I'm assigning you both as reviewers since we should be on the same page and you know more about the needs of this features than anyone else
@Ton Roosendaal (ton), adding you here as well, since you were one of the advocates of having this mode designed for Blender as a whole, not only multiview.(and because the OSX hack is required probably because of your recent fullscreen implementation for OSX, so you may be interested in looking at that.


Diff Detail

rB Blender

Event Timeline

Small cleanup/refactor in the non-hack function of the patch.
The originally pushed version was convulated as a legacy from the debugging that lead to the osx-hack solution.

A usefull tool i think: it will speedup my worflow, because i have realy often to do an Alt+F11, plus hide the header.
Thanks Dalai.

  • Merge remote-tracking branch 'upstream/master' into fullscreen
  • Removing OSX hack now that it was fixed/workarounded in master

The hack was needed because of OSX Lion Fullscreen mode bugs, not any more.

forgot to push master to origin before arc diff'ing last time ...

Looking forward to test this!
At the moment I can't build. Do you have an OSX build available by any chance?

Thank you @Dalai Felinto (dfelinto) for the build! I've tested a bit and it looks really interesting (will work great with Image Editor for Compo render preview for example, or any image preview).

I noticed that:

  • on secondary screen on Mavericks the top bar (of OSX stays on top of the full screen editor)
  • it's not possible to switch window type when in the new fullscreen
  • launch blender, Alt-F10, press F2 twice, BAM!

Great work so far though :)

I had some trouble while building on a linux machine. The same on windows...

Any build for me too ? :-D

Dalai Felinto (dfelinto) updated this revision to Diff 2268.
  • Merge remote-tracking branch 'upstream/master' into fullscreen
  • left over from removing osx hack
  • fix crash reported by Francesco Siddi (fsiddi)

@Francesco Siddi (fsiddi) :

on secondary screen on Mavericks the top bar (of OSX stays on top of the full screen editor)

This is an unrelated OSX issue, see T41248

it's not possible to switch window type when in the new fullscreen

It is possible if you are in a CONSOLE area and change it via Python - meaning you can change (though there is a bug since when you change it the new window has header, menus).
So there are two issues: (1) no way to toggle the HEADER [the fix I think is to create a new operator and shortcut for that]; (2) make sure the new editor preserves the current header/window visible. I'll look at that.

launch blender, Alt-F10, press F2 twice, BAM!

Fixed, thanks :)

  • Operator to show/hide header (ctrl+h)

Note: this can be committed separately from the rest of fullscreen.

  • fix for unfreed memory when changing editor type
  • Merge remote-tracking branch 'upstream/master' into fullscreen

Thanks a lot for the builds !!!
It works perfectly fine on linux.
Small feature, but great work @Dalai Felinto (dfelinto) !

Ready for 2.72 ?

After some more testing, i find a "issue": when in Alt+F10 mode, if i do ALT+F11, it just show the window header (not the blender one, the linux one). But normaly the Alt+F11 mode don't show that, and show the blender's header.

@Lapineige this is not an issue, but it's by design. Leaving Window Fullscreen (Alt+F11) doesn't mean the editor is normal, the editor is still fullscreen. It works the same way as the Maximize Editor.

The difference (and if it's too confusing we could roll that part back) is that when you go Editor Fullscreen we make sure the window goes fullscreen too.

I understand well that point, so i wrote "issue" and not issue.
It's logic, but a bit confusing. I was thinking that the header will come back. I think it's better, because without that we need to redo ALT+F10 and Alt+F11, and the view is not usable (a F10 like window with the system window header ....).

@Lapineige I don't understand your point. The real alternative is to skip window fullscreen altogether from this operator, and leave it up to the user if she wants to see fulleditor+fullscreen or not. You will still need to know your ways into Alt+F10, Alt+F11 though.

Anyways this is the kind of usability feedback I'm looking for here.

The OSX build link goes to the Linux build. Can you update the link to your OSX build?


  • no longer go window fullscreen when toggling editor fullscreen
  • add the operator to the menus
  • unify both "fullscreen/maximize" operators
  • cleanup against master

Final changes.

Re–base (to see if I can apply the patch in Linux) and adding the 'back to previous' operator to the new fullscreen mode as well.
Missing: decide on a clera way to inform the user on how to go back. An option is to have the + of the Header to show up when mouse is near, and in the HEADER we should the 'Back to Previous' as we do for Maximize Area.

Lapineige added a comment.EditedAug 6 2014, 7:29 PM

@Dalai Felinto (dfelinto): i totally agree with that idea. That's consistent, and that do not takes so much screen space ^^
That's fine.

(PS: thanks for the builds !!!)

Final commit, now there is a new action zone in the top right corner when in fullscreen. The zone is only visible when the mouse is nearby.

  • Merge remote-tracking branch 'origin/master' into fullscreen
  • New action zone to leave fullscreen
  • Merge remote-tracking branch 'origin/master' into fullscreen

De-duplicate check for correct region

@Dalai Felinto (dfelinto) - finished with minor changes, please commandeer back.

hi @Dalai Felinto (dfelinto),

When using alt+F10, I can't adjust width for tool and property panel. Is it by design?

Generally works well,

Detail - action-zone offset seems far too big when DPI is set to 144.

Dalai Felinto (dfelinto) updated this revision to Diff 2467.
  • Adjust the corner distance for 144 dpi

@Campbell Barton (campbellbarton) updated patch so it works better with 144 dpi. Is it good to go?
(we are in bcon3 but this was announced/pre-approved before so maybe it's ok to merge?

  • Align icon with other elements, correct cast
  • reduced hotstpot a bit

Tested some more tweaked the icon a little (hotspot seemed far too big).

Personally don't like the precedent that we have hidden elements in Blender, that you have to wave the mouse about at screen corners to guess what might be there, why not just show the icon all the time? Maybe UI guys could give feedback here?

Fading out is buggy, if you move the mouse away fast the icon may only half fade out.

Would prefer to just have the icon show always, its small and obvious what happens.

  • rename flagfullscreen -> flag_restore

Personally don't like the precedent that we have hidden elements in Blender, that you have to wave the mouse about at screen corners to guess what might be there, why not just show the icon all the time? Maybe UI guys could give feedback here?

I consider the other way around. I would expect 90% of Blender users (or advanced users anyways) to use shortcuts to go in and out of this mode. In fact I would expect people to replace the default shift+space and relate shortcuts to access this mode instead. So the vanishing icon is more a resource for those who accidentally get into the mode and don't know how to quit.

That was the design underneath at least. It's less intrusive than a popup that says: "press Alt + F10 to leave fullscreen" with a checkbox "never show this again". (I did consider that, but Ton was strongly against that ;)

The icon to always show would be bad imho. For multiview at least you really don't want anything on the way (for Image Editor and Sequencer).

We already have other text overlay User Ortho, Object Name, View axis.

If 3D depth conflicts with overlay text... I think we better have some view toggle that hides all overlay text & icons - it makes sense for multiview.
('Render Only' option is already very close to this)

I had a discussion with @venomgfx and @Ton Roosendaal (ton) and we came up this plan of actions:

  • I will make the click spot to be closer to the actual drawing area (at the moment is not matching at all.
  • Replace show/hide header shortcut (by Alt+F9 perhaps?)
  • Double-check if edge action-zone to resize panels are working (assuming the user opened the panel with a shortcut (N/P)
  • Merged this in master during BCon1 so we experiment with it during the release cycle and gather feedback
  • Maybe I can move this patch to a branch

A few of the alternatives brought in that discussion and in the discussion with @Campbell Barton (campbellbarton), as well as their argument contrary:
(note this is for the records mostly, not to derive in a design discussion, though we can always discuss more of course)

1 . Show/hide all UI elements when mouse is in any editor edge

  • For panels (N/P/Header) that wouldn't work unless they are in overlay mode. For the action zones this could work but you would then never have a position where the mouse is entirely outside the scene
    1. A popup to indicates that the user is now on her own, relying on a shortcut to leave.
  • No annoying pop-ups in Blender!
    1. Leave mouse still to hide UI
  • It can work for Image Editor (assuming you are not texture painting) but it wouldn't work for 3D Viewport work.
  1. Have separate shortcuts for fullscreen and clean UI
  2. That would lead to more work if the artist just want to quickly go in/out of a clean ui fullscreen mode
  3. That still has the issue of user accidentally pressing the 'hide ui' shortcut
  1. Only show the tilted <-> icon when the operator is called from the Menu, not from shortcut
  2. User could still press shortcut by accident
  3. Generally confusing (subject, but still)
  1. Always show the tilted <-> icon
  2. That defeats the point of having a clean UI mode
  • Update to latest master (via rebase)i
  • Change Show/Hide Header from Ctrl+H to Alt+F9
  • Matches the clicking region to be 1:1 to the drawing
  • Debug drawing of clicking area when debug == 1

The only missing thing is to make sure the edge action zones (to change the header/properties/... panels) are still working (they are not at the moment).

  • Enable edge action zones even in fullscreen

@Campbell Barton (campbellbarton) - good to go?

Hi Dalai
I added a workaround/fix to get the right window states whereas the lion_fs animation phase.
The double promotion of toggle still happens when using alt-f11 but the states are now always
correct which should also assure the context is okay. Can you give it a check ?
You had a patch to lookup CTX_wm_window(C) ) somewhere.

I'am not as much available today due marriage anniversary ( wife would kill me coding all the time )


@Dalai Felinto (dfelinto). applied patch, tested, ran standard sanity checks... works well.

LGTM - merge to master.

This revision was automatically updated to reflect the committed changes.