After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 747578 - fullscreen transitions
fullscreen transitions
Status: RESOLVED OBSOLETE
Product: gtk+
Classification: Platform
Component: .General
unspecified
Other Linux
: Normal enhancement
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on: 641648
Blocks:
 
 
Reported: 2015-04-09 18:45 UTC by Matthias Clasen
Modified: 2018-05-02 16:30 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Matthias Clasen 2015-04-09 18:45:06 UTC
A wishlist item from Christian Hergert: 

It would be nice if I could animate a GtkTextView into fullscreen mode with
something like the following.

```
void gtk_window_fullscreen_from_widget (GtkWindow *window,
                                        GtkWidget *origin);
```

Similar to the magnifier in the inspector, it would be nice if it where rendered
at 2-3x resolution or something and then scaled down by the compositor/gpu
so it doesn't get fuzzy (although you probably wont even notice if the
animation speed is fast enough).
Comment 1 Owen Taylor 2015-04-09 19:01:44 UTC
Hmm, not sure how this would work at the window system level. Two ideas, but both are really Wayland specific, not things we could expect to be implemented across other backends. (Someone should check if OS X or Windows have any APIs in this area)

 - We literally expose this to the window system - we have a request to fullscreen a window with a source rectangle of the window that will be zoomed out and replaced at full scale with the new contents of the window. (What happens on the reverse?)

 - We have some request to fullscreen but the old window contents are left frozen on the screen and you can do whatever animations you want layered on top of that - a cross-fade or zoom or whatever.
Comment 2 Christian Hergert 2015-04-09 19:15:42 UTC
(In reply to Owen Taylor from comment #1)
> (What happens on the reverse?)

I think when leaving fullscreen from VLC on OSX, they just crossfade back to the desktop (no zoom) from black.

But I imagine other applications (like music/photos/etc) probably want crossfade+unzoom. One potential use case I can think of is a fullscreen view in Music where the album cover is rendered large on the screen. When leaving full screen that might be the widget that animates back to its position in the album view.

>  - We have some request to fullscreen but the old window contents are left
> frozen on the screen and you can do whatever animations you want layered on
> top of that - a cross-fade or zoom or whatever.

Another thing that my suggestion above doesn't address, would be if you know the new widget won't consume the entire new window. (And that might be out of scope). But imagine that the new textview is centered 80-columns. It might be jarring to have it scale to the entire screen and then jump to it's new size.
Comment 3 Bastien Nocera 2015-07-01 22:12:24 UTC
(In reply to Christian Hergert from comment #2)
> (In reply to Owen Taylor from comment #1)
> > (What happens on the reverse?)
> 
> I think when leaving fullscreen from VLC on OSX, they just crossfade back to
> the desktop (no zoom) from black.
> 
> But I imagine other applications (like music/photos/etc) probably want
> crossfade+unzoom. One potential use case I can think of is a fullscreen view
> in Music where the album cover is rendered large on the screen. When leaving
> full screen that might be the widget that animates back to its position in
> the album view.

OSX cheats, really, as it remembers the last fully rendered frame of the "windowed" application, so it has something to move back to, and then app renders again. This is visible if you change workspaces from the fullscreened application.
Comment 4 Matthias Clasen 2018-02-10 05:12:32 UTC
We're moving to gitlab! As part of this move, we are moving bugs to NEEDINFO if they haven't seen activity in more than a year. If this issue is still important to you and still relevant with GTK+ 3.22 or master, please reopen it and we will migrate it to gitlab.
Comment 5 Bastien Nocera 2018-02-13 14:38:50 UTC
Would still be nice to have.
Comment 6 GNOME Infrastructure Team 2018-05-02 16:30:52 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/gtk/issues/544.