Screen management got magic

As you may know Dan Vrátil and I are working in a brand new screen manager that will solve most of the issues that we currently have on the desktop, making the configuration of monitors either auto-magical or super simple.

We are trying be as smart as possible adapting the behavior of it to each use case making the configuration of monitors as simple as plugging them to your computer.

A video is worth more than a million words:

New KDE Screen Management from Àlex Fiestas on Vimeo.

The behaviors are still not finished and we may change our defaults based on feedback and field test, but eh! it is a start :p

I’d like to personally thanks Red Hat for sponsoring Dan and my employer BlueSystems for letting me squeeze some time to move this forward.

Finally if you want to get this working:

  1. Compile libkscreen
  2. Compile kscreen
  3. qdbus org.kde.kded /kded org.kde.kded.unloadModule randrmonitor
  4. qdbus org.kde.kded /kded org.kde.kded.setModuleAutoloading randrmonitor false
  5. qdbus org.kde.kded /kded org.kde.kded.loadModule kscreen

Enjoy !

  • jaom7

    This looks quite promising. Any comment if this will work with the proprietary NVIDIA driver?

    keep the good work!

    • eliasp

      It should work with the latest nvidia drivers since nvidia finally (after 8 years or so) implemented XRandR support… :)

  • Pingback: Zarządzanie wieloma monitorami w akcji | KDEFamily()

  • yaco

    Hi, could you post a link or another way to download the code? Thx

  • R.Andres

    Congratulations, this is most excellent!

    Thank you very much!

  • Vadim

    Will it be possible to show different activities/virtual desktops on different screens simultaneously?

  • Pingback: В рамках проекта KScreen разработано новое средство настройки многомониторных конфигураций в KDE | — Всероссийский портал о UNIX-си()

  • Carsten

    Nice work. It would be even more magic, if it would it would have support for automatic window placement in different monitor setups.

    Imagine you work in your office (multiple monitors attached) with all your development tools open. The you suspend your laptop to go to a customer. There you only have your laptop with just the single display. When you resume, all windows should obviously be moved to that single display.

    When you return to the office, it would be magic, if all those windows would automatically be moved to the display they had been on previously.

    For a start it should be sufficient to only consider windows that are visibile all the time.


  • Alexandre B.

    This is nice !

    Is this use case managed :
    – plug your laptop to an external screen
    – disable the laptop screen and enable the external screen (ie. for watching a movie)
    – “accidentally” unplug the external screen cable from the laptop
    -> The default (biggest) resolution should be automatically switched back on on the laptop screen, without manual user action.

    Anyway, this looks very great. Do you have a milestone for inclusion in KDE ?

  • gerlos

    Kudos! This is really something great we all were waiting for! You are my heros!

    Just a couple of questions:
    – What happens if we switch from double monitor config to a clone monitor config? Are the windows moved from the second monitor to the cloned one?
    – How do we cope with laptops like my macbook pro, that don’t come with an hardware button for switching monitor mode? Will there be a plasmoid or something to replace the missing button?

  • Pingback: Links 29/12/2012: Calculate Linux 13, Finnix 107 | Techrights()

  • Christian

    did not find easily the code, so here are the links:

    git clone git://
    git clone git://

    I can’t compile it on Kubuntu 12.10: libjson is provided as v0.7.1-6build1 ATM in (K)ubuntu, but v0.8 is required to compile libkscreen.

    Could you provide us with information how to compile and test it under a current Kubuntu?


    • Leif

      Chris –

      I edited the CMakeLists.txt in both the libkscreen and kscreen directories to remove the ‘0.8’ requirement, so that just the library is required and not a specific version, as I’m also stuck on 0.7.1

      It builds fine with no errors, and I’m just about to test it…

      • Leif


        leif@patroler:~$ qdbus org.kde.kded /kded org.kde.kded.loadModule kscreen
        leif@patroler:~$ qdbus org.kde.kded /kded org.kde.kded.setModuleAutoloading kscreen true
        leif@patroler:~$ qdbus org.kde.kded /kded org.kde.kded.isModuleAutoloaded kscreen
        leif@patroler:~$ qdbus org.kde.kded /kded org.kde.kded.isModuleLoadedOnDemand kscreen

        It doesn’t look like kscreen is loading correctly. It may be because it was built ‘debug’ so it’s not installed in the correct directory..

        I’ll research more

        • Leif

          Yup. Moved them from /usr/local/[lib,share] into /usr/[lib,share] and they load,
          although crashed on startup.

          I’ll have to log-out and log back in to see if it’s taking effect.

          • Evpok

            Thanks, Leif, I have been trying to figure this out for hours :)
            I changed it using cmake -DCMAKE_INSTALL_PREFIX=/usr is there another more obvious way? I am not very familiar with cmake.

  • Michael

    Thank you very much, I appreciate alot your effort.

    Please also consider testing setups with more than two screen. In the past I have tried three and four-screen setups with mainly nvidia but also intel drivers, tested from kernel 2.6.3x up to recent and various xorg version.

    There were constantly issues like plasma getting totally confused with twinview (nvidia is faking xinerama information, which again breaks plasma in some cases with three screen. Patched xinerama libs that report a self-defined setup cause various stability issues etc.). Or KWin taking every available screen and just having some hard-to-find config-setting to disbale it, making it only take one screen. It would be nice to have more control over this.

    I know three/four-screen setups are not that common, but it would be nice if these were taking somewhat into account.

    • Luca Beltrame

      KScreen works fine in my triple-head setup (FOSS Radeon driver) at the moment, but it’s a static setup.

  • Pingback: KDE: finalmente un nuovo gestore dei monitor | Bl@ster's Home()

  • Pingback: Galactians 2 | best iPhone iPad travel apps, top ios travel apps()

  • jospoortvliet


    Awesome work, guys. Looking real nice. I do have a problem (see screenshots) but I’ve reported a bug so you can pick it up on bugzilla :D

  • Wolf

    Thanks for the work!

    Just now, I have tried the new screen management (with qjson 0.7 – at least it compiles). It also seems to work, but I noticed a few things.

    My setup: laptop (LVDS1) with two Monitors (HDMI1 and 2). Only up to two screens are supported by the hardware, so LVDS1 is off when two screens are connected.

    – when clicking on the info button in system settings, it looks like LVDS1 and HDMI1 are on the same screen (see ) even though LVDS1 is off

    – I played around and removed HDMI2 and set it up to switch on LVDS1 instead. Works nice. And remembers the setup :-)

    – However when I connect HDMI2 again, it switches off LVDS1 (ok) but does not switch on HDMI2. Screenshot: – the screenshot shows that HDMI2 is on, but actually it isn’t. Also notice that HDMI1 and 2 have different sizes although its the same monitor model (?). After doing xrandr manually and setting HDMI2 to auto right-of HDMI1, both screens appear with the same size in the display configuration.

    – Sometimes all my three screens are shown on top of each other so that it seems that only one monitor is detected. You have to move the screens to find out that there’s another screen hidden below. While this seems ok if you want to clone the screens, it should be visible that there’s something hidden underneth.

    – Final comment: Using the “Favorite” icon for primary screen is a bit confusing.

    –> Thank you for the work!

  • Shantanu Tushar

    Installed and works great, my monitor seems like magic now :)
    However, since I installed kscreen and autoloading with kded, kwin is unable to use OpenGL with compositing (Intel drivers), anybody else with same issues or any suggestions?

  • Pingback: KScreen,KDE的多屏幕配置不再痛苦 | I, KDE()

  • Andreas Demmer

    Auto-enabling external displays now works very well after using today’s GIT master of libkscreen and kscreen. However, my “switch display” FN key does not. It was assigned as “FN+P”, reassigning it to kdeds switch display action does nothing.

    How can I trigger this “cycle displays” action with qdbus? I’d then write a script and assign it to a key manually…

  • luciferc

    When trying to issue the

    qdbus org.kde.kded /kded org.kde.kded.unloadModule randrmonitor

    command I get the following error message:

    Could not connect to D-Bus server: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

    Any hints for solution? The box is openSUSE 12.2 64bit with KDE 4.9.5.

  • Pingback: Multiple Monitors tab in "Display and Monitor" settings missing in KDE 4.9.5()

  • pdf

    This is pretty great (abysmal display management for laptop use has been my only serious complaint after switching to KDE early last year), all working as expected on KDE 4.9.5 and Ubuntu 12.04 (after setting prefix to /usr and installing libqjson-0.8 backported from Raring).

    If I get some time in the next few weeks, I might start looking at packaging and syncing this code (and qjson) to a PPA for Ubuntu users.

    • pdf

      And incidentally, this appears to avoid Bug 273212 as a rather big bonus (though workspace preview doesn’t quite update correctly)!

    • rerx

      A PPA would be a great help! I am really looking forward to trying these new features.

  • http://cnn?84739 news feed

    What i don’t realize is actually how you are not actually much more well-liked than you might be right now. You’re so intelligent. You realize therefore significantly relating to this subject, made me personally consider it from numerous varied angles. Its like men and women aren’t fascinated unless it

  • Diogo Barioni Abdalla

    Sorry for the stupid newbie question but… how do I compile this?

    I tried:

    cmake libkscreen/

    and got this errors:

    CMake Error at CMakeLists.txt:13 (qt4_automoc):
    Unknown CMake command “qt4_automoc”.

    CMake Warning (dev) in CMakeLists.txt:
    No cmake_minimum_required command is present. A line of code such as

    cmake_minimum_required(VERSION 2.8)

    should be added at the top of the file. The version specified may be lower
    if you wish to support older CMake versions for this project. For more
    information run “cmake –help-policy CMP0000″.
    This warning is for project developers. Use -Wno-dev to suppress it.

    — Configuring incomplete, errors occurred!

    Then I tried adding the “cmake_minimum_required(VERSION 2.8)” to the CMakeLists.txt but I still get the
    “Unknown CMake command “qt4_automoc” error.

    What am I missing? Linux Mint 13, KDE 4.10

    Please help, Im using my laptop with multiple monitors and it has been a pain in the ass to keep the config I need, this program seems to be exactly what I need.

  • rex

    This sounds so wonderful…..I have followed all your instrutions…..Have the files…..Please…how and where to install the files?

  • Fitzpatrick

    r u positive that is definitely true?

  • qcwywuvqy

    Tiongkok starts glowing mouth following competition of male basket person: Eliminate a countersign? Deng Shuai engages the deal with — inside fresh community
    Take part in the go with for you to bulk the group, accurate inferior your brigade associated with brilliant and beautiful sweepstakes just then the mid-level temperature which started out recently, but China male basket isn’t these kinds of. Syria associated cheap nike shoxs with opponent involving fight of intermediary warmth head, always be reverse hard China group leads to nuisance, take a look at tough even of Chinese group protect. Wang Zhi of eduction associated with Chinese language team start off mosts, the best struggle selection of rain involving Yi Jianlian, Zhu Fang, Liu Wei, Sunlight Yue, make will be hysterical, very first along with 24 when compared with 12 advertising. Initial 50 % struggle puts a stop to, chinese group grows lead dominant position for you to Nineteen moments. Syrian crew attempts to slim through Three or more minutes associated with extended shot cent is differred, however really feel involving China staff pitcher in addition not typical, many crew of Tiongkok of the number of years will be advertising Twenty six min’s, final along with relaxed get following contests.
    Benchangbi outperforms Yi Jianlian to consider next complete outlines 19 moments maximum, component person will take beneath 18 moments soon after Su Wei close therewith, wang Zhi mosts acquire 5 In search of cent, bank. Oriental staff secondary strike 20, syria is 8-10 times.
    Deng Shuai Fabiao on your own assist Wang Zhi mosts
    Soon after contest, deng Huade assaults any the company to be able to enjoy by way of blending the actual media reporter which interview area time and acquaintanceship, the player that will maintains stop all the time before this, in addition recognized media in order to meeting in player hall. For the click convention, be asked regarding In . the gamer is mixing up right now meeting an area to accept press for you to appointment, whether necessarily mean an individual previously eliminated heal helps make Inch when, complexion of Deng Cina coronary heart kitchen sinks, problem: “I state that tells you, which informs you, whom end up being? That end up being??
    Throughout be asked about Inches area involving before Iranian staff a couple of fits all outperforms compete with around 90 minutes entirely, how will you look to this specific? Exercise involving South korea staff bishop states Iranian party actual energy can be more robust than China crew these days, you how search upon this one viewpoint ” when, deng Huade replies: “The mentor of two teams is nice instructor. Inches therefore they muted since the serious, always be contrary with issue press reporter look at.
    Nevertheless, when speaking of the subject matter linked to the actual complement, deng Huade method relieves considerably, by way of example recommend california king rules use of Zhi Shang area not a very long time, his / her description states, “He meets a few important tournaments from the back numerous a large number of a couple of moment, they placement is nice currently, buckle gift basket in which in order to notice nowadays from your pet. In . it is to understand yourself an instant in the past have been contrary most likely the reply associated with mass media is a little ambitious, he describes, “Team as well as press maintain selected length prior to, it can be to create group fellow member committed with staff indoor. It is to produce team associate devoted in group indoor..
    Malaysia Thirty-six when compared with 121 Iran
    Lebanon 59 than 62 China Taipei
    South korea 106 as compared to Fifty-seven black currently fastens Kesitan
    The nike jordan 64 than Seventy two Philippine
    Okazaki, japan Info than primary of an tribe involving 61 A new couplet
    Syria Seventy one when compared with Ninety days The far east
    â–² rates high tournament
    Indonesian Eighty five when compared with 62 Bahrain
    * essential a list of brands published way up
    Get ranking land Or region failure or success is crucial
    One particular Japan 3 2 Half a dozen
    A couple of The far east 3 0 Some
    Three or more Philippine 2 1 5
    4 The nike jordan One 2 Four
    Your five Syria Zero 3 Three or more
    Zero 3 3 associated with chief of an tribe of Some A new couplet

  • Mike

    I can recieve pings from the PC to the phone, but I can’t recieve notifications and pings from the phone to the PC. What am I doing wrong?

  • billion

    Fantastic issues altogether, you just received a new reader. What could you recommend about your submit that you just made a few days ago? Any sure?