Home Home > Desktop > Kde
Sign up | Login

Deprecation notice: openSUSE Lizards user blog platform is deprecated, and will remain read only for the time being. Learn more...

Archive for the ‘KDE’ Category

Saschas Backtrace: Gobby (collaborative editor)

December 28th, 2008 by

By working in the Weekly News Team, one Problem was bad. Only one Person can edit in the Wiki at the same time. Now yesterday Jan (dl9pf) has an great Idea. We test an pice of Software called “Gobby”.

The Projectpage from Gobby is: http://gobby.0x539.de/trac/

You can install the Program with: zypper in gobby.

After running the Program you can go to “Existing Session” (I don’t know who is called in English),

After Login you see the following:

Working Place

Every User has an own Color. The first Section is the Place who you can edit an open Document. Every change what you are make. is in your own color. I have written “Dies ist eine Testnachricht”. And my color is orange. In the bottom of the Program is an Chat-Window. Here can all Editors communicate.

Menue

In the List of Documents you can see, what Documents are open. All in this List you can edit, or add an own Document.

In the Lust of Users you can see all Users with the own color.  And you can see, what Program is owned by other Users.

All in all i must say: This is an very nice Program. 🙂 I think we’re using this Program every time. I’ve heared that the new Version is delivered without the Chat Function.

In the next Time i try it out and write an Report.

By the Way, we would like to say: “Thank you” to the Gobby-Development-Team.

for our german people: “Freiesmagazin”

December 22nd, 2008 by

Two month ago, i noticed that an new Linux-Magazine has published. This Magazine is available in HTML and PDF Format. The Project URL is: http://www.freiesmagazin.de.

You can subscribe an RSS Feed, so you never missed an issue. The Magazine gives an global overview about the LINUX Market. It includes Reports about Hardware, Software and Distributions.
Have a lot of fun with it.

Fate Internal, Up- and Downstream

December 16th, 2008 by

motivated by Aaron’s blog post More downstream fun I was thinking about how Fate could be a more important part of infrastructure in the Linux landscape. Fate is now an important part of the Novell/SUSE infrastructure and we are currently in the process to open it up for the openSUSE community. But could Fate also be useful for upstream integration? To let you participate in the discussion I think I should start with some explanations what Fate is and in which environment we are with it.

Fate is a system developed at SUSE over the last few years to track features and requirements for Novell Linux products.  The term “feature” is already is a topic for scientific papers, but how we understand a feature is a functionality  that is not yet in the product but required or wanted. It references future products, in most cases more than one such as SLE and openSUSE.

Fate Feature Tracking EnvironmentThe little sketch illustrates the dilemma in which we are when it comes to product planning. Basically it is all about one  thing: decision taking. Decisions have to be taken about the new functionality  that goes into a product and the tasks internal people work on. This is based on the decision how the product should look alike from a high level point of view. To make a solid decision about the high level product it needs to be clear what we are actually able to put into the product at a given time. That is only a part of what is really going on but let’s leave it with that for simplicity.

You see that lots of the base information which is needed to make
good decisions comes from different people: Product managers have a strong idea of how products should be, the technical project manager knows about dates and technical possibilities and can plan with the engineering managers how that can be achieved with the given amount of people in a given time frame. Technical feasibility is worked out with the developers as they’re the experts. The colored arrows try to visualize the communication ways, different colors mark different topics.

Since we work with the communities we have more input of information: The user community tells what is needed and the upstream communities announce what they plan to do by when.

The part with the internal decision taking is very much based on Fate in the Linux part of Novell and that is working fine. Features come in by a requester and all involved parts can give their thoughts in  a discussion forum. The key functionalities add their priority for the feature and finally PM and TPM come to a decision. Features with a high priority have to make it into the product. Engineering managers can assign developers and they can mark features as finished. All the processes are covered by a set of configurable rules. The Fate system is integrated into other infrastructure parts. There are several clients for different needs, the most mature is the KDE fat client.

What is not yet optimal are two things: There is no good way yet for the user community to community their wishes for upcoming products. We are facing that with opening up a new web based openSUSE Fate client soon. That will involve the user community not only in testing and using the product but already in its planing in a defined way.

A more tricky part is how to involve the upstream communities. It would be great for a Product Manager of a Linux distribution to see the feature plans for upcoming releases of big upstream projects, maybe somehow integrated into the Fate for his product. Would the Fate model as described here in a nutshell suitable for upstream projects?

