Version: (using KDE Devel) Installed from: Compiled sources Compiler: gcc 3.4 OS: Linux where to begin :) http://hands.com/~lkcl/kroller.sez/sk.kde.3.51.sez.tgz some major strategic feature enhancements to superkaramba, which make it possible to write kicker-replacement themes. i've added: 1) a means to read the KSystemGroup and KSystem information from the user's menu - you can run kmenuedit and the changes will be reflected in superkaramba themes, immediately. 2) receiving the x,y coordinates of the mouse on a drag-drop, not just the filename of what's drag-dropped. in this way, you can look up the icon that's associated with a program, for example, and you can run the appropriate command with the filename that was drag-dropped onto the icon. i'm surprised and puzzled that this hasn't been added to superkaramba before now. 3) a function for communicating between themes, and also a means to give themes "pretty" names. the pretty names is essential, because if you have a theme class which can be used repeatedly (more than once instance) e.g. as a menu and also as a submenu, then it's friggin useless to not be able to contact it because the menu and submenu themes have the same name. 4) a function for calling (starting up) new themes from inside superkaramba, and giving them a pretty name. 5) a function for changing the refresh rate. this is _essential_ for saving CPU time, but also to up the CPU usage during times where it's needed. for example, on mouse move, change the refresh rate to 100ms, and record the last update time, then after a certain amount of inactivity, reduce it to 5000ms. 6) a function for sending window signals to themes. e.g. raise, lower, maximise, toggleOnTop, that sort of thing. the original patch also made it possible to send the same signals to "Tasks", but i am running into difficulties with KWin::WindowInfo and am therefore leaving that out, for now. ... btw, some idiot's ripped the src/*_python.h files around significantly, making it impossible for robodoc to auto-generate the python API documentation.
Created attachment 13532 [details] new functionality, extra files contains a patch file plus the missing files that i couldn't get svn to include with a svn diff command.
Created attachment 13539 [details] update to enhanced functionality patch update. removed duplicate functionality (pythonIface-related). merged KWindow stuff into karamba class, instead of deriving. bit messy, but it works. updated comments in src/misc_python.h. added "disable/enable management popup" function, which works added "call management popup" function which locks up XServer-Xorg!!!!
Created attachment 14259 [details] updated patch missed couple of files.
Created attachment 14268 [details] sub-theme (stop autoloading) and unique naming. this is an ADDITIONAL patch that sorts out some ussies with theme loading. 1) sub-themes opened with openNamedTheme can be excluded from the "OpenThemes" functionality which is that superkaramba auto-starts themes when it's started up 2) if a theme with a particular pretty name already exists, the theme is _not_ loaded a second time. if you want multiple themes under the same name (unique doesn't matter) then use openTheme not openNamedTheme.
Created attachment 14269 [details] sub-theme (stop autoloading) and unique naming and kpopup also fixed problem in management popup which locked up xorg until i killed superkaramba. use kpop->popup instead of kpop->exec().
Created attachment 14270 [details] updated patch updated to include the sub-theme stuff and unique naming etc. reason: damn invonvenient for anyone looking at this stuff to have to apply two patches. the separate patch is for p0z3r who is in the middle of wading through this stuff...
SVN commit 499776 by nickell: BUG:120262 - itemDropped callback now has x/y cooridinates BUG:116618 - Many new functions added: callTheme - Pass a string to another theme changeInterval - Change the refresh interval of the theme createServiceClickArea - Create a Service-named Click Area Sensor getIncomingData - Get incoming data passed from another theme getPrettyThemeName - Get the pretty name of the theme getServiceGroups - Get KDE Service Groups getSystraySize - Get the size of the Systray getUpdateTime - Get last updated time managementPopup - Activates the Management Popup menu (i.e. SK right click config menu) openNamedTheme - Open a new theme giving it a new name removeClickArea - Remove a Click Area Sensor run - Execute a command with KRun setIncomingData - Set incoming data passed in another theme setUpdateTime - Set last updated time setWantRightButton - Set to 1 to deactivate management popups (i.e. SK right click config menu) setWidgetOnTop - changes 'on top' status Patch reviewed by Matt Rogers. M +7 -1 AUTHORS M +16 -16 src/Makefile.am M +32 -12 src/clickarea.cpp [POSSIBLY UNSAFE: KRun::runCommand] M +4 -0 src/clickarea.h M +3 -0 src/dcopinterface.h M +1 -0 src/imagelabel_python.cpp M +97 -12 src/karamba.cpp M +40 -4 src/karamba.h M +53 -5 src/karamba_python.cpp M +3 -2 src/karamba_python.h M +20 -0 src/karambaapp.cpp M +1 -0 src/karambaapp.h M +29 -2 src/karambainterface.cpp M +3 -0 src/karambainterface.h M +2 -0 src/karambasessionmanaged.cpp M +1 -0 src/main.cpp M +5 -0 src/meter.cpp M +4 -0 src/meter.h M +270 -3 src/misc_python.cpp [UTF-8 ENCODING PROBLEMS] M +239 -4 src/misc_python.h [UTF-8 ENCODING PROBLEMS] M +4 -0 src/systemtray.cpp M +1 -0 src/systemtray.h M +22 -0 src/systray_python.cpp M +1 -0 src/systray_python.h M +20 -0 src/widget_python.cpp M +1 -0 src/widget_python.h
I don't if here is right place to post that bug, but this patch introduces following errors on my x86_64 platform: /var/tmp/portage/superkaramba-7/work/branches/KDE/3.5/kdeutils/superkaramba/src/misc_python.cpp: In function 'long int removeClickArea(long int, long int)': /var/tmp/portage/superkaramba-7/work/branches/KDE/3.5/kdeutils/superkaramba/src/misc_python.cpp:322: error: cast from 'ClickArea*' to 'int' loses precision /var/tmp/portage/superkaramba-7/work/branches/KDE/3.5/kdeutils/superkaramba/src/misc_python.cpp: In function 'long int createServiceClickArea(long int, long int, long int, long int, long int, char*, char*, char*)': /var/tmp/portage/superkaramba-7/work/branches/KDE/3.5/kdeutils/superkaramba/src/misc_python.cpp:341: error: cast from 'ClickArea*' to 'int' loses precision /var/tmp/portage/superkaramba-7/work/branches/KDE/3.5/kdeutils/superkaramba/src/misc_python.cpp: In function 'long int callTheme(long int, char*, char*)': /var/tmp/portage/superkaramba-7/work/branches/KDE/3.5/kdeutils/superkaramba/src/misc_python.cpp:397: error: cast from 'karamba*' to 'int' loses precision /var/tmp/portage/superkaramba-7/work/branches/KDE/3.5/kdeutils/superkaramba/src/misc_python.cpp: In function 'long int setIncomingData(long int, char*, char*)': /var/tmp/portage/superkaramba-7/work/branches/KDE/3.5/kdeutils/superkaramba/src/misc_python.cpp:407: error: cast from 'karamba*' to 'int' loses precision /var/tmp/portage/superkaramba-7/work/branches/KDE/3.5/kdeutils/superkaramba/src/misc_python.cpp: In function 'long int openNamedTheme(char*, char*, bool)': /var/tmp/portage/superkaramba-7/work/branches/KDE/3.5/kdeutils/superkaramba/src/misc_python.cpp:446: error: cast from 'karamba*' to 'int' loses precision Build environment: default-linux/amd64/2005.1, gcc-4.1.0-beta20060113, glibc-2.3.6-r2, 2.6.15-gentoo x86_64) CHOST="x86_64-pc-linux-gnu" CFLAGS="-O2 -march=nocona -mtune=nocona -pipe -O2 -fno-ident" CXXFLAGS="-O2 -march=nocona -mtune=nocona -pipe -O2 -fno-ident -fvisibility-inlines-hidden -ffriend-injection"
There were some compile fixes submitted this morning. Can you update and report back?
Yes, it compiles & works now, thanks.
compiles fine. On Fri, Jan 20, 2006 at 02:38:56PM -0000, Ryan Nickell wrote: [bugs.kde.org quoted mail]