This Week in KWin (2012, week 40-43)

First of all I want to say sorry for not providing an update for the last few weeks, which makes this post more a “This month in KWin” than a “This week in KWin”. There are many reasons why I haven’t provided an update, one of them is that not that much has happened, as new features were merged in just this week and given that 4.9 has been out for quite some time not so many new bugs are reported.

Since Thursday we are in soft feature freeze, which means that only features listed in the Planned Feature Document are allowed to enter master. And there are quite a few nice additions which went into master lately. We have two new effects: one to animate when a mouse click has been performed. It’s a really nice effect especially for screen casts. The other one is a small JavaScript effect which animates the maximize window state change. If you don’t want to wait till 4.10 for this effect: it’s compatible with 4.9 and can be downloaded.

This brings me to the next topic: finally the categories on kde-look.org for our new scripted elements have been created which means we get GHNS integration. Luckily I prepared the code for Scripts and Window Switcher Layouts for 4.9 and the download button was just visually hidden. Now that the integration works, I pushed a change for 4.9.3 to show the button. For scripted effects this had not been prepared, but GHNS integration will be available in 4.10.

Given that GHNS for effects works and I really want to see many effects being developed, I was finally forced to create the API documentation. Tutorials will be added sometime soon, also including how to write C++ effects, my old tutorial is no longer up to date at all.

Summary

Bug Fixes

  • 307609: Zoom effect broken in master
    This change will be available in version 4.10
    Git Commit
  • 307866: kwin fails to build when the GLES support is disabled
    This change will be available in version 4.10
    Git Commit
  • 308248: Incorrect offset for decoration-maximized elements
    This change will be available in version 4.9.3
    Git Commit
  • 308283: [JJ]: DimInactive effect does not update on config changes
    This change will be available in version 4.9.3
    Git Commit

New Features

  • 183996: Add a rule to select the screen
    This change will be available in version 4.10
    Git Commit
  • 296773: GHNS support for Scripted Effects
    This change will be available in version 4.10
    Git Commit
  • 296774: GHNS support for KWin Scripts
    This change will be available in version 4.9.3
    Git Commit
  • 297636: GHNS support for Window Switching Layouts
    This change will be available in version 4.9.3
    Git Commit
  • 306436: GLPlatform should recommend either OpenGL1 or OpenGL2 compositing
    This change will be available in version 4.10
    Git Commit
  • 308990: Animate Window Maximize/Restore
    This change will be available in version 4.10
    Git Commit
  • 309006: Mouse Click effect
    This change will be available in version 4.10
    Git Commit

Tasks

  • 297634: Request category for scripted KWin Effects on kde-(look|app).org
    This change will be available in version 4.10
  • 297635: Request category for KWin Scripts on kde-(look|app).org
    This change will be available in version 4.10
  • 297637: Request category for Window Switcher Layouts on kde-(look|app).org
    This change will be available in version 4.10