For example, could KDE or GNOME make use of parts of the process for them internally and provide a structured interface to the downstream parties? If so, that could add a lot of transparency. Transparency is the precondition for flexibility and trust and as a result for better collaboration which would benefit all.

I hope that helps for a basic understanding and would love to hear your opinion. I promise to come up with more information about the Fate system and improve my drawing skills 😉

Getting GroupWise 8 client to work on openSUSE 11.1

December 10th, 2008 by

Since openSUSE 11.1 has gone gold and GroupWise 8 has been around for a while, I decided to install openSUSE 11.1 with KDE 4.1 on my laptop. I use GroupWise and when I tried to install the GroupWise rpm’s, it complained about missing dependancies. I had to install the following software in order for GroupWise 8 to work:

openmotif, openmotif22-libs and libstdc++33

Once that was installed the GroupWise rpm’s installed without any problems

Follow The Netbook Road

November 6th, 2008 by

As many people will have noticed from my ramblings on twitter and identi.ca and also from my sporadic almost dumb sounding questions on IRC (thanks very much for your patience in IRC btw), I have been working on getting a usable installation of openSUSE on the eeePC 701 – both GNOME and KDE4. As I have a 4GB SSD model my aim is to have a feature full install taking up no more than 2.6GB. Yes I know this doesn’t help those with the 2GB model, but I’m scratching my own itch here ;). Ultimately I would like to be able to create USB and CD images of the builds in time for 11.1’s release which is in about 43 days time, problem is KIWI does not like me 🙁 but I will persevere and see what I can conjure up in time. I am a happy user of openSUSE 11.0 with XFCE on my eeePC at the moment, but I fancy a bit of a challenge and a good dose of stress and anger trying to get it to work will be a welcome distraction from the stress and chaos I have to deal with at work 🙂

So what packages am I looking at putting on there? Below are a couple of tables of applications and what I have selected for each DE including ASUS eeePC related drivers (ACPI/Events) and also bluetooth; I have tried to stick to those that come with the DE e.g. all KDE apps are KDE4 variants, and if a DE provides an app for a function I try to use that.  So the first iteration of the table is:

  KDE GNOME XFCE
Terminal Konsole GNOME-Terminal Terminal
Text Editor Kwrite Gedit Mousepad
Web Browser Konqueror Epiphany Epiphany
File Manager Dolphin Nautilus Thunar
Music Player Amarok2 Banshee xfmedia
Video Player Dragon Player Totem xfmedia
PDF Viewer Okular Evince Evince
IM client Kopete Pidgin Pidgin
IRC client irssi Pidgin Pidgin
Office Suite OOo OOo OOo
E-mail Kmail Evolution Claws-Mail
RSS Akregator Liferea Liferea
Calendar Korganiser Evolution Orage
Addressbook Kaddressbook Evolution Claws-Mail
Flashplayer Yes Yes Yes
Java Java-1.6 Java-1.6 Java-1.6
Codecs Xine Gstreamer Xine
Photo Viewer Gwenview F-spot Ristretto
FTP Client Dolphin Nautilus Gftp
Networking NetworkManager NetworkManager NetworkManager
Total Space Taken Up 2.6GB / 2676552k 2.7GB / 2752336k 2.6GB / 2718412k

 

As you can see KDE4 takes up the least amount of space followed by XFCE with GNOME dropping into third place.  This surprised me as I actually expected XFCE to be way ahead in the lead.  I then tried to minimise the number of applications and tried to use apps that could multi task, still prefering those that are included as part of the openSUSE distro:

  KDE GNOME XFCE
Terminal Konsole GNOME-Terminal Terminal
Text Editor Kwrite Gedit Mousepad
Web Browser Konqueror Epiphany Epiphany
File Manager Dolphin Nautilus Thunar
Music Player MPlayer Totem xfmedia
Video Player MPlayer Totem xfmedia
PDF Viewer Okular Evince Evince
IM client Kopete Pidgin Pidgin
IRC client irssi Pidgin Pidgin
Office Suite OOo OOo OOo
E-mail Kmail Claws-Mail Claws-Mail
RSS Akregator Claws-Mail Claws-Mail
Calendar Korganiser Claws-Mail Orage
Addressbook Kaddressbook Claws-Mail Claws-Mail
Flashplayer Yes Yes Yes
Java Java-1.6 Java-1.6 Java-1.6
Codec Framework
ffmpeg Gstreamer Xine
Photo Viewer Gwenview Eye Of GNOME Ristretto
FTP Client Dolphin Nautilus Gftp
Networking NetworkManager NetworkManager NetworkManager
Total Space Taken Up 2.6GB / 2662540k
2.6GB / 2682516k
2.6GB / 2716364k

