Skip to main content

a wheel type command interface for KDE, inspired by Kommando (KDE 3) and Neverwinternights.

Project description

installation:

- easy_install pyRadKDE

setup:

- Add a mouse gesture for "pyrad.py": go into KDE systemsettings -> keyboard
shortcuts -> add a gesture with the action "pyrad.py" (you might have to enable
gestures in the settings, too - in the shortcuts-window you should find a
settings button).
- customize the menu by editing the file "~/.pyradrc" or right-clicking items.

Alternate setup with dbus (much faster but incomplete):

- Add "/usr/bin/pyrad.py" as script to your autostart (systemsettings->advanced-
>autostart) TODO: make it not show the GUI
- Add the mouse gesture to call D-Bus: Program: org.kde.pyRad ; Object:
/MainApplication ; Function: newInstance
- Alternately set the gesture to call the command "dbus-send --type=method_call
--dest=org.kde.pyRad /MainApplication org.kde.KUniqueApplication.newInstance"


usage:

- call "pyrad.py" to start and show pyRad and "pyrad.py --quit" to shutdown the
process in the background. "pyrad.py --help" shows the usage. "pyrad.py --
daemon" starts pyRad without showing the GUI.
- In systemsettings add the mouse gesture to call D-Bus: Program: org.kde.pyRad
; Object: /MainApplication ; Function: newInstance
- Use your gesture to call up the command wheel when you want to call one of
your included programs.
- Left-click the program to start it. You can also press the key shown in the
programs tooltip for the same effect.
- Right-click an item to edit it. Middle-click an item to add a new one after it
(clockwise).
- Make folders by using the action [("kreversi", None), ("icon", "action"),
("icon2", "action2"), ...].
Actions are simply the commands you'd use on the commandline (there's no shell
scripting though, except via `bash -c "for i in 1 2 3; do echo $i; done"`).


plan:

- new command scheme: right-click always edits, middle-click adds a new item. -
done
- items arranged clockwise. -done
- right-click on center opens a general config dialog. -todo
- a general config dialog. -todo
- first run of new version shows image as usage guide. -todo
- Edit dialog should show the icon graphically. A click on the item should show
the edit dialog we have when editing the K-Menu. -todo
- Edit dialog should have a radio button for the action: "create folder". -todo
- register a global shortcut / gesture in KDE from within the program -> usable
as soon as it's installed. -todo
- make it show faster. -todo
- add option --only-daemon to only start the daemon without showing the GUI

ideas:

- use plasma.
- Show the program cathegories from the K-Menu.
- Get the folders and actions from Nepomuk somehow -> favorites or such.
- Option to have an auto-optimizing wheel layout :)
- adjust icon size to the number of icons in the circle.
- Adjust circle radius to the number of icons.
- Show the icons inside a folder over/around the folder icon.
- Add a CLI fallback, so people can also access their actions via the shell.
- Talk to DBus directly (for higher performance). -> dbus-send --
type=method_call --dest=org.kde.pyRad /MainApplication
org.kde.KUniqueApplication.newInstance
(from http://www.staerk.de/thorsten/index.php/Hacking_KDE)
- Keyboard shortcuts (1, 2, 3, ... for the wheel items -> click paths to
programs)
- Check if an app is already open. If it is, simply switch to it (dbus -> get
winID, forceActivateWindow(winID)?).
Sample DBus calls: dbus-send --dest=org.freedesktop.DBus --type=method_call --
print-reply / org.freedesktop.DBus.ListNames ; dbus-send --
dest=org.kde.konqueror-14040 --type=method_call --print-reply
/konqueror/MainWindow_1 org.kde.KMainWindow.winId; dbus-send --
dest=org.freedesktop.DBus --type=method_call --print-reply /
org.freedesktop.DBus.NameHasOwner string:"org.kde.pyRad"
To bring a background app to foreground, hide its main window, then show it
again.
-> /konqueror com.trolltech.Qt.QWidget.hide + ...show + hide pyRad
PID stuff: http://code.google.com/p/psutil/

PyPI url: http://pypi.python.org/pypi/pyRadKDE


Changelog:

pyRad Changelog
===============

pyRad 0.4.3

- FIX: wrong console icon in default config.
- FIX: If the tooltip was too long, it wasn’t shown at all. Now only the first
100 chars are shown
- Folders in brackets

pyRad 0.4.2

- Improved the --help output.
- Improved the tooltips for folders.

pyRad 0.4

- Added keyboard shortcuts for all items and hiding via the escape key.

pyRad 0.3.3

- FIX: KUniqueApplication: TypeError: keyword arguments are not supported

pyRad 0.3.2

- Added --daemon argument to start pyRad without showing the wheel.

pyRad 0.3.1

- FIX: Upper level changes weren't saved.

pyRad 0.3

- Largescale rewrite in the battle for startup performance. It's now a
KUniqueApplication and after the first run, subsequent runs only call the
already running (but hidden) instance. Still the imports take the major share of
the startup time.
- New command scheme: Right-click always edits the item, middle click adds a new
item after the clicked one.
- Items are arranged clockwise.
- FIX: Changes in the layout were only effective after the next start. Now
changes take effect immediately.

pyRad 0.2

- Right-click on an item opens an edit dialog.
- Changes are saved directly to the .pyradrc

pyRad 0.1.1

- moved the Rad class into a seperate file (rad.py) - same performance but
cleaner.
- added a version header to the .pyradrc file, so it will be possible to update
it transparently when changes should be necessary.

pyRad 0.1

- Initial version.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyRadKDE-0.4.3.tar.gz (11.3 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page