
Star Field Plasma Wallpaper
Source (link to git-repo or to original if based on someone elses unmodified work):
desktop. It was inspired by the star field chrome experiment -
www.chromeexperiments.com/detail/starfield/
INSTALLATION
------------
Firstly make sure you have the KDE workspace development files installed. For ubuntu run: sudo apt-get install kdebase-workspace-dev
If the source came in a zip then unzip it first. To install run install.sh:
Open up a terminal, navigate to the the starfield directory which has
install.sh then type:
./install.sh
You may be asked for your root password during installation.
After installing log out and then log back in. Then right click on your
desktop, go to 'Desktop Settings'. Then in wallpaper type you should see
'Star Field'.
CONTROLS
--------
- Dragging the starfield with the left mouse button will change it position
- Middle clicking on the wallpaper will pause the animation
- Mouse wheel scrolling will change the perspective of the view.
CPU USAGE
---------
This wallpaper can be quite CPU intensive. To reduce the CPU usage you may try
the following:
- Pause the wallpaper. This should make the wallpaper use 0% CPU
- Enable 'Pause when desktop loses focus' in the advanced options
- Reduce the frames per second. This is THE main factor in deciding the CPU
usage. 15 FPS gives a somewhat smooth animation.
- Reduce number of stars
- Use a blank background (Leave the background path empty)
- Reduce trail length
- Use a lower quality
- Turn off antialiasing
- Use plasma in raster mode. To do this first quit plasma then restart it with
-graphicssystem raster argument:
For KDE 4.2:
kquitapp plasma
plasma -graphicssystem raster
For KDE 4.3:
kquitapp plasma-desktop
plasma -graphicssystem raster
However be warned that this method has not been thoroughly tested.
NOTE: Star speed does not affect CPU usage.
ENJOY!!
-------
+ New features
- Removed features
% Changes
* Bugs fixed
v0.4.2 - 20/01/13
* Made wallpaper work on new versions of KDE
v0.4 - 25/08/09
+ Starfield pauses when a window is maximised on the current desktop
+ Added option to pause starfield when desktop loses focus (off by default)
% Reduce initial settings for lower CPU usage
% Large star size is now slightly smaller
* Stars now move smoother in lower speeds
* Zooming is much smoother now
v0.3.1 - 14/07/09
% Tweaked the UI
* Increasing the number of stars no longer crashes Plasma
v0.3 - 12/07/09
+ Added pause option
+ Added star size option
+ Added foreground option
+ Starfield view can now be dragged to move around
+ Added some tooltips and whatsthis to settings dialogs
% Middle click now pauses instead of resetting view
% Changed the look of the configuration window
% Keep basic settings in main configuration window and move
advanced settings to a seperate dialog
* Some drawing bugs fixed. Other plasmoids no longer corrupt the
starfield drawing.
* Preview screen now works better
Ratings & Comments
47 Comments
Nice! One thing: CMakeCache.txt needs to be removed from the current package - as it references the authors particular source directory and will break compilation.
Also, it would be nice if there were an advanced option to disable handling of the mousewheel... so that it can still be used for rotating to other desktops with the cube.
when trying to change to this wallpaper in kde 4.6b1, plasma crash will occure backtrace: http://pastebin.com/f9xRz4VQ
Hi. Sorry for my late reply. I tried running the wallpaper on KDE trunk and it worked fine. I am using: - kdelibs and kdebase trunk (updated yesterday) - Qt 4.7 - X Server 1.9 Have you tried recompiling the wallpaper? That might be the problem. What version of the libraries above are you using? Thanks for reporting the problem :)
it's actually from pkgs from arch kde snapshot repo https://bbs.archlinux.org/viewtopic.php?id=76245&p=30 and AFAIK it's compiled from this sources http://websvn.kde.org/tags/KDE/4.5.80/ i'm using (almost) stable arch, so qt4.7 and xorg 1.9
I'm also using arch but compiling kde from svn myself. Since the wallpaper worked for me, I suggest that you try re-installing it from AUR again. That should make it recompile and it should hopefully work.
ups...this is definitely on my side. i was sure i've wiped out all kde related stuff before upgrade to 4.6b but i apparently did not and this pkg was really old. rebuild help, sry for wasting your time
Don't worry. Thats fine. :) But since there was no need to recompile from 4.4 to 4.5 maybe there is something wrong with the code since it needs a recompile for 4.6.
During the installation, here the error message with the compilation : /home/m3t4linux/Software/starfield-wallpaper-0.4/src/starfield.cpp:34:37: error: taskmanager/taskmanager.h: Aucun fichier ou dossier de ce type /home/m3t4linux/Software/starfield-wallpaper-0.4/src/starfield.cpp:67: error: ‘TaskManager’ has not been declared /home/m3t4linux/Software/starfield-wallpaper-0.4/src/starfield.cpp:68: error: ‘TaskManager’ has not been declared /home/m3t4linux/Software/starfield-wallpaper-0.4/src/starfield.cpp:69: error: ‘TaskManager’ has not been declared /home/m3t4linux/Software/starfield-wallpaper-0.4/src/starfield.cpp: In member function ‘void StarFieldWallpaper::checkWindowStates()’: /home/m3t4linux/Software/starfield-wallpaper-0.4/src/starfield.cpp:513: error: ‘TaskManager’ has not been declared /home/m3t4linux/Software/starfield-wallpaper-0.4/src/starfield.cpp:513: error: expected `;' before ‘allTasks’ /home/m3t4linux/Software/starfield-wallpaper-0.4/src/starfield.cpp:514: error: ‘allTasks’ was not declared in this scope /home/m3t4linux/Software/starfield-wallpaper-0.4/src/starfield.cpp:514: error: template argument 1 is invalid /home/m3t4linux/Software/starfield-wallpaper-0.4/src/starfield.cpp:514: error: invalid type in declaration before ‘(’ token /home/m3t4linux/Software/starfield-wallpaper-0.4/src/starfield.cpp:514: error: request for member ‘brk’ in ‘_container_’, which is of non-class type ‘int’ /home/m3t4linux/Software/starfield-wallpaper-0.4/src/starfield.cpp:514: error: request for member ‘i’ in ‘_container_’, which is of non-class type ‘int’ /home/m3t4linux/Software/starfield-wallpaper-0.4/src/starfield.cpp:514: error: request for member ‘e’ in ‘_container_’, which is of non-class type ‘int’ /home/m3t4linux/Software/starfield-wallpaper-0.4/src/starfield.cpp:514: error: request for member ‘brk’ in ‘_container_’, which is of non-class type ‘int’ /home/m3t4linux/Software/starfield-wallpaper-0.4/src/starfield.cpp:514: error: request for member ‘i’ in ‘_container_’, which is of non-class type ‘int’ /home/m3t4linux/Software/starfield-wallpaper-0.4/src/starfield.cpp:514: error: ‘TaskManager’ has not been declared /home/m3t4linux/Software/starfield-wallpaper-0.4/src/starfield.cpp:514: error: expected `;' before ‘task’ /home/m3t4linux/Software/starfield-wallpaper-0.4/src/starfield.cpp:514: error: request for member ‘brk’ in ‘_container_’, which is of non-class type ‘int’ /home/m3t4linux/Software/starfield-wallpaper-0.4/src/starfield.cpp:515: error: ‘task’ was not declared in this scope /home/m3t4linux/Software/starfield-wallpaper-0.4/src/starfield.cpp:519: error: ‘task’ was not declared in this scope make[2]: *** [CMakeFiles/plasma_wallpaper_starfield.dir/starfield.o] Erreur 1 make[1]: *** [CMakeFiles/plasma_wallpaper_starfield.dir/all] Erreur 2 make: *** [all] Erreur 2 What can I do to solve this error please? I use KDE 4.3 on Debian sid Thanks!!
Hi I think this might be a problem with my CMakeLists.txt file. I have now copied the CMakeLists.txt that Smooth-tasks uses since it also uses taskmanager.h. Can you try recompiling and see if it works? If it doesn't then could you try to see if Smooth-tasks compiles on your machine? http://www.kde-look.org/content/show.php/Smooth+Tasks?content=101586
Here the new error message during the compilation : m3t4linux@debian:~/Software/starfield wallpaper$ ./install.sh -- The C compiler identification is GNU -- The CXX compiler identification is GNU -- Check for working C compiler: /usr/bin/gcc -- Check for working C compiler: /usr/bin/gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Looking for Q_WS_X11 -- Looking for Q_WS_X11 - found -- Looking for Q_WS_WIN -- Looking for Q_WS_WIN - not found. -- Looking for Q_WS_QWS -- Looking for Q_WS_QWS - not found. -- Looking for Q_WS_MAC -- Looking for Q_WS_MAC - not found. -- Found Qt-Version 4.5.2 (using /usr/bin/qmake) -- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so;/usr/lib/libXft.so;/usr/lib/libXau.so;/usr/lib/libXdmcp.so -- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so;/usr/lib/libXft.so;/usr/lib/libXau.so;/usr/lib/libXdmcp.so - found -- Looking for gethostbyname -- Looking for gethostbyname - found -- Looking for connect -- Looking for connect - found -- Looking for remove -- Looking for remove - found -- Looking for shmat -- Looking for shmat - found -- Looking for IceConnectionNumber in ICE -- Looking for IceConnectionNumber in ICE - found -- Found X11: /usr/lib/libX11.so -- Looking for include files CMAKE_HAVE_PTHREAD_H -- Looking for include files CMAKE_HAVE_PTHREAD_H - found -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE -- Found Automoc4: /usr/bin/automoc4 -- Found Perl: /usr/bin/perl -- Phonon Version: 4.3.1 -- Found Phonon: /usr/lib/libphonon.so -- Found Phonon Includes: /usr/include/qt4/KDE;/usr/include/qt4 -- Performing Test _OFFT_IS_64BIT -- Performing Test _OFFT_IS_64BIT - Failed -- Performing Test HAVE_FPIE_SUPPORT -- Performing Test HAVE_FPIE_SUPPORT - Success -- Performing Test __KDE_HAVE_W_OVERLOADED_VIRTUAL -- Performing Test __KDE_HAVE_W_OVERLOADED_VIRTUAL - Success -- Performing Test __KDE_HAVE_GCC_VISIBILITY -- Performing Test __KDE_HAVE_GCC_VISIBILITY - Success -- Found KDE 4.3 include dir: /usr/include -- Found KDE 4.3 library dir: /usr/lib -- Found the KDE4 kconfig_compiler preprocessor: /usr/bin/kconfig_compiler -- Found automoc4: /usr/bin/automoc4 CMake Error at /usr/share/cmake-2.6/Modules/FindPackageHandleStandardArgs.cmake:57 (MESSAGE): Could NOT find KDE4Workspace (missing: KDE4Workspace_CONFIG) Call Stack (most recent call first): /usr/share/kde4/apps/cmake/modules/FindKDE4Workspace.cmake:70 (find_package_handle_standard_args) CMakeLists.txt:4 (find_package) -- Configuring incomplete, errors occurred! And the result of 'aptitude search workspace' : m3t4linux@debian:~/Software/starfield wallpaper/build$ aptitude search workspace p gworkspace-apps-wrappers - Application wrappers for GWorkspace p gworkspace.app - GNUstep Workspace Manager i A kdebase-workspace - base workspace components from the official KDE 4 release i A kdebase-workspace-bin - core binaries for the KDE 4 base workspace module i A kdebase-workspace-data - shared data files for the KDE 4 base workspace module p kdebase-workspace-dbg - debugging symbols for the KDE 4 base workspace module p kdebase-workspace-dev - development files for the KDE 4 base workspace module i A kdebase-workspace-kgreet-plugins - KDE greet libraries for authentication c kdebase-workspace-libs4+5 - libraries provided by the KDE 4 base workspace module i A libkworkspace4 - Library for the kdebase workspace i A plasma-dataengines-workspace - KDE 4 base workspace Plasma data engines i A plasma-widgets-workspace - KDE 4 base workspace Plasma widgets and containments I should installing a specific package??
yes you need kdebase-workspace-dev. It should work after that :)
Yes, effectively it work better with this package ! ! I'm going to learn to read a README file ;-)
Congratulations on the amazing work. Is it possible to add a feature such that the starfield will pause automatically when there is a window open that has been maximized and has complete focus for a certain period of time?
Thanks :) I think it is possible to detect when a window is maximised etc. This is one of my plans for the next version. Another plan is to have a 'skybox' mode where dragging the desktop would rotate the background and the starfield and would let you look around. However this seems a bit complicated and would probably be slow...
Hi, I am running this plugin using a self-compiled version under Gentoo. After about 3-5 Minuten, suddenly the whole plasma desktop ist getting crazy and several parts seems not to be redrawn. The log is showing repeatly: QPainter::setCompositionMode: Painter not active QPainter::end: Painter not active, aborted QPainter::begin: Paint device returned engine == 0, type: 3 If the plugin is deactivated, everything seems to run stable. Any ideas?
Thanks for the bug report :) Unfortunately I have not been able to replicate it on my machine. I tried on both 4.2 and 4.3 trunk running on Kubuntu. What KDE version are you using? Are you using any non-standard plasmoids? BTW how do you look at the log files? I've been trying to find them but couldn't...
It's a KDE 4.2.95 from Gentoo KDE Testing. I really could use a timer to reproduce it. Looks also like it is not a problem with the theme... they colors might vary, but I can reproduce it with "tragedy" and "luft". I am using only a systemmonitor for hardware and bubblemon as additional non standard plasmoids. For the logs... just kill plasma "kquitapp plasma-desktop" and call "plasma-desktop" from a konsole. You can see its message then.
Hmm... Unfortunately it's hard to tell why this is happening. It could be due to the large number of repaints on the screen screwing up plasma. Or it could be due to some other unrelated bugs. If you could upgrade to KDE 4.3 when it is out and report back again that would be great :)
In my PC Athlon64 3800, nvidia 6200, 1GB RAM can not be used, the whole system slow. In Laptop Core 2 Duo 2.4GHz, NVIDIA 8600M, 4GB RAM, runs stable, but considerably consume resources.
Yes this wallpaper is very resource consuming :). I recommend leaving it in paused mode most of the time. In the next version I'm thinking of adding the ability to pause the wallpaper automatically when there are windows open or a window is maximised. The reason why it uses so much resources is because it uses software rendering. Using hardware accelerated drawing like openGL would considerably reduce resource usage. So far I have not been able to successfully use direct openGL rendering. If anyone out there can help me it will be very much appreciated :D.
Mandriva i586 rpm http://www.mandrivalinux.gr/rpm/2009.1/i586/plasma-wallpaper-startfield-0.3-1mdv2009.1.i586.rpm
http://chomikuj.pl/kubdat/public/starfield-wallpaper-0.3-1mdv2009.1.x86_64.rpm
thanks :)
I've done a video preview of it. See here: http://www.youtube.com/watch?v=fVHCw3Q0KPI