As you can see KDE is still the leader, but GNOME has managed to close the gap significantly.

You will notice that there are some notable applications missing from both tables, both from the Mozilla family – FireFox and Thunderbird.  I chose not to use FireFox as the browser as I have been experiencing some icky lockups with it, and this is irrespective of platform.  I decided against Thunderbird because it just did not like to display correctly on the 7″ screen, even the version supplied by Xandros refused to display nicely.  As KDE4 doesn’t have a native IRC client yet I have chosen irssi, i will update the list when a native KDE4 client is available – most likely Quassel.  Also as it stands Kaffeine is not available for KDE4 yet, when that happens I would imagine I would replace MPlayer with it.

Both the GNOME and KDE4 builds were based on a minimal X install – for GNOME add gnome-panel and gnome-session; for for KDE add kdebase4-session, kdebase4-workspace and kde4-win; XFCE was based on the supplied pattern.  One thing I did notice is that 11.1 (Beta4) seems to have put on a bit of weight in comparison to 11.0, a base install appears to be ~400MB more O_o.  I am going to to do a verification shortly and file a bug so hopefully I can thin them out even further.

If people have any recommendations or suggestions as to what applications to use, then please let me know.  My next step is to create both ISO and USB images, any and all help would be much appreciated – SUSEStudio access would be even better ;)  This list is not meant to be the be all and end all, but more a matter of itch scratching.  Yes I know I could reduce the space taken up if I didnt bother with any of that non-free codec crud, and drop flash from the equation, but I’m pragmatic and ultimately want to see people use openSUSE.  Get them using our distro first, once thatis established then we can educate them on the ugly side of things.  Once I manage to create the images with the above package list i will look at creating a completely free version with no colsed codecs/apps.

Once again I’d like to thank all those on IRC for there help and advice – JP Rosevear, James Wilcox, Stephan Binner, Will Stephenson, Martin Schandler and Hubert Figuiere.

KDE 4: Hiding of Task Bar is now Part of openSUSE 11.1

October 24th, 2008 by

When I blogged a couple of weeks ago about KDE3 and KDE4, I mentioned that hiding of the task bar is the number one missing feature. Yesterday I talked with Will Stephenson – he was hacking on the sofa in the hallway – and he showed me some new stuff including this one which is now in openSUSE 11.1 Beta3.

To enable it, do the following: (more…)

Introductions

September 16th, 2008 by

I recently became an openSUSE member and good manners dictate that I introduce myself.

My name is Johan Kotze and I work as a pre-sales engineer for Novell. I live in Paarl, South Africa – a beautiful town in the Cape winelands. I am married and have a 5 year old daugther (yes she does have her daddy wrapped around her little finger )

Like all geeks I like to play with new stuff, so my primary contribution to openSUSE is to try out all the new releases and file bug reports. I run openSUSE on all of my machines at work and at home and spread the word whenever I can.

