Distraction-Free Workspace

Plasma’s mantra is to help you get stuff done faster, to not stand in your way. In past releases we added many small tools for you to achieve your tasks more quickly and spend less time fiddling with the desktop environment.

To recap: task manager now shows download progress in webbrowsers or copy operations in the file manager, compilation jobs in KDevelop, update and application installation in Discover, and many more. Jump List Actions are available throughout the workspace, providing access to common tasks within an application, such as composing a new email. We even improved the user experience when something goes wrong. Media Controls are provided in more places, the system tray, the task bar, through global shortcuts and the lock screen, and even on your phone through KDE Connect.

All of this follows a common goal of letting you spend more time within the application you have to work with.

Audio Streams in task manager

A feature that has recently popped up in most webbrowsers is them indicating when there’s sound playing in a tab. This makes it easy to tell at a glance who is blaring at you. With lots of windows open, this can also be difficult to discern, but no more!

Task Manager indicating sound is being played
Task Manager indicating sound is being played

Making use of Plasma-PA’s (that is the “Volume Applet”) QML bindings to PulseAudio, we could easily query for playback streams and mark applications with a fitting icon. The context menu also has a “Mute” entry to silence the application.

The application has been muted.
The application has been muted.

While the “audio is playing” icon is only present when there’s actually sound being played (“the stream is not corked” in PulseAudio terminology) the “muted” icon is present when there is an audio stream for the application that is muted. This way you can even unmute the application after playback, e.g. a video conference, has stopped.

13 thoughts on “Distraction-Free Workspace”

  1. Great! You are a hero :)

    What’s with the “icons only taskbar”? Will the sound icon be visible there too?

    1. Icontasks is internally just an alias to default task manager with different defaults, so yes, it works. I do need to tweak the sizing / alingment a bit, though.

  2. Thank you for your continuous work on making Plasma even better. I really appreciate the focus on details, something i didn´t felt happening in the days of KDE 4.

    THANK YOU and all the ones involved.

  3. That’s a great idea. You might already have given this a bit of thought, but here’s another one to elaborate on it:

    Why not make this icon clickable, and directly display a volume slider/mute button/ device selector? This could be of great use, although it might reduce the clicking area. If so, why not in the same area as media controls (during a hover).
    I would like to help, but I never jumped on the QML train; I only have QtWidgets experience.

    1. > Why not make this icon clickable,

      I decided against it to avoid accidentally triggering it. I hardly aim at task bar entries so I would be frustrated by that.

      > volume slider

      It would be super hard to get a slider into that menu, something I don’t think would be worth the effort.

      > why not in the same area as media controls (during a hover).

      You mean in the tooltips? Yeah, could be done. To be frank, I disabled tooltips there – I just used them for some time while I implemented media controls for the benefit of others ;)

      1. Thanks for your answer, that makes sense.
        One issue I frequently have is some games not picking up the correct audio device (I admit it might be because of some config leftovers from when I didn’t have PulseAudio installed, I will sort this out when I will do a fresh install, probably a few years from now).

        Plasma allows some pretty clever drag-and-drop-to -assign-output-device in the audio applet, but it would be even more practical do do it right from the window manager. An icon enables discovery of the functionality. I do not use tooltips that much, as I don’t listen to music that much, but a mute one (eventually with a device selector one) could be useful. Let me know if you would like some help. (I would of course need some guidance, so that’s a trade-off ;) ).

        1. > One issue I frequently have is some games not picking up the correct audio device

          Well, ideally this would just work™ and not us adding lots of options for the user to fix something that shouldn’t be broken ;) Such as the 95% usecase of “I plug in my TV and I want everything to go there” – we’re pretty good at guessing or remembering what monitor setup a user wants but sound configuration still needs to be tweaked manually more often than it should.

          The original vision I had in my head was actually a mute button in the title bar instead of the task manager. However, this would have required significantly more effort, whereas here I could just re-use most of the QML modules already created for plasma-pa, add an icon to task manager and call it a day.

  4. „> Why not make this icon clickable,

    I decided against it to avoid accidentally triggering it. I hardly aim at task bar entries so I would be frustrated by that.“

    Then why dont’t you require a double click before it gets muted?

    To the Distraction-Free Workspace you should look at the Systemsettings.

    When you have installed a fresh system and you make a lot of changes and you want to play around and make changes in the systemsettings, play around with my options, looking what I could change.
    But often Times I change them back before I change to other settings but then (even if I technically havent’t changed anything) comes up this incredibly annoying and disrupting and distracting dialog.
    Again even if I at the end haven’t changed anything.

    This is incredibly annoying and it would be super awesome if someone could change that.

    1. > Then why dont’t you require a double click before it gets muted?

      Then I would still need to wait to see if the user might click a second time.

      > (even if I technically havent’t changed anything) comes up this incredibly annoying and disrupting and distracting dialog.

      This is totally off topic but this could be improved but this requires significant re-engineering of the settings module as most of them just have a “changed” signal that is emitted once something has changed but there’s no way for the System Settings app to tell whether settings in the module have actually changed.

      1. > but there’s no way for the System Settings app to tell whether settings in the module have actually changed.

        I would argue that these seemingly trivial “annoyances” are actually more important to the perception of quality to many “novice” users than fancy features that get devs technical bragging rights.

        They really limit our ability to convert windozes & osxers to kde, and end up falling short to gnome and their awful (but neater around the edges) shell.

        I wish kde devs would stop adding features and just one day use the system as a whole, find these easy to dismiss ideosyncracies and focus on them.

        Things like plasma-shell handling IO when copying files is just wrong, just so to get fancy animation on the tray? Being forced to use console for copying large stuff coz plasma-shell leaks ram till its OOM’d, losing my copy (and no, fixing thenmem leak isnt the “solution”, patchwork us never a solution to a design problem).

        And who came up with plasma-shell copies starting with all directories before any file is copied, hence making it impossible to continue partial copies from what is remaining (a behaviour cp & even ssh apply), these paradigms exist for a practical reason, esp when shell inevitably crashes!

        We can talk bad about windows all we want but they really got kde beat when it comes to actual user experience, not to mention stability in the enterprise desktop! /rant

        1. > I would argue that these seemingly trivial “annoyances” are actually more important to the perception of quality to many “novice” users than fancy features that get devs technical bragging rights.

          I don’t think this non-issue you pointed out of “I change some settings and change them back because I feel like wasting my time” is much of an issue for a novice user.

          > plasma-shell handling IO when copying files is just wrong

          It only monitors, the actual copy job is done out of process.

          > And who came up with plasma-shell copies starting with all directories before any file is copied, hence making it impossible to continue partial copies from what is remaining

          Yeah that’s pretty terrible. In general copying files in KIO is like the slowest thing ever. This is not Plasma’s fault, though, but obviously the user doesn’t and shouldn’t care whose fault that is.

          Btw, instead of ranting here on my blog, you could file bug reports on bugs.kde.org, submit patches, and also we have a fundraiser currently: https://www.kde.org/fundraisers/yearend2016/

Leave a Reply

Your email address will not be published. Required fields are marked *