This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Move terminal on to screen

4

Votes
4
0
Tags: yakuake yakuake yakuake
(comma "," separated)
User avatar
TheBlackCat
Registered Member
Posts
2945
Karma
8
OS
Currently when Yakuake shows or hides the terminal, the position of the text on the screen stays the same, it is simply that you see more or less of it until it is either fully shown or fully hidden. It is like it is anchored at the top and is unrolling a scroll from the bottom. I think, as an option, that instead the whole terminal changes position, with the text moving onto or off of the screen. This would be like one of the roll-up maps you see in grade school or a pull-down window blind, where the contents of the terminal actually move off the screen. The same effect is used for showing/hiding the panel.


Man is the lowest-cost, 150-pound, nonlinear, all-purpose computer system which can be mass-produced by unskilled labor.
-NASA in 1965
hein
KDE Developer
Posts
69
Karma
1
OS
Short version: It's currently the way it is due to a number of reasons, but it will be like you wish it to be fairly soon.

Long version: The current Yakuake animation works by progressively adjusting the XShape window mask of the window and moving the title bar widget along with the changing bottom edge of the mask. The current Plasma panel show/hide animation, on the other hand, works by moving the entire window contents inside the window and relying on an alpha channel to make the rest of the window visually empty as the panel moves inside it.

The reason Yakuake uses the strategy it does is that that strategy predates the prevalence of desktop compositing and works without it; the Plasma panel strategy requires compositing. Another difference between Yakuake and the panel is that the compositing manager may apply a window shadow effect to the Yakuake window, while they usually don't render a shadow for panel type windows. Most window shadow effect implementations don't actually produce a correct shadow for the window's alpha channel (for performance reasons), so the empty portions of the actual window as the Yakuake UI moves up inside it would still be shadowed (admittedly, many shadow implementations also don't compute proper shadows for shaped windows -- KWin's doesn't either, which is why window shadows are disabled for shaped windows such as Yakuake).

Anyway, in the future, the Yakuake animation will move into a KWin effect plugin. If KDE/Kwin are new enough / the effect plugin is determined to be present, Yakuake will set a window hint comprising of an x/y coordinate and an animation duration in miliseconds. KWin will then do the rest and smoothly slide Yakuake in and out from/to the coordinate, with the speed determined by the duration setting. Doing it this way the entire window contents will slide, not just the title bar. This will only work in KDE initially (until the other composition managers support a similar thing and/or some standardization occurs), however; the old animation code will be kept as a fallback for older KDEs and other desktop environments/window managers, or just for when compositing is disabled.

The new KWin-based animation will be significantly smoother. And it will probably be also pretty necessary once KWin starts drawing window shadows for shaped windows, which would probably kill the performance of the current animation strategy due to KWin having to recompute the shadow every frame.

Last edited by hein on Mon Apr 20, 2009 12:58 pm, edited 1 time in total.


Plasma, apps hacker. KDE e.V. vice president.


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot], Sogou [Bot]