Python Goes Karamba

Total Page:16

File Type:pdf, Size:1020Kb

Python Goes Karamba KNOW HOW SuperKaramba Brighten up your KDE background with SuperKaramba and Python Python Goes Karamba SuperKaramba helps you do something useful with your KDE background. Now, with just a little help from Python, you can define exactly what that extra functionality you need is going to be. BY HAGEN HÖPFNER nce you start using Super- Snake Charming /small_text_xmms.py Karamba [2] to a add clock and If we want to use Python to add more Oan MP3 player to your KDE functionality to themes such as the one Now open the theme file, small_text_ background [1], you will probably start discussed in [1], we do not need to mod- xmms.theme, by selecting Open… in the yearning for more. The good news is that ify the existing code. Instead, we can main SuperKaramba window, to trans- you can use the Python [3] programming simply add another file to the theme late the Python source code into Python language to add a wide range of interac- directory. The file will use the same byte code (see Box 1). (If you cannot see tive features to Karamba themes. For name as the theme itself, and is recog- the hidden .superkaramba directory, in example, you can create menus, dynami- nizable by its extension, .py. The the file selection dialog, press [F8].) As cally modify texts, and add drag & drop SuperKaramba developers recommend the compiler displays error and debug- support to your themes. starting off with a template (see [6]), and ging information on the standard output The underlying idea is as follows: modifying the template. You will find the channel, it makes sense to launch When a KDE event occurs (e.g. moving sample theme at [4]. SuperKaramba manually by typing the mouse, launching a program, or Unpack the latter by entering superkaramba (you may need to specify selecting a menu item), the program the path) in an X terminal (for example responsible for this event sends out a sig- tar -C ~/.superkaramba -xjvf U konsole). nal that is received and interpreted by a small_text_xmms.tar.bz2 For example, a message such as My function. Of course, SuperKaramba can Python extension has been loaded!, is interpret events of this kind. The in the ~/.superkaramba directory (you caused by the following print command SuperKaramba Python API, which is may need to create the directory first). described in detail at [5], allows you to This will create a theme directory called print "My Python extension hasU specify what small_text_xmms. Now copy the tem- been loaded!" happens. plate file, template.py, to the directory. Make sure you change the name to in the last line of the template. This reflect the name of your theme: allows me to ensure that the Python file translates correctly. cp template.py ~/.superkarambaU Sadly, this was not the case with /small_text_xmmsU my Suse 9 installation. It would seem that the distribution sets some of the environment variables used by Python incorrectly. Typing the following two commands in konsole before launch- ing SuperKaramba soon sorted out the problem: export PYTHONPATH=/usr/libU /python2.3/ export PYTHONHOME=/usr/libU /python2.3/ Drag & Drop Our first extension will be drag & drop for .mp3 files, as described in [1], that allows users to drag a file from Kon- queror to the integrated MP3 player. For 44 May 2004 www.linux-magazine.com SuperKaramba KNOW HOW the time being, we want XMMS to play the files. Table 1: SuperKaramba Signal Gages Function Called when Listing 1 shows our solution. If you do initWidget(widget) A SuperKaramba widget is created. not want to develop the template file, widgetUpdated(widget) The theme is updated.The update interval is defined in the .theme file. simply overwrite small_text_xmms.py widgetClicked(widget, x, y,button) A mouse click occurs within the theme. x and y indicate the coordinates with this file. (relative to the theme) where the click occurred. button indicates the mouse To allow a SuperKaramba theme to button that was pressed. support drag & drop, the theme needs to widgetMouseMoved(widget, x, y,button) A mouse movement occurs within the theme. x and y indicate the current be initialized. The best way to do this is coordinates (relative to the theme); button provides the number of the to create a SuperKaramba widget. This button and indicates the hold status. menuItemClicked(widget, menu, id) A menu item is selected.This passes on the menu handle (see the text) and transmits a signal that is picked up by the menu item that was clicked (id). one of SuperKaramba’s “gages”, the so- menuOptionChanged(widget, key,value) An item in the theme configuration menu is selected. key provides the menu called callback function initWidget(). item handle, and value the new value (true or false). We can enter meterClicked(widget, meter,button) A display device is clicked. meter provides the handle,button the number of the mouse button pressed. def initWidget(widget): commandOutput(widget, pid, output) A program is called by executeInteractive(),provided that this causes output to stdout.pid is the process ID of the program,output contains the text out- put. to define the reaction in the next line itemDropped(widget, dropText) Objects (e.g. icons) for drag & drop operations are dropped on the theme. when we use the theme as our desktop dropText contains the text for the object (e.g. its URL, see section “Drag and background: Drop”). startupAdded(widget, startup) KDE launches a new application.When the program launch operation has karamba.acceptDrops(widget) been completed, a startupRemoved() signal follows, and is turn followed by taskAdded(). In this case, we want the widget to startupRemoved(widget, startup) See startupAdded(). accept drop events. taskAdded(widget, task) See startupAdded(). SuperKaramba uses itemDropped() to taskRemoved(widget, task) A program is terminated. handle the signal. The function expects activeTaskChanged(widget,task) Another application is moved to the foreground. two pieces of information from the drop signal, as indicated in Table 1: a pointer string.split(string.rstrip(strU we did not do this, any MP3 files that to the widget and – in the case of files – a (dropText)),"\n") contained the file: string, would be multiple-line list of filenames in the hacked to pieces. The result is a list with dropText variable, where each line repre- We are using the newline character \n as two entries, which we store in another sents a file. a separator. The innermost function, variable, temp. The first element, Unfortunately, each filename is pre- str(), allows the content of dropText to temp[0], contains only an empty string ceded by the file: keyword. As XMMS be handled as a string, while after the first split operation. cannot handle full URLs of the string.rstrip() removes any non-standard For each iteration of the loop, we file:/path/to/file.mp3 type, but expects a characters from the right. append the filename to the existing con- filename like /path/to/file.mp3, we need Now we have the individual URLs, we tent of the xmms_filename variable. As to strip the superfluous data from drop- can use a for loop to remove the file: pre- the filename is the second element in the Text before passing it on to the media fixes. We will write the URLs to the temp list, we can access the name as player. filename variable one by one, and then temp[1]: call Stripping xmms_filename=xmms_filename + U We will need string manipulation func- string.split(U " \"" + string.rstrip(U tions [7] from import string. The next filename, "file:", 1) temp[1]) + "\"" step is to define an empty variable xmms_filename=”” where we can store to remove the file: prefix from the file- To allow XMMS to play MP3s with the stripped filename list. We can then name. To be more precise, we split the spaces in their filenames, we need to call string.split() to split the URL list content of filename into two parts at the enclose the filenames in quotes. As from dropText into its URL components: first (1) instance of the file: separator. If Python also uses quotes, ”, to separate GLOSSARY API: An Application Programming Interface Stdout: The standard output channel speci- also points to the screen, and a stdin channel defines a number of functions within a soft- fies where Linux applications should send for input, which typically points to the key- ware that other programs written in a specific their text output.This is typically the screen, board. language can call. In our case, Python applica- but you can redirect standard output to a file Widget: A generic term for the control ele- tions can use the functions implemented in or a printer. In addition to stdout, Linux also ments of a graphical interface.These include SuperKaramba. has a stderror channel for error output that windows, buttons, menus, checklists, and tabs. www.linux-magazine.com May 2004 45 KNOW HOW SuperKaramba tem is now stored in the global variable Listing 1: The theme supports drag & drop selectmenu. This is referred to as a han- 01 import karamba dle, as the number is used to identify the 02 import string menu internally. The following, some- 03 what lengthy construct stores a menu 04 def initWidget(widget): with two items in my_menu. The first of 05 karamba.acceptDrops(widget) these … 06 07 def itemDropped(widget, dropText): karamba.addMenuItem(widget, U 08 xmms_filename="" selectmenu, "konqueror", U 09 for filename in string.split(string.rstrip(str(dropText)),"\n"): "konqueror.png") 10 temp=string.split(filename, "file:", 1) 11 xmms_filename=xmms_filename + " \"" + string.rstrip(temp[1]) … creates an entry for konqueror in + "\"" selectmenu. The konqueror.png icon, 12 karamba.execute("xmms" + xmms_filename) which also has to be stored in the theme 13 directory, completes the menu item.
Recommended publications
  • Kde-Guide-De-Developpement.Web.Pdf
    KDE Published : 2017-06-26 License : GPLv2+ 1 KDE DU POINT DE VUE D'UN DÉVELOPPEUR 1. AVEZ-VOUS BESOIN DE CE LIVRE ? 2. LA PHILOSOPHIE DE KDE 3. COMMENT OBTENIR DE L'AIDE 2 1. AVEZ-VOUS BESOIN DE CE LIVRE ? Vous devriez lire ce livre si vous voulez développer pour KDE. Nous utilisons le terme développement très largement pour couvrir tout ce qui peut conduire à un changement dans le code source, ce qui inclut : Soumettre une correction de bogue Écrire une nouvelle application optimisée par la technologie KDE Contribuer à un projet existant Ajouter de la fonctionnalité aux bibliothèques de développement de KDE Dans ce livre, nous vous livrerons les bases dont vous avez besoin pour être un développeur productif. Nous décrirons les outils que vous devrez installer, montrer comment lire la documentation (et écrire la vôtre propre, une fois que vous aurez créé la nouvelle fonctionnalité !) et comment obtenir de l'aide par d'autres moyens. Nous vous présenterons la communauté KDE, qui est essentielle pour comprendre KDE parce que nous sommes un projet « open source », libre (gratuit). Les utilisateurs finaux du logiciel n'ont PAS besoin de ce livre ! Cependant, ils pourraient le trouver intéressant pour les aider à comprendre comment les logiciels complexes et riches en fonctionnalités qu'ils utilisent ont vu le jour. 3 2. LA PHILOSOPHIE DE KDE Le succès de KDE repose sur une vue globale, que nous avons trouvée à la fois pratique et motivante. Les éléments de cette philosophie de développement comprennent : L'utilisation des outils disponibles plutôt que de ré-inventer ceux existants : beaucoup des bases dont vous avez besoin pour travailler font déjà partie de KDE, comme les bibliothèques principales ou les « Kparts », et sont tout à fait au point.
    [Show full text]
  • Translate's Localization Guide
    Translate’s Localization Guide Release 0.9.0 Translate Jun 26, 2020 Contents 1 Localisation Guide 1 2 Glossary 191 3 Language Information 195 i ii CHAPTER 1 Localisation Guide The general aim of this document is not to replace other well written works but to draw them together. So for instance the section on projects contains information that should help you get started and point you to the documents that are often hard to find. The section of translation should provide a general enough overview of common mistakes and pitfalls. We have found the localisation community very fragmented and hope that through this document we can bring people together and unify information that is out there but in many many different places. The one section that we feel is unique is the guide to developers – they make assumptions about localisation without fully understanding the implications, we complain but honestly there is not one place that can help give a developer and overview of what is needed from them, we hope that the developer section goes a long way to solving that issue. 1.1 Purpose The purpose of this document is to provide one reference for localisers. You will find lots of information on localising and packaging on the web but not a single resource that can guide you. Most of the information is also domain specific ie it addresses KDE, Mozilla, etc. We hope that this is more general. This document also goes beyond the technical aspects of localisation which seems to be the domain of other lo- calisation documents.
    [Show full text]
  • Kubuntu Desktop Guide
    Kubuntu Desktop Guide Ubuntu Documentation Project <[email protected]> Kubuntu Desktop Guide by Ubuntu Documentation Project <[email protected]> Copyright © 2004, 2005, 2006 Canonical Ltd. and members of the Ubuntu Documentation Project Abstract The Kubuntu Desktop Guide aims to explain to the reader how to configure and use the Kubuntu desktop. Credits and License The following Ubuntu Documentation Team authors maintain this document: • Venkat Raghavan The following people have also have contributed to this document: • Brian Burger • Naaman Campbell • Milo Casagrande • Matthew East • Korky Kathman • Francois LeBlanc • Ken Minardo • Robert Stoffers The Kubuntu Desktop Guide is based on the original work of: • Chua Wen Kiat • Tomas Zijdemans • Abdullah Ramazanoglu • Christoph Haas • Alexander Poslavsky • Enrico Zini • Johnathon Hornbeck • Nick Loeve • Kevin Muligan • Niel Tallim • Matt Galvin • Sean Wheller This document is made available under a dual license strategy that includes the GNU Free Documentation License (GFDL) and the Creative Commons ShareAlike 2.0 License (CC-BY-SA). You are free to modify, extend, and improve the Ubuntu documentation source code under the terms of these licenses. All derivative works must be released under either or both of these licenses. This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE AS DESCRIBED IN THE DISCLAIMER. Copies of these licenses are available in the appendices section of this book. Online versions can be found at the following URLs: • GNU Free Documentation License [http://www.gnu.org/copyleft/fdl.html] • Attribution-ShareAlike 2.0 [http://creativecommons.org/licenses/by-sa/2.0/] Disclaimer Every effort has been made to ensure that the information compiled in this publication is accurate and correct.
    [Show full text]
  • Pipenightdreams Osgcal-Doc Mumudvb Mpg123-Alsa Tbb
    pipenightdreams osgcal-doc mumudvb mpg123-alsa tbb-examples libgammu4-dbg gcc-4.1-doc snort-rules-default davical cutmp3 libevolution5.0-cil aspell-am python-gobject-doc openoffice.org-l10n-mn libc6-xen xserver-xorg trophy-data t38modem pioneers-console libnb-platform10-java libgtkglext1-ruby libboost-wave1.39-dev drgenius bfbtester libchromexvmcpro1 isdnutils-xtools ubuntuone-client openoffice.org2-math openoffice.org-l10n-lt lsb-cxx-ia32 kdeartwork-emoticons-kde4 wmpuzzle trafshow python-plplot lx-gdb link-monitor-applet libscm-dev liblog-agent-logger-perl libccrtp-doc libclass-throwable-perl kde-i18n-csb jack-jconv hamradio-menus coinor-libvol-doc msx-emulator bitbake nabi language-pack-gnome-zh libpaperg popularity-contest xracer-tools xfont-nexus opendrim-lmp-baseserver libvorbisfile-ruby liblinebreak-doc libgfcui-2.0-0c2a-dbg libblacs-mpi-dev dict-freedict-spa-eng blender-ogrexml aspell-da x11-apps openoffice.org-l10n-lv openoffice.org-l10n-nl pnmtopng libodbcinstq1 libhsqldb-java-doc libmono-addins-gui0.2-cil sg3-utils linux-backports-modules-alsa-2.6.31-19-generic yorick-yeti-gsl python-pymssql plasma-widget-cpuload mcpp gpsim-lcd cl-csv libhtml-clean-perl asterisk-dbg apt-dater-dbg libgnome-mag1-dev language-pack-gnome-yo python-crypto svn-autoreleasedeb sugar-terminal-activity mii-diag maria-doc libplexus-component-api-java-doc libhugs-hgl-bundled libchipcard-libgwenhywfar47-plugins libghc6-random-dev freefem3d ezmlm cakephp-scripts aspell-ar ara-byte not+sparc openoffice.org-l10n-nn linux-backports-modules-karmic-generic-pae
    [Show full text]
  • Glossary.Pdf
    2 Contents 1 Glossary 4 3 1 Glossary Technologies Akonadi The data storage access mechanism for all PIM (Personal Information Manager) data in KDE SC 4. One single storage and retrieval system allows efficiency and extensibility not possible under KDE 3, where each PIM component had its own system. Note that use of Akonadi does not change data storage formats (vcard, iCalendar, mbox, maildir etc.) - it just provides a new way of accessing and updating the data.</p><p> The main reasons for design and development of Akonadi are of technical nature, e.g. having a unique way to ac- cess PIM-data (contacts, calendars, emails..) from different applications (e.g. KMail, KWord etc.), thus eliminating the need to write similar code here and there.</p><p> Another goal is to de-couple GUI applications like KMail from the direct access to external resources like mail-servers - which was a major reason for bug-reports/wishes with regard to perfor- mance/responsiveness in the past.</p><p> More info:</p><p> <a href=https://community.kde.org/KDE_PIM/Akonadi target=_top>Akonadi for KDE’s PIM</a></p><p> <a href=https://en.wikipedia.org/wiki/Akonadi target=_top>Wikipedia: Akonadi</a></p><p> <a href=https://techbase.kde.org/KDE_PIM/Akonadi target=_top>Techbase - Akonadi</a> See Also "GUI". See Also "KDE". Applications Applications are based on the core libraries projects by the KDE community, currently KDE Frameworks and previously KDE Platform.</p><p> More info:</p><p> <a href=https://community.kde.org/Promo/Guidance/Branding/Quick_Guide/ target=_top>KDE Branding</a> See Also "Plasma".
    [Show full text]
  • 38 AC3D 42 DIY Knoppix 23 Migration
    LINUX MAGAZINE April 2004 NEWS 23 Migration Software . .6 There are times when you want to use all the personal data that you . .8 Business have generated in another program. We World . .10 look at how to use infor- mation from within KDE, Insecurity . .12 inside other programs such as Mozilla and Kernel . .14 Opera. Converting data should not be hard with all the Open standards . .16 Letters that Linux loves to sup- port. You just need a little COVER STORY guiding help, to get you on your way. Customized Desktops Intro . .17 38 . .18 AC3D Gnome Configuration The creation of three dimensional worlds with POV-ray can Discover the hidden Gnome settings. be hard work and is prone to errors, as you try to define new objects within text files. Now it has all become easier thanks Migrating KDE Data . .23 to the entrance of AC3D. AC3D version 4.0 is a graphical edi- tor to simplify Gnome Office . .28 the 3D model- Explore the programs that make up the Gnome Office suite. ing of objects. The low bud- . .32 get, high qua- KOffice 1.3 lity tool pro- How do the KOffice applications compare to others? vides a GUI interface that KDE 3.2 . .34 allows you to What is in the latest KDE release? Read on to find out. render with POV-ray. REVIEWS Book Reviews . .36 42 DIY Knoppix Read all about it. Fedora for Dummies and Red Hat books. Knoppix is fast becoming our favorite utility. A complete Linux distribution that works from the CD alone.
    [Show full text]
  • Full Circle the INDEPENDENT MAGAZINE for the UBUNTU COMMUNITY
    Issue #2 - June 2007 full circle THE INDEPENDENT MAGAZINE FOR THE UBUNTU COMMUNITY LINSPIRE & MICROSOFT LINSPIRE SIGNS FOR PATENT PROTECTION NEXT WHO'S REVIEW : HOW TO : INSTALL : SYSTEM76 LAPTOP UBUNTU ON A MAC MINI STEP-BY-STEP INSTALL FROM GETTING THE BOX BASIC INSTALL OF VPN OF KUBUNTU 7.04 : TO BOOTING UBUNTU UBUNTU FOR GRANDMA! FEISTY FAWN fullcircle magazine is not affiliated with or endorsed by Canonical Ltd. full circle News p.03 Your monthly update of what's going on in the world of Linux and Open Source Software Flavour of the Month - Kubuntu p.06 This month Robert Clipsham shows us a step-by-step STEP-BY-STEP INSTALL installation of Kubuntu Linux 7.04 P.06 How-To Ubuntu on the Mac Mini p.09 Ubuntu for Grandma p.12 Virtual Private Networking p.16 Scribus - Part 2 p.17 Review - System76 Laptop p.20 P.17 P.16 Thinking of buying a laptop? System76 supplies quality laptops pre-installed with Ubuntu! Interview - GRAMPS p.24 P12 P.20 My Story - 6 Months with Ubuntu p.29 Fighting to live with Linux after years of Windows use. Ubuntu Youth p.31 Letters p.33 Q&A p.35 My Desktop & My PC p.36 P.09 P.24 Show us your mean-machine! The Top 5 p.37 Andrew Min presents his Top5 Widgets How to Contribute p.39 Want to help fill future issues? Here are the details All text and images contained in this magazine are released under the Creative Commons Attribution-By-ShareAlike 3.0 Unported license.
    [Show full text]
  • Desktop Paradise Had It with Human? Bored with Blue? Let Graham Morrison, Our Resident Aesthete, Guide You to Form and Function on the Linux Desktop
    Get the perfect desktop Desktop paradise Had it with Human? Bored with blue? Let Graham Morrison, our resident aesthete, guide you to form and function on the Linux desktop. e all spend a great deal of time at the Linux the applications that let you change everything in the first place. desktop. It’s our office, living room and games Some changes are purely for decoration – a background image or room rolled into one. And like those rooms, the colour scheme, for instance. But there are others that reflect your Wexperience is a working routine, such as lot more pleasant when application icons in the toolbar you’ve made your “We’re going to cover and the keyboard shortcuts for environment more the areas where small launching them, and even the comfortable and more tuned font sizes and window position. to the way you work. It’s the changes yield big results.” Over the next few pages, virtual equivalent to moving we’re going to cover the main the sofa in front of the telly, putting beer in the fridge and areas on the desktop where small changes yield big results, and lighting a few candles. cover the main desktops most of us enjoy using. We hope you’ll be It might sound strange, but your desktop is an expression of inspired enough to make a few changes yourself. who you are, and how we use computers. That’s why the internet is littered with people who post images of their desktop, even going to the trouble of designing their own icon sets and building Under the microscope: Xfce KDE It’s often overlooked, but this is Forget blue, change the colours a desktop environment you can around and banish all thoughts truly make your mark on.
    [Show full text]
  • Creating a Superkaramba Theme WIDGET BUILDER If You Can’T Find the Superkaramba Theme You’Re Looking For, You Can Also Lets You Always Build Your Own
    KNOW-HOW SuperKaramba Workshop Creating a SuperKaramba theme WIDGET BUILDER www.sxc.hu If you can’t find the SuperKaramba theme you’re looking for, you can also lets you always build your own. BY HAGEN HÖPFNER specify if you want to keep the ability to move a theme. Some themes have their own configura- retty wallpaper is fine as far as it to get started with SuperKaramba. For tion dialogs. For example, you can con- goes, but if you want desktop additional information, see [2]. (These figure the weather report to match your Pfrills that actually do work for articles are currently available through current location. you, such as displaying weather reports Linux Magazine’s convenient online ar- or monitoring system data, you’ll need a chive.) This article is a brief workshop Creating Your Own Themes tool like SuperKaramba. SuperKaramba on how to create your own Super- To create your own theme, you need to [1] is a KDE-based tool that lets you cre- Karamba theme. create a file, say my_theme.theme, which ate helpful widgets for your desktop. you can open in SuperKaramba as a The SuperKaramba website refers to Finding the Software local file. As graphics and Python scripts these interactive widgets as “custom eye The current SuperKaramba version is can be added to the layout file, you will candy,” but SuperKaramba applets are number 0.37. If you prefer not to build probably want to store all of these com- more commonly called themes. You’ll SuperKaramba yourself, you will find ponents in a single directory.
    [Show full text]
  • Strong Dependencies Between Software Components
    Specific Targeted Research Project Contract no.214898 Seventh Framework Programme: FP7-ICT-2007-1 Technical Report 0002 MANCOOSI Managing the Complexity of the Open Source Infrastructure Strong Dependencies between Software Components Pietro Abate ([email protected]) Jaap Boender ([email protected]) Roberto Di Cosmo ([email protected]) Stefano Zacchiroli ([email protected]) Universit`eParis Diderot, PPS UMR 7126, Paris, France May 24, 2009 Web site: www.mancoosi.org Contents 1 Introduction . .2 2 Strong dependencies . .3 3 Strong dependencies in Debian . .7 3.1 Strong vs direct sensitivity: exceptions . .9 3.2 Using strong dominance to cluster data . 11 3.3 Debian is a small world . 11 4 Efficient computation . 12 5 Applications . 13 6 Related works . 16 7 Conclusion and future work . 17 8 Acknowledgements . 18 A Case Study: Evaluation of debian structure . 21 Abstract Component-based systems often describe context requirements in terms of explicit inter-component dependencies. Studying large instances of such systems|such as free and open source software (FOSS) distributions|in terms of declared dependencies between packages is appealing. It is however also misleading when the language to express dependencies is as expressive as boolean formulae, which is often the case. In such settings, a more appropriate notion of component dependency exists: strong dependency. This paper introduces such notion as a first step towards modeling semantic, rather then syntactic, inter-component relationships. Furthermore, a notion of component sensitivity is derived from strong dependencies, with ap- plications to quality assurance and to the evaluation of upgrade risks. An empirical study of strong dependencies and sensitivity is presented, in the context of one of the largest, freely available, component-based system.
    [Show full text]
  • K Desktop Environment 3 from Wikipedia, the Free Encyclopedia
    K Desktop Environment 3 From Wikipedia, the free encyclopedia K Desktop Environment 3 is the third series of releases of the K Desktop Environment (after that called KDE Software Compilation). There are six major releases in this series. K Desktop Environment 3 Contents 1 K Desktop Environment 3.0 2 K Desktop Environment 3.1 3 K Desktop Environment 3.2 4 K Desktop Environment 3.3 K Desktop Environment 3.5 5 K Desktop Environment 3.4 6 K Desktop Environment 3.5 Developer(s) KDE Initial release 3 April 2002 6.1 Kolab Enterprise Stable release 3.5.10 / 26 August 7 Release schedule 2008 Development status Superseded by 8 Trinity Desktop Environment KDE SC 4 9 References Written in C++ (Qt 3) Operating system Unix-like with X11 10 External links Available in Multilingual Type Desktop environment K Desktop Environment 3.0 License GPL and other licenses K Desktop Environment 3.0 introduced better support for restricted usage, a feature demanded by certain environments such as kiosks, Internet cafes and enterprise deployments, which disallows the user from having full access to all capabilities of a Website kde.org (http://kde piece of software.[1] To address these needs, KDE 3.0 included a new lockdown framework, essentially a permissions-based .org/) system for altering application configuration options that supplements the standard UNIX permissions system.[2] The KDE panel and the desktop manager were modified to employ this system, but other major desktop components, such as Konqueror and the Control Center, had to wait for subsequent releases.[3] K Desktop Environment 3.0 debuted a new printing framework, KDEPrint.
    [Show full text]
  • Free and Open Source Software
    Free and open source software Copyleft ·Events and Awards ·Free software ·Free Software Definition ·Gratis versus General Libre ·List of free and open source software packages ·Open-source software Operating system AROS ·BSD ·Darwin ·FreeDOS ·GNU ·Haiku ·Inferno ·Linux ·Mach ·MINIX ·OpenSolaris ·Sym families bian ·Plan 9 ·ReactOS Eclipse ·Free Development Pascal ·GCC ·Java ·LLVM ·Lua ·NetBeans ·Open64 ·Perl ·PHP ·Python ·ROSE ·Ruby ·Tcl History GNU ·Haiku ·Linux ·Mozilla (Application Suite ·Firefox ·Thunderbird ) Apache Software Foundation ·Blender Foundation ·Eclipse Foundation ·freedesktop.org ·Free Software Foundation (Europe ·India ·Latin America ) ·FSMI ·GNOME Foundation ·GNU Project ·Google Code ·KDE e.V. ·Linux Organizations Foundation ·Mozilla Foundation ·Open Source Geospatial Foundation ·Open Source Initiative ·SourceForge ·Symbian Foundation ·Xiph.Org Foundation ·XMPP Standards Foundation ·X.Org Foundation Apache ·Artistic ·BSD ·GNU GPL ·GNU LGPL ·ISC ·MIT ·MPL ·Ms-PL/RL ·zlib ·FSF approved Licences licenses License standards Open Source Definition ·The Free Software Definition ·Debian Free Software Guidelines Binary blob ·Digital rights management ·Graphics hardware compatibility ·License proliferation ·Mozilla software rebranding ·Proprietary software ·SCO-Linux Challenges controversies ·Security ·Software patents ·Hardware restrictions ·Trusted Computing ·Viral license Alternative terms ·Community ·Linux distribution ·Forking ·Movement ·Microsoft Open Other topics Specification Promise ·Revolution OS ·Comparison with closed
    [Show full text]