Tag Archives: Plasma Desktop

AM-NV SysMonitor P./A. II X2-X6 Pack 1.0 (Plasmoid Script)

Thumbnail

AM-NV SysMonitor P./A. II X2-X6 Pack 1.0
(Plasmoid Script)
The AM-NV SysMonitor Athlon II X2/X3/X4 & Phenom X2/X3/X4/X6 Single GPU based on the EG-SysMon-QC.

System information and hardware monitor. Monitors CPU, memory, HDD, network traffic, and much more.

This Addon’s use the /etc/os-realese files to show you your Distribution.

Its works only with KDE 4, nVidia GPU’s, AM2+/AM3(+) CPU’s and was Optimized for Athlon II X2/X3/X4, Phenom II X2/X3/X4/X6 and Single Core NVidia based Grafikcards.

Tested with Asus M5A88-V EVO, Phenom II X4 960T, openSuSE 12.1, sensors version 3.3.1 with libsensors version 3.3.1 and MB Sensor atk0110

Other Versions for the Bulldozer Series will follow soon.

The “Themes” should actually be displayed the CPU Modelname.
Although the preview is on AMD Processor Model Unknown, that’s my CPU name. This is an AMD 960T drilled on X6, so “AMD Processor Model Unknown”.

Contents:
AM-NV-SysMonitor_Athlon_II_X2_S-GPU_English-Edition-v.1.0.skz
AM-NV-SysMonitor_Athlon_II_X3_S-GPU_English-Edition-v.1.0.skz
AM-NV-SysMonitor_Athlon_II_X4_S-GPU_English-Edition-v.1.0.skz
AM-NV-SysMonitor_Phenom_II_X2_S-GPU_English-Edition-v.1.0.skz
AM-NV-SysMonitor_Phenom_II_X3_S-GPU_English-Edition-v.1.0.skz
AM-NV-SysMonitor_Phenom_II_X4_S-GPU_English-Edition-v.1.0.skz
AM-NV-SysMonitor_Phenom_II_X6_S-GPU_English-Edition-v.1.2.skz
changelog
readme
Athlon_II_X2-X4_Karamba-Priview.png
Athlon_II_X2-X4_Plasma-Priview.png
Phenom_II_X2-X6_Karamba-Priview.png
Phenom_II_X2-X6_Plasma-Priview.png

The following are required:

SuperKaramba Version 0.57
x86info
cpupower
libsensors version 3.3.1
sensors version 3.3.1
KDE 4
NVIDIA GPU
AM2+, AM3 and AM3+ Mainbords

Installation:

KDE4 Plasma Desktop:

1. download the AM-NV-SysMonitor_Phenom-Athlon_II_X2-X6_S-GPU_English-Edition_Pack-v.1.0.tar.gz file, extract it where you want.

2. Click on Add Widgets –>> Get new widgets –>> install applet from local file –>> SuperKaramba: Karamba desktop design –>> your download folder –>> AM-NV-SysMonitor_Phenom-Athlon_II_X2-X6_S-GPU_English-Edition_Pack-v.1.0 –>> AM-NV-SysMonitor_XXXXX_II_XX_S-GPU_English-Edition-v.1.X.skz

3. Now you can choose the Theme in your Plasma Desktop, thats all.

Downloadlink fixed

changelog:
AM-NV SysMonitor Athlon II X2 Single GPU English-Edition:

Version 1.0:

First release

AM-NV SysMonitor Athlon II X3 Single GPU English-Edition:

Version 1.0:

First release

AM-NV SysMonitor Athlon II X4 Single GPU English-Edition:

Version 1.0:

First release

AM-NV SysMonitor Phenom II X2 Single GPU English-Edition:

Version 1.0:

First release

AM-NV SysMonitor Phenom II X3 Single GPU English-Edition:

Version 1.0:

First release

AM-NV SysMonitor Phenom II X4 Single GPU English-Edition:

Version 1.0:

First release

AM-NV SysMonitor Phenom II X6 Single GPU English-Edition:

Version 1.2:

CPU Cores read interval=10000 changed to interval=1000

Version 1.1:

Add a readme file
Add the changelog file
Add a Logofile
Fixed the maindata.xml

Version 1.0:

First release

[read more]

job recommendations:

[more jobs]
…read more

Source: FULL ARTICLE at KDE Apps

Klyde coolness update