18 thoughts on “This Week in KWin (2012, week 40-43)”

    1. the plasmapkg installer copies the script to a subfolder named “scripts” instead of “effects” – that’s all and easy for you to fix (if that’s the only problem)

  1. I like the new effect, but noticed some scaling issues.
    When the effect is initiated, it seems to first calculate the layout of the target window, then resizes it to the size of the start window and finally starts the transition.
    For example if one has a maximized window with a big fraction of unused area and starts the effect to restore it to a smaller size, one always sees a sudden distorted upscaling of the elements (I noticed especially the ugly captions).
    I don’t know if there is a way to avoid it as it seems that the effect just applies some scaling transformations to the pixmap of a window.

    1. Currently I do not see a solution to this problem. With Wayland it will be possible, but right now I doubt there is something we can do.

  2. Hello Martin,

    First of all, THANKS a lot for your work on Kwin! :-)

    I would like to add a feature request for the new amazing mouse click effect:
    https://bugs.kde.org/show_bug.cgi?id=309006

    I think it would be very useful to add another option to this new upcoming effect.

    More precisely, it would be really cool to have an option to add a circle *under* your mouse’s cursor.
    This in order to make your cursor more visible whenever you record a screencast of your desktop.

    In essence, it would be extremely handy to have three options to:
    1. choose the size of this circle;
    2. choose its colour (usually, I noticed most users pick the yellow one….);
    3. change its opacity (in order to make this circle more or less transparent).

    With Camstudio [1], an open source software which runs on Windows, there is an option to do so [2].
    Camtasia [3], which is probably the best commercial screenrecorder on Windows, has this option [4] as well (actually much more powerful).

    To my knowledge, on Windows, every “serious” software (e.g. [5] ) for screencasting has same this option. Even those which run on your browser, such as Screencast-O-Matic [6]

    If you take a look at YouTube there are literally tons of Screencasts where the mouse-circle option is adopted :-)

    This improvement would make KDE 4.10 (and mainly the new mouse click effect) even more awesome than now.
    For people making screencasts it would mean a lot :-)

    [1] http://camstudio.org/
    [2] http://www.youtube.com/watch?v=_1hrKeGUOCo
    [3] http://www.techsmith.com/camtasia.html
    [4] http://www.youtube.com/watch?v=laLHW3Vxq0c&feature=related
    [5] http://www.bbsoftware.co.uk/BBFlashBack/CompareEditions.aspx
    [6] http://www.screencast-o-matic.com/

    1. I don’t see a usecases in adding a circle under the mouse, given that we already have the track mouse effect

  3. Hello Martin,

    First off; *THANKS* a lot indeed for your very quick reply :-)

    > I don’t see a usecases in adding a circle under the mouse, given that we already have the track mouse effect.

    Yep. I am aware about this very feature (AND I am 100% sure you have MUCH more important things to develop right now) :-)
    More precisely, I am referring to the option to have a big “ring” which *always* rotate around your cursor.
    This “ring option” is already available in the effects with the current Kde version (I work with Kubuntu 12.10 and I had a look at it).

    This being said, for my taste, I would *never* consider to use it myself with a screencast (I am 40 years old and I often record video tutorials especially regarding GIS stuff: e.g Qgis – gvSIG etc)
    IMHO, this option with Kde (the rotating ring) is too “flashy” (not *vvery professional* for a video…) :-)
    Apart from trying it myself with Kubuntu 12.1, I have never found this option used in a video on YouTube and alike (and there*might* be a reason for this… ) :-)

    Compiz, with Ubuntu, has a similar effect (there is a sorf of flame around the mouse: http://www.youtube.com/watch?v=0f-rg4OCfsI).
    But, again, I would never use this effect for a professional video tutorials (IMO it is to distracting and “childish”)…

    On the contrary, there are *plenty* of videos with the circle option under the mouse’ cursor….
    In my view, this effect looks more “professional” (and I do not think it is only a matter of my personal taste)…

    On Linux, Eidete (a video recorder), has added this same option lately (https://launchpad.net/eidete) but now it is far to “crashy” to use :-)

    To sum up, I might end up by adding a new mouse’s cursor preset myself (by drawing a mouse cursor with a yellow circle beneath) :-)

    Anyway, to recap, thanks a lot for having taken the time to answer me :-)

    Thanks again *indeed* for your work on Kwin: you rock!
    KDE is more and more better (I have dropped Unity to use it) :-)

    1. If the only concern are the graphics of the mouse track effect: they can be changed very easily :-)

      1. the mouse track effect looks indeed ridiculous in a professional screencast.. a decent transparent circle would be best.. if this would be possible with the mouse track effect – great ! there’s only one thing left: an option to set the mousetrack effect to “always on” so you wouldn’t have to use the shortcut every 5 seconds :)

        i guiss c++ knowledge is needed to change this ?

        1. The purpose of the track mouse effect seemed to be assistance in detecting the cursor on screen (used to be some yellow stars rotating around the cursor) – not being a yellow spot or so.

          It’s animated because you spot animations simpler, blame evolution for your lousy brain (and mine too)

          You can however replace one of the ing images with a full circle. It will still rotate, but obviously that’s not notable.

          The shortcut to activate the effect (not the meta key) _is_ persistent, ie. if you activate it once, it’ll keep active until you toggle it off.

          There seems a bug in the GUI, since the shortcut can not be enabled as long as one of the modifiers is selected. Please file a bug on that.

  4. Hi waldelf,

    > the mouse track effect looks indeed ridiculous in a professional screencast…

    Yep. I totally agree ;-)

    I suppose this kind of effect is more geared for people visually impaired (please, I do NOT mean to offend anyone here…).
    This effect is not meant for taking professional screencasts since it would be far more distracting for your viewers.
    In my view, besides, the size of the “rotating ring” currently available with KDE is far too big (unfortunately, it looks like you can not reduce its size) :-)

    At present, with KDE, you can add your own mouse cursor shape and I am going to try to draw one myself for my needs.
    Judging by this tutorial (http://www.ehow.com/how_5026012_make-cursors-file-ubuntu.html) it looks a bit difficult to do everything correctly (especially the final part with the Shell Konsole).
    Another problem is that, quite probably, you might need many different cursors: e.g. with different size for your circles; different colours and so on….
    In short, this option is not quite adaptble…

    In the end, quite often, when I record some “professional” screencast (for GIS stuff) on Linux, I usually prefer to use a Windows software (e.g. Camstudio, which is open source).
    With Virtualbox, and Windows 7 as a host, I start recording my video with Camstudio.
    The Linux Guest is Kubuntu 12.10 AND every thing I do on Kubuntu is recorded by Camstudio on Windows (through Vbox).
    Sometimes I record my videos WITH the mouse circle cursor option enabled on Camstudio:-)

    P.s.: in the end, I modify my videos with Blender (e.g. to trim, zoom-pan etc).

  5. I use the new maximize window effect constantly for several days and still like it very much.
    I wondered if it would be possible to also use the effect when resizing the window to one half (or quarter) of the screen. As I use mostly shortcuts for that IMHO it would be a more consistent look and feel. At the moment the the maximizing effect has a nice transition where as the half-filling effect snaps.

    I don’t see a big difference technically, as in all cases the the begin and end size (and position) of the window are well known, so that the actual effect would do exactly the same?

    1. Animation for QuickTiling cannot be done before 4.11. We are already in feature freeze and technically it requires more adjustments than I can justify for past feature freeze.

      1. Interesting. I wouldn’t have thought that.
        It’s always funny how expected complexity and actual reality differ^^

Comments are closed.