My other interests include programming (pascal and C#) and bird watching (the feathered kind) and traveling. I’ll gladly give advice to anyone wanting travel info on Souther Africa.

I am currently running openSUSE 11 with KDE 4.1 on my primary laptop (a Lenovo T61p). It took me a while to figure out that you  to have to click on the little kidney thing in the right corner before you can move plasmoids around on the taskbar.

I will try (no promises) to blog about my experiences with openSUSE and other open source software.

KDE3 and KDE4 for openSUSE

September 10th, 2008 by

As Zonker announced yesterday (and I copy some lines from his message), the KDE team has decided to take the following course of action after receiving a great deal of feedback on the issue of KDE 3.5 inclusion in openSUSE 11.1 – and state of KDE 4.1:

  • KDE 3.5 will be part of the DVD media for openSUSE 11.1, though space constraints may require to slim the package selection for 3.5 slightly.
  • KDE 3.5 will be included in the main selection page under “Other Desktop Environments” (during installation).
    This way new users will learn KDE4 directly and those users updating from a previous openSUSE release will not see this dialog at all.  Those that want KDE3 to install anyhow will still be able to easy install it.
  • We encourage and support contributors who are interested in maintaining KDE 3.5 for future releases of openSUSE, however the Novell employed part of the KDE team will shift focus to maintaining the KDE 4 packages for the openSUSE releases after the next one.
  • While KDE 3.5 will be on the openSUSE 11.1 media again, KDE 3.5 will not be included on any 11.2 “official” media or repositories, but the community certainly has the option of creating live CDs with KDE 3.5 packages for 11.2.
  • The Novell KDE team will only be addressing high priority bugs for KDE 3.5.x from this point forward. Again, this does not preclude community contributors from supporting KDE 3.5.x, and we encourage them to do so.
  • We will work on an easy migration from KDE3 to KDE4 desktops so that settings and data will persist.  This has already been started for openSUSE 11.0 and will continue to get improved.

We’d like to thank all the people who helped provide constructive feedback while we evaluated the best course for the next release of openSUSE. While we know that no solution is guaranteed to make every user happy, we think that we’ve reached the best compromise for openSUSE 11.1 and beyond, to ensure a smooth transition. (more…)

HOW TO: Remove the annoying KDE error “kio_media_mounthelper” when unmounting usb device

September 6th, 2008 by

With KDE3 and with some usb sticks or drives, could happen that if you try to safely remove them, with the classic right click –> safely remove, you’ll get an error from kio_media_mounthelper.

The error say that: The device was correctly unmounted but couldn’t be ejected

This is only a really annoying warn because the media has been unmounted so we can safely remove it, but how can we remove that?

I found the fix on Mandriva bugzilla (bug #39762)

The solution is really easy, is infact enought download that script (kdeeject)

Once the script has been downloaded do the following as root:

chmod +x kdeeject
mv kdeeject /opt/kde3/bin/kdeeject

now we will get that warn no more!

Just for knowledge, that script ask to hal if the device could be ejected, if not the media is only unmounted, if yes it is ejected too.

I hopes that to be usefull for lots.

Andrea 😉

Button Order in YaST: Trying to Make Peace with Both Worlds

August 28th, 2008 by

KDE and GNOME have different button orders. Like many desktop-related issues, this has been a subject of heated debates time and time again.

Where KDE uses something like this:

GNOME would use something like this:

Which one is right? Which one is wrong? There is no real answer to that; it will always be more a religious debate rather than an objective discussion.

YaST Button Order

So, which button order to choose for YaST?

For historical reasons, we used the KDE button order. But this has repeatedly started the same heated discussions as for KDE vs. GNOME, with the same results — which is, no tangible result, only something along the lines of “because we says so” (and didn’t you always hate it as a kid when mom or dad said that?).

YaST should not favour one of the major desktops over another. YaST should work well for all users. So, YaST should adapt to the environment it runs in.

YaST comes in different flavours. There is the graphical version: The YaST Qt UI (user interface) engine (Side note: The YaST Qt UI is not in any way KDE specific; Qt just happens to be a great toolkit for making graphical user interfaces, and KDE happens to use it, too. There is not one single line of KDE-specific code in the YaST Qt UI.).

There is also the text-based version, the YaST NCurses UI.

As an alternative graphical UI, there is also the YaST Gtk UI which uses the same widget toolkit (Gtk) as GNOME. That brings YaST closer to the GNOME crowd. At least, that’s the theory. Yet, that alone didn’t improve the situation in any way for this button order issue:

YaST dialogs are specified in a subset of the YaST-specific YCP scripting language. Those dialog descriptions include input fields, list boxes, headings, etc. as well as the logical arrangement of all those user interface elements (widgets, even though that term has seen a lot of misuse recently). And buttons, too, of course.

So, the arrangement of buttons was still fixed. The YaST Gtk UI couldn’t really do anything about changing that button order so it looked more GNOMEish.

This is now different. We introduced a new widget ButtonBox that abstracts exactly that. A YaST module developer now only specifies “there is a ButtonBox, this is where I put my buttons, and the ButtonBox will arrange them as appropriate”.

…for users…

So now it is possible for the first time to use the proper button order for each environment: GNOME button order for the Gtk UI, KDE button order for the Qt UI.

But there is more.

…for power users…

The Qt UI can now demonstrate the fact that it’s not KDE specific. It checks what environment it runs in and uses the appropriate button order: GNOME button order when running in GNOME and KDE button order for KDE (or other window managers).

It checks the $DESKTOP_SESSION and $WINDOWMANAGER environment variables to figure that out. But of course power users can still override that and set the $Y2_BUTTON_ORDER environment variable to “KDE” or “GNOME”.

…for YaST developers…

Of course, such a change doesn’t come over night. There is a very large amount of YaST code. I counted 69 .desktop files in my /usr/share/applications/YaST2 directory; that corresponds to 69 YaST modules. On my machine I have 432000+ lines of YCP code below /usr/share/YaST2 . Now try to figure out how many YaST dialogs that might be, and how many of them need to be converted to use that new ButtonBox mechanism.

Obviously, it’s a lot of stuff to change. So the change should not hurt the people doing the change more than it absolutely has to. Don’t forget, it’s not just working hours that have to be paid; it’s also working hours that can’t be spent on implementing other features or on fixing bugs. And any change (even more so changing code at so many places) means a possibility to introduce new bugs.

…trying to be smart…

So this ButtonBox mechanism was made to be smart, to re-use existing information (things that are already there in the code), to make good use of existing conventions.

In principle, using something like the ButtonBox means having to tell it which logical role each button has so it can be arranged according to the current button order’s conventions: Which button is the positive confirmation of a dialog (it might be “OK” or “Continue” or “Yes”, but it might also be someting like “Save” or “Print”), which one is the “safe escape” (“Cancel”, but sometimes also “No”), which one is the “Apply” button or the “Help” button, and which ones are just “other” buttons. Remember, YaST is being translated into some dozen languages, so just hard-coding the English button labels won’t do.

But we already have a mechanism that maps (translated!) button labels to function keys, and that mechanism does something similar: There is a list of commonly used button labels and what function key is to be used (in the NCurses UI) for them. For example, “OK”, “Continue”, “Yes”, “Next” all map to the F10 key, “Cancel” to F9, “Help” to F1.

Extending that thought some more, it makes sense to assume an “okButton” role for buttons that are otherwise assigned the F10 key, “cancelButton” for buttons that get the F9 key, etc.

Buttons in YCP each are assigned a widget ID. That ID is the “handle” by which a button is being referenced; this is what the YCP application receives when it is informed that the user clicked that key. When specifiying a layout with buttons, this looks (slightly simplified) like this:

UI::OpenDialog( 
    `VBox(
         `InputField(`id(`name  ), "Name" ),
         `InputField(`id(`street), "Street" ),
         ...
         `HBox(
               `PushButton(`id(`ok    ), "OK" ),
               `PushButton(`id(`apply ), "Apply" ),
               `PushButton(`id(`cancel), "Cancel" )
               )
         )
);

As shown in this example, a button with the “OK” role typically has an ID like `id(`ok), a “Cancel” button has `id(`cancel), an “Apply” button has `id(`apply). So this information is used, too, to figure out what role a button has.

Of course, there are still situations where the system needs to be explicitly told what button has which role: It’s hard to figure out in a generic way that a “Print” button or a “Save” button has the “okButton” role in a dialog. In that case, the YCP developer has to change the code to look like this:

`PushButton(`id(`print), `opt(`okButton), "Print" )

…the normal case…

But in many cases, the migration is as simple as replacing the `HBox() (the horizontal layout box) holding the buttons with `ButtonBox():

UI::OpenDialog( 
    `VBox(
         `InputField(`id(`name  ), "Name" ),
         `InputField(`id(`street), "Street" ),
         ...
         `ButtonBox(        // This is the only line that changed
               `PushButton(`id(`ok    ), "OK" ),
               `PushButton(`id(`apply ), "Apply" ),
               `PushButton(`id(`cancel), "Cancel" )
               )
         )
);

…taming the masses…

Just imagine doing only this little change in 432000+ lines of code – of course, only where such a `HBox() contains `PushButtons, not just blindly replacing all `HBoxes. And just changing it is not all there is to it; each dialog has to be tested, too. And that alone is not so trivial: A dialog might easily only be shown in very exotic cases, so the developers doing the test have to recreate each of those exotic cases just to see the dialog.

You see, masses of code are a dimension of complexity all of their own. Little things that look trivial to do gain a whole new meaning. Everybody can do this change in one or two places, but try to do it in someting as big as YaST — without introducing new bugs that would wreck other people’s system.

Yet, we do those kinds of changes, typically unnoticed by the user community. And those little things are what, if added up, make or break a system’s quality.

We don’t take such decisions lightly. But we felt that in this specific case (the button order) the gain would be worth the pain: Users should feel at home in the tools we provide. And having the buttons where you are used to is part of this feeling at home.

Further Reading

http://en.opensuse.org/YaST/Development/Misc/Button_Order