I’ve heard Will Stephenson, Klaas Freitag and Frank Karlitschek talk about a lighter and/or easier KDE based desktop forever. And while I shared the ambition, implementing it is always easier said than done.

So when Will asked me to join his

systemsettings simplified.

Systemsettings exposes about 80 different modules to the user. Some of these you’ll (almost) never use. And many which, from an user point of view, belong in one place (like theming) are split over several categories due to technical implementation details. It is noticeable that this was designed from the technology up, not from the user requirements down. I spend a big part of my hackweek figuring out how these categories are populated and the modules are shown, then creating an alternative tree with only about 35 modules. Will made a patch to allow systemsettings to either show the basic or the full set of KCM‘s.

This is an example of what we mean by simple, although we’re not done yet. Ideally, these and other improvements will go upstream and we intend to put work into that.

Note that this simplification, in no way, can be scientific. Of course 30 KCM modules is more ‘simple’ than 80 but it is very much a matter of taste to decide which ones need to be there and which ones don’t. That’s why we want to put effort in having our cake and eating it too: creating a proper theming KCM might allow us to get rid of a whole raft of theming-related KCM‘s, for example. Yup, we’re still KDE people… But in other places, we are willing to make hard choices based on common sense, research and simply our taste. Unless a designer can convince us he/she Is Right™ we reserve the right to make bad decisions.

Feedback?

We’re open for feedback and would love to hear input. Please remember that we’re trying to get stuff done so if you have input, put in the effort to make it useful. Have mockups, refer to what others do or scientific facts. Remember that we are not trying to create a desktop for experienced computer users and tinkerers: they can easily morph the normal Plasma Desktop into what they want. It’s what I do myself, its what the vast majority of people who read this do.

Instead we aim for a wide cross-section of people who don’t want to put in the cognitive effort to understand abstract stuff like virtual desktops or activities. If you understand and use these things to be more productive (which I do myself, by the way), you’re not our target audience.

If you want to help out, join the #opensuse-kde channel on freenode and check out our trello board.

Enough talk

Enough talk? Wanna try it? Yeah, it ain’t perfect yet, but I’ve created an initial Studio image and published it in the Gallery. It can be installed, if you insist, but this is a beginning of a

From: http://blog.jospoortvliet.com/2013/04/klyde-coolness-update.html

the case: brand

This is part of the “Case for KDE” series of blog entries in which I explore various non-technical aspects of KDE. What follows are my personal thoughts and observations rather than an officially sanctioned position statement by the KDE community.

I figured I would start with the topic of branding as it is a fairly simple topic .. a nice way to ease into this little adventure. It’s also a topic that has been getting increasing amounts of attention in the Free software communities in the last few years as products become more successful, projects progress and more companies appear on the scene.

So where does KDE stand on branding?

Brand as Reflection

Branding is used to communicate a message to the outside world. “What message?” is the million dollar question. Some use branding as a way to project an image of what they wish to be, sometimes without concern about whether that is reality or not. Some use branding simply as an abstract identifier that says “This is us” without embodying a given message. Others use branding to reflect the core values and ideas that exist independently of the branding. I like to think of these respectively as image, identification and reflection branding.

(I’m sure professionals in the marketing space who specializing in branding are ready to choke me right about now .. 😉

KDE has elected for the sort of branding that reveals inner realities. This means that there is extremely limited pressure from the branding efforts to alter the core products, values or community. Instead the evolution of KDE itself puts pressure on the branding, causing it to adjust with time to accurately reflect what KDE is right now and the direction the efforts are heading in.

This is why a few years back we chose to no longer use the term “KDE” to refer to the software itself, but rather the community. KDE is the people. The things they make, all that lovely software, art, documentation .. those things have proper names. This is not where KDE started 15 years ago, but what it became.

Brand as Permission

Sometimes KDE uses branding in a rather unorthodox way: as permission. When we took the name “KDE” away from our desktop offering (now referred to as Plasma Desktop) it gave us permission to reconsider the relationship between the libraries, the desktop and the applications. Up until that point there were two recurring sets of tensions.

A growing number of application developers were actively trying to distance themselves from the name “KDE” so that people wouldn’t mistakenly think that the attributes of the “KDE desktop” reflected on their work, or that you could only use their app in “KDE” (the desktop environment).

We also undervalued our library assets. They existed simply to let us write applications. We released them in one big lump along with our applications, in fact. This kept many people from using the libraries and tied …read more
Source: FULL ARTICLE at Planet KDE

Calligra 2.6.2 Released

The Calligra team has released version 2.6.2, the second bugfix release of the Calligra Suite, and Calligra Active. This release contains a number of important bug fixes to 2.6.1 and we recommend everybody to update.

Bugfixes in This Release

Here is an overview of the most important fixes that are in 2.6.2. There are several others that are not mentioned here.

General:

  • Mime types were synced between the Words, Sheets and Stage applications and the Calligra application.

Filters:

  • A bugfix in the import filter for the old KSpread file format that led to styles being treated wrong.

Sheets:

  • Fix for a bug that sometimes made the error #CIRCLE appear on a cell even when there was no circular dependency (bug 316244)

Krita:

  • Fix for a bug with the OpenGL drivers that led to the user sometimes have to remove their kritarc file manually (bug 308713).
  • Krita now correctly remembers the layer box status.
  • A crash fix for empty layers
  • A fix in the autosave code
  • Fix for a bug when a layer was rotated counter clockwise.

Try It Out

  • The source code is available for download: calligra-2.6.2.tar.bz2. As far as we are aware, the following distributions package Calligra 2.6. This information will be updated when we get more details. In addition, many distributions will package and ship Calligra 2.6 as part of their standard set of applications.
  • In Chakra Linux, Calligra is the default office suite so you don’t have to do anything at all to try out Calligra. Chakra aims to be a showcase Linux for the “Elegance of the Plasma Desktop” and other KDE software.
  • Users of Ubuntu and Kubuntu are urged to try the daily snapshots prepared by Project Neon. Paste the following in a terminal window and you’ll find Calligra installed in /opt:
    sudo add-apt-repository ppa:neon/ppa 
    && sudo apt-get update
    && sudo apt-get install project-neon-base 
       project-neon-calligra 
       project-neon-calligra-dbg

    You can run these packages by adding /opt/project-neon/bin to your PATH.

  • Arch Linux provides Calligra packages in the [kde-unstable] repository.
  • Fedora packages are available in the rawhide development repository (http://fedoraproject.org/wiki/Rawhide), and unofficial builds are available for prior releases from kde-unstable repository at http://kde-redhat.sourceforge.net/ .
  • There are OpenSUSE Calligra packages in the unstable playground repository.
  • Calligra FreeBSD ports are available in Area51.
  • MS Windows packages will be available from KO GmbH. For download of Windows binaries, use the download page.
  • Mac OS X: We would welcome volunteers who want to build and publish packages for the Calligra Suite on OS X. There are some first attempts

About Calligra

Calligra is part of the applications from the KDE community. See more information at the website http://www.calligra.org/.

…read more
Source: FULL ARTICLE at Planet KDE

extending plasma desktop scripting

The Plasma Desktop Scripting system allows one to add, remove or alter essentially any aspect of a running Plasma Desktop or Netbook shell at runtime using nothing more than javascript. This scripting system is used to define the initial setup you get when you log in for the first time, to provide configure updates and to provide user-friendly ways of adding new kinds of panels and desktop layouts. You can even write scripts interactively by typing “desktop console” into krunner.

Today I was asked on irc if one could extend the Javascript API at runtime so that instead of people writing scripts having to know how your applet works internally they could just call things like “awesomeWidget.setTheme(‘foo’)” and have that do the correct thing.

At first I said “no” because the API is defined and managed by the shell and that’s all C++ and there is no plugin mechanism .. but then about five seconds later I remembered that I had indeed added a plugin system. In fact, that is how the “New panel” menu works in Plasma Desktop. I even had an example on disk: org.kde.plasma-desktop.findWidgets. This is a small desktop scripting template package with ~13 lines of Javascript that adds a findWidgets call to the API.

Here is how you use it in practice:

var finder = loadTemplate(‘org.kde.plasma-desktop.findWidgets’);
finder.findWidgets(“pager”, function(widget, containment) {
print(“Found a pager with id ” + widget.id + ” in a ” + containment.type + ” containment with id ” + containment.id);
})

Which gets me output like this on my laptop:

Found a pager with id 4 in a panel containment with id 1

The “big trick” is that the findWidgets package does not have an X-Plasma-ContainmentCategories entry in the metadata.desktop file which prevents it from showing up anywhere in the user interface. As a result, it is only accessible via the loadTemplate call when installed into share/apps/plasma/layout-templates/.

You can distribute layout template packages with your Plasmoids or other Plasma add-ons to allow easy (and future-proof) interaction with your add-ons from user written scripts.

Such fun.
…read more
Source: FULL ARTICLE at Planet KDE

Calligra 2.6.1 Released

The Calligra team has released version 2.6.1, the first bugfix release of the Calligra Suite, and Calligra Active. This release contains a number of important bug fixes to 2.6.0 and we recommend everybody to update.

Bugfixes in This Release

Here is an overview of the most important fixes that are in 2.6.1. There are several others that are not mentioned here. Since this release is very close to the big release of 2.6.0 the development team has concentrated on crash bugs and other serious bugs potentially leading to data loss.

General:

  • Fixes for several different crashes. See for instance bugs 314676, 314747
  • Several new or improved icons for different applications.
  • General look and feel on Windows improved by hardcoding the theme.

Filters:

  • A new filter for the MOBI ebook format was released with 2.6.1. This filter was scheduled for 2.6.0 but was withheld because of some bugs that were discovered late in the release cycle.
  • Much improvement in exporting tables in the HTML export filter.
  • Fix options in the CSV export dialog (bug 314766)

Try It Out

  • The source code is available for download: calligra-2.6.1.tar.bz2. As far as we are aware, the following distributions package Calligra 2.6. This information will be updated when we get more details. In addition, many distributions will package and ship Calligra 2.6 as part of their standard set of applications.
  • In Chakra Linux, Calligra is the default office suite so you don’t have to do anything at all to try out Calligra. Chakra aims to be a showcase Linux for the “Elegance of the Plasma Desktop” and other KDE software.
  • Users of Ubuntu and Kubuntu are urged to try the daily snapshots prepared by Project Neon. Paste the following in a terminal window and you’ll find Calligra installed in /opt:
    sudo add-apt-repository ppa:neon/ppa 
    && sudo apt-get update
    && sudo apt-get install project-neon-base 
       project-neon-calligra 
       project-neon-calligra-dbg

    You can run these packages by adding /opt/project-neon/bin to your PATH.

  • Arch Linux provides Calligra packages in the [kde-unstable] repository.
  • Fedora packages are available in the rawhide development repository (http://fedoraproject.org/wiki/Rawhide), and unofficial builds are available for prior releases from kde-unstable repository at http://kde-redhat.sourceforge.net/ .
  • There are OpenSUSE Calligra packages in the unstable playground repository.
  • Calligra FreeBSD ports are available in Area51.
  • MS Windows packages will be available from KO GmbH. For download of Windows binaries, use the download page.
  • Mac OS X: We would welcome volunteers who want to build and publish packages for the Calligra Suite on OS X. There are some first attempts

About Calligra

Calligra is part of the applications from the KDE community. See more information at the website http://www.calligra.org/.

…read more
Source: FULL ARTICLE at Planet KDE

Plasma.next()?

Sebastian wrote a pair of blog entries in the last week about where we are heading with Plasma in the near future. The first was an overview of the pathway to Frameworks 5 and what we’re provisionally referring to as Plasma Workspaces 2. The second entry covered his work on making it possible to write widget layouts (aka Containments) in QML.

For me, the key sentence in that entry was this:

The work that is upcoming in Plasma Desktop is further bridging the gap between Plasma’s interfaces for different devices and formfactors.

I’d like to share a little bit more about what this means long-term, and share a few more nuggets of where we are headed with the various Plasma workspaces in the process.

One Shell To Bind Them

In the early days of Plasma, the idea was to write one binary per form factor and share components between them. This would allow us to sculpt the overall interaction pattern of the shell while sharing the bulk of actual code, particularly the code that took the most effort such as network management. The shells take care of creating and managing the windows that make up the shell: panels, desktop layers, configuration dialogs and controls.
The desktop shell has around 9,300 lines of code, the netbook shell has under 3,000 and plasma-device (used in Plasma Active) has a little under 4000. Given that the rest of the Plasma code base ends up closer to a quarter million lines, this has been a pretty effective strategy.
There a couple limitations here, however. First, you need to write a shell if you want to approach a completely different type of device or interactive pattern. Experience shows that it’s only 3-10 thousand lines to do so, but it would be nicer if that number was closer to zero.
Secondly, we’ve offered the ability for some time to switch at runtime between the Netbook and Desktop form factors. This is a little messy in that we have to stop one process and start the other. Not particularly pretty. With Plasma Active, we also started really fleshing out how much could be done if we also tweaked the settings of the window manager as well as various applications. What we’d far prefer is to be able to change the workspace layout entirely, including the bits that the shells have been doing up until now, without restarting processes and also alter other runtime settings such as changing the window decorations (or even removing them entirely in the case of Plasma Active).
We also learned in Plasma Active that we could write a rather generic shell and populate it entirely with QML. Sebastian’s efforts bring those lessons deep into the core of Plasma. So in Plasma Workspaces 2, we want to provide a single shell binary with desktop, netbook, tablet and other form factors all being serviced by it. This will also give us the infrastructure to easily and elegantly switch between interaction concepts, e.g. between a mouse+keyboard-centric Desktop to a touch driven tablet experience. These transitions could be triggered by hardware events (docking, screen connected via HDMI, etc) or user configuration.
The result is that we’ll share even more code between the different workspaces, be able to target new form factors even faster and produce a more consistent experience with cutting edge features.

One use case I’m personally looking forward to is plugging my laptop into the T.V. and having Plasma Desktop be replaced with Plasma Mediacenter automatically.

Plasma Framework

In coordination with the efforts to turn KDE‘s libraries into the highly componentized KDE Frameworks, Plasma’s libraries and runtime parts are going to go into their own self-contained repository as well that follows the Frameworks policies. This means that all the components that are currently in kde-runtime will be moving into the same repository as libplasma or into kde-workspace, depending on where they best belong.
This isn’t just an exercise in practicing how to use the “mv” command, however. The biggest shift here is that all the user interface bits are going QML. In libplasma2 there is no more QGraphicsView support. While DataEngines, Services, Runners and other data-centric components will continue to be written in C++, Javascript, Ruby or Python, the UI will all be done in QML. This is why we’ve been porting components at such a pace to QML.
In KDE Workspaces 4.11 we’ll have some of the remaining big pieces in place: the window list (tasks) widget, the containments, krunner, etc. So when we make the move to libplasma2 as part of Frameworks 5, we’ll be ready for the move away from QGraphicsView and into QML scene graph without hiccups for the user or our development teams. Yes, this means that the next major version of Plasma is going to be somewhat unexciting. We can’t promise the fireworks of the 4.0 release, and I’m sure you’re all disappointed by that news. 😉
For those who have OpenGL capable hardware and reasonable drivers, this will give them a fully hardware accelerated desktop. In such environments, we’ll also have the ability to use fancy things like OpenGL shaders to achieve visual effects and usability concepts we can’t do right now.
Oh, and the library is now a fraction of its previous size. More with less.

Plasma Active 5

We’re hoping to make Plasma Active 4 the last release based on KDE Platform 4. This is a very important release, if only because it’s going to be the version that ships on the Vivaldi tablet. However, we’re also looking forward here too.
There are still variables in the equation, but our current goal is to make Plasma Active 5 a slightly longer than usual (for Plasma Active) development cycle and re-base on KDE Frameworks 5. This means Qt 5 and QML Scene Graph. It also means the possibility of using Wayland on devices. The KWin hackers have been insanely busy working on the changes needed to make this possible, doubly so since Martin was recently sponsored to work on KWin full time.
If things go according to plan, we’ll be able to use the improved QML shell with libplasma2 and provide a very modern experience in terms of performance and interaction. Things like per-window transformations (important for supporting device rotation, among other things) become within our reach.
We also want to move Plasma Active‘s code closer to the Plasma Workspaces repositories. In fact, we’d like to create one Workspaces area on projects.kde.org under which the code in kde-workspaces, kdeplasma-addons, the left-overs from kde-runtime/plasma, networkmanagement, bluedevil and new repositories such as kscreen can all come together .. without coming together in one git repository. This will make building everything easier (if you use kdesrc-build, at least) while making it easier for us to manage the various assets.
Of course, it isn’t all under the hood work.

Expanding on the Active experience

Something we’ve striven to do with Plasma Active is create an environment that is productive. Right out of the box you have eBook readers (and books!), office document viewers, a file manager (and even a terminal ;), data sync and much more. Combined with Activities, Plasma Active is really about getting useful things done (where you define what “useful” means) with your device.
We’ve been working lately on extending that from consumption to production. If you noticed, most of the items in the last paragraph were about using data: viewing, sharing, organizing. What about manipulating and creating? We really would like to make it dead simple to do things like take a photo, touch it up a bit and share it without requiring an Instagram in the way. We’d like to make it as easy to open a spreadsheet and view it as it is to create a new one.
However, in Plasma Active we’ve made two purposeful decisions: do not expose the hierarchical file system (unless the use case dictates that as a requirement) and do not expose details that are not relevant to the usage of the device (e.g. I care that I can open that spreadsheet, it’s less important at that moment that the application is Calligra Sheets). Thus to open a spreadsheet one opens the file manager and goes to Documents, or simply searches for the document from the Launch area directly. No file system, no application launchers.
Creation should be just as straight forward. So we will be providing an interface that focuses on creating new things, just as the Files app focuses on managing existing things. In this model, you will simply tell the device that you’d like to start making a spreadsheet. Oh, and that you’d like to email it to your colleagues when your done.
Combined with an expanded Share Like Connect system and data sync services, publish and subscribe for activities and various other tweaks we have in the pipeline, 2013 will be a really great time for Plasma Active.

The Desktop too!

This will also be a time of significant upgrades to the desktop as well. The QML work is one major thing, but Share Like Connect will also be featured in the desktop along with improved activity management and widget (Plasmoid) handling.
We have a steady stream of improvements coming starting with 4.10’s QML containment support, continuing on to things like kscreen so we have a first-rate hotplug-driven and low-to-no-configuration screen management system (hopefully included with 4.11; many of us are already using it now!) and the bigger UI work that will come with the move to libplasma2 and Frameworks 5.
The desktop changes will not be very radical, but then our focus is to improve performance and expose features like Activities more effectively while also tieing into the multi-form-factor-but-one-shell idea.

Ok, we get it: you’re doing lots of stuff.

I could continue to write about what we’re up to right now and what that leads to next .. but I fear this is already long enough. I hope, along with Sebastian’s and Marco’s posts, it gives everyone a slightly clearer idea of where we’re heading. We have a lot of work to do to get where we want to go, but we’ve already accomplished so much in the last few years that we know it is not only possible, but that we have the people who can make it happen.
Of course, one of those people could also be you. 🙂

Source: FULL ARTICLE at Planet KDE

Desktop Containment moving to Plasma Quick


As many other components of the Plasma Workspaces, Plasma Desktop’s default Containment is being ported to QML. A technology preview of the containment is being demoed and can be tested by a wider audience now. While the port is mainly replicating the current desktop containment in QML, its interaction scheme to position and manipulate widgets on the desktop has been improved.

First of all, a note: The code presented in this article is not part of the upcoming Plasma Desktop 4.10. It can easily be installed on top of it, it might see inclusion in the summer 2013 release, however

In our Roadmap, you learn that KDE is currently porting many aspects of its workspaces to QML, with the goal to create a more modern user experience on top of state-of-the-art technologies such as Qt5, OpenGL scenegraph and Wayland. The move to QML is a gradual process, made possible by the componentized architecture of Plasma. Widgets and other components that make up the workspace are replaced with QML ports one by one. The premise is to not introduce regressions by shipping each component “when it’s ready”. Ultimately, we need a complete set of QML components to run the whole desktop (and at some point also apps) directly on top of the graphics hardware, leading to higher graphics performance and more available resources on the CPU.
One of the important pieces is the Desktop containment. This is the component in Plasma that is responsible for managing and laying out widgets on the desktop and creating the toolbox (which makes some “workspace actions” available to the user. In general, a “Containment” is an area on the screen (a panel, the desktop background, the dashboard, …), and it takes care of managing widgets, their position and sizing within. It also offers access to action specific to widgets, or the containment or workspace.
The currently shipped (also in 4.10) default Desktop containment is written in C++, using QGraphicsWidgets and offers free placing of widgets on the desktop, with a bit of edge and overlap detection and repositioning poured in.

Demo movie of the new QML Desktop containment

User interaction improvements

Most of the new containment is exactly the same as in the current default — this is done by design, we do not want to introduce radical changes to the workspace (and the users’ workflows), but rather improve gradually and in an iterative process. There are two areas (which in fact are closely related) where we did change a few things: positioning/sizing and visual cleanliness. These are expressed in two changes: integration of applet handle and positioning aids.
In order to reduce visual clutter, we integrated the applet handle into the applet’s background frame. Previously, it would be its own frame, and shift out as separate element from under the widget. Merging handle and background frame reduces the number of distinct elements on the screen and allows less intrusive transitions when the widget handle becomes visible.
The second important change is that we now provide helpers when the user moves and resizes a widget. When moving, we show a halo at the position the applet will snap to when dragged. This makes widget placement more predictable and allows the user to get it right in one go. We also align the widgets to an invisible grid, so applets automatically end up being aligned pixel-perfectly with each other, which leads to a more ergonomic workflow, cleaner appearance of the workspace, and again to less visual clutter.

Platform improvements: Bindings and Toolbox

An important aspect of the work on the QML containment, was to improve the bindings which load declarative code (QML) into Plasma shells, these improvements are included in Plasma 4.10, due to be released in early february. This includes the necessary platform features to allow running fully-featured QML containments, something which we have done in Plasma Active for a while, but within a more confined context.

As a result of this work, Plasma can now also load toolboxes written in QML. The Plasma Toolbox is the little widget with the Plasma icon you can see on top of many containments, and which gives access to actions such as add widgets, settings, shortcuts, etc.. The toolbox used with the containment shown is a 1:1 port of its counterpart in the current default (C++) toolbox. The name of the toolbox package is currently hard-coded in the bindings (it loads it from the org.kde.toolbox package and silently falls back to the C++ implementation if that isn’t found — a 4.10 feature), but it also opens up this part of the workspace to QtQuick goodness. The toolbox is basically a translucent layer on top of the desktop, so much freedom is given to other implementations).

A template and a bridge

The code is not only there to replace the current containment, it also serves as a template for new developments. With the new containment bindings in place, it is now very easy to create your own containment, modify someone else’s and publish them to share them. The containment shown is just one example for what we can do with the QML integration features in Plasma. As Plasmoid packages are architecture independent, this of course works across devices and different workspaces.

The work that is upcoming in Plasma Desktop is further bridging the gap between Plasma’s interfaces for different devices and formfactors. Some of its code has been introduced in Plasma Active, and is now available in a more generic fashion also for Plasma Desktop (and Netbook). This brings us closer to one of our goals, having only one shell that dynamically loads a suitable interface (Containment, Widgets) for a given formfactor, use case, output device, etc.

Give it a spin

If you’re interested and would like to try it (we appreciate feedback, it’s especially valuable in this phase!), there are two ways to get this containment. The minimal requirement for it is Plasma 4.10-beta1.
If you’re using git, you will find the code in the branch called “plasma/sebas/desktop-qml”, just check it out and build that.
If you are using the packages, you can easily install the following two Plasmoid packages to your system. If your system is using a version prior to KDE SC 4.10-beta1, the packages will install, but not work.

The following commands install the necessary Plasma packages into your home directory.

# create the package directory and go there
mkdir -p `kde4-config --localprefix`/share/apps/plasma/packages/org.kde.toolbox
cd `kde4-config --localprefix`/share/apps/plasma/packages/org.kde.toolbox
# unpack the plasmoid package
unzip ~/path/to/toolbox-git28012013.plasmoid
# check if it's installed correctly, 
# this should list metadata.desktop and contents/
ls -la `kde4-config --localprefix`/share/apps/plasma/packages/org.kde.toolbox

Then install the desktop containment package (If you’re updating the containment at a later stage, use plasmapkg -u.):

plasmapkg -i desktop-qml-git28012013.plasmoid

You can now choose the new containment from Layout dropdown in the Desktop Settings, pick “Default Desktop (QML)” there.

I would like to thank Blue Systems for supporting my work on the above topics.

Source: FULL ARTICLE at Planet KDE

Packaging changes in KDE Telepathy

We have done some changes to our KDE Telepathy repositories recently, that might be interesting for packagers.

We have consolidated all Plasma applets into a single repository called ktp-desktop-applets (originally ktp-contact-applet). The ktp-presence-applet repository is now empty, the master branch contains just a README, the stable branch kde-telepathy-0.5 is preserved.

We have also normalized names of the applets, so they are now called org.kde.ktp-presence, org.kde.ktp-chat, org.kde.ktp-contactlist and org.kde.ktp-contact. The ktp-desktop-applets installs an update script for Plasma Desktop that will automatically update user configuration on next login.

All declarative plugins are now located in ktp-common-internals, so that all our QML models and utils are available for developers.

These changes will be first available in 0.6 release.

Source: FULL ARTICLE at Planet KDE