1 2 xdesktopwaves 1.4 3 4 Simulation of water waves on the X Windows desktop 5 6 Copyright (C) 2004,2019 Oliver Hamann 7 8 9 For license please refer to the file COPYING 10 11 12xdesktopwaves is a cellular automata setting the background of your X Windows 13desktop under water. Windows and mouse are like ships on the sea. Each movement 14of these ends up in moving water waves. You can even have rain and/or storm 15stirring up the water. 16 17If you want to read more about xdesktopwaves before installing it, type: 18 19 man -l xdesktopwaves.1 20 21or go to the homepage: 22 23 http://xdesktopwaves.sourceforge.net/ 24 25 26INSTALLATION 27============ 28 29In seldom cases you may have to edit the Makefile. An example would be to 30compile with another compiler than gcc, or to change the include, library 31and install directories. Or maybe you want to add a compiler flag like 32-mcpu=athlon-xp or -mcpu=pentium4. 33 34For compiling xdesktopwaves simply type: 35 36 make 37 38If you get errors from the assembler, try the following command. It disables 39SSE2 assembly: 40 41 make XDW_MAX_OPTIMIZATION=1 42 43If you get errors from the assembler again, you will probably even have to 44disable MMX: 45 46 make XDW_MAX_OPTIMIZATION=0 47 48Hint: There is no need to disable optimization for lack of support by the CPU. 49That is checked by the program at run-time. 50 51After compilation was successful, be root and install xdesktopwaves with: 52 53 make install 54 55Now read the manual: 56 57 man xdesktopwaves 58 59You don't like to read the manual? Okay, try some of these commands: 60 61 xdesktopwaves 62 xdesktopwaves -colortheme 9 -verbose 63 xdesktopwaves -quality 3 -colortheme 1 -root -stippled 64 xdesktopwaves -quality 6 -colortheme 5 -window -opaque -rain 7 65 xdesktopwaves -quality 4 -colortheme 3 -storm 8 66 67If you want to create menu entries in your desktop environment, window manager 68or wherever: For starting, create an entry containing a command like the 69examples above. For stopping, create an entry containing this command: 70 71 xdesktopwaves -end 72 73 74CHANGES 75======= 76 77Version 1.4 78 * Added backdrop failure checking, and because this is not always reliable, 79 also added an (emergency) exit button. 80 * Adapted to new KDE versions. 81 * Added support for Hygon Dhyana processor. 82 * Fixed some minor portability flaws. 83 84Version 1.3 85 * Added dealing with non-rectangular shape of client windows. 86 * Added a criterion for the idle mode: obscurity of output window. 87 * Added xdwapi. 88 89Version 1.2 90 * Added an option for improving the trails of mouse and windows: 91 -eventsperframe <count>. Because this even has influence on CPU load, it 92 got member of the set of options adjusted through the -quality option. 93 * Added options for configuring lighting: -skyintensity <1-10>, 94 -lightintensity <1-10>, -lightaltitude <deg>, -lightazimuth <deg>. 95 In order to solve that, the formulas for calculating the reflections have 96 been redesigned. It is theoretically a little bit more realistic now, but 97 it makes no appreciable difference in the look. 98 * The option -highlightcolor has been renamed to -lightcolor. 99 * Added an option for another method of transparency (still highly 100 experimental): -wmopacity <0-100>. 101 102Version 1.1 103 * The intensity of rain and storm is configurable now. New options: 104 -rain <0-10> and -storm <0-10> (the old yes-or-no variants are deprecated). 105 * The viscosity of the fluid is no longer a constant (without any speed 106 loss). New option: -viscosity <1-5> 107 * The rain feature no longer prevents from the idle mode: just obscure by 108 other windows, but don't give -nww. 109 * Bugfix: On 64-bit x86, xdesktopwaves now even compiles with gcc 3.4. 110 * Bugfix: Fixed arithmetic exception on systems with a small RAND_MAX. 111 * Bugfix: If -stippled, clear window at initialization. 112 * Optimization/Bugfix: The color palette is reduced to have only different 113 colors. This can spare about 10% of the rectangles sent to the server, 114 if the display depth is 16-bit. 115 * Optimization: Treatment of minimum range of out-of-date canvas rows. This 116 spares up to 50% client CPU cycles when there are just very few waves 117 (shortly before entering idle mode). 118 119 120BUGS & FANTASIES 121================ 122 123 - If running with -wmbackdrop, mouse clicks mostly are not forwarded to the 124 desktop (possibly just at every second scan-line in shaped mode). I'm afraid 125 that the only solution would be to extend the standard of "Extended Window 126 Manager Hints", so that an application can tell the window manager not to 127 interpret any input on the window. 128 129 - There is some flicker when client windows are moved. Depending on the X 130 Server, it can be conspicuous with shaped windows. This could be reduced by 131 disabling the "clear-on-exposure" behavior and by immediate repainting on 132 exposure events (if double-buffered). 133 134 - Screen saver mode is still missing. 135 136 - In high quality mode, and if client and server are on the same machine, it 137 could make sense to paint with XShmPutImage instead of XFillRectangles. 138 139 - Add special support for enlightenment 0.17. 140 141 - The API should have functions for modifying all the other settings. 142 143 - A graphical user interface for modifying the settings is more and more 144 desirable. 145 146 - Maybe it is possible to add options for the behavior at the edges of the 147 windows: positive reflection of waves; weaker reflection of waves; deletion 148 of waves; let the waves come back from the opposite edges of the output 149 window. 150 151 - The cellular automata could possibly be improved by making the cells 152 hexagonal. 153 154 - There could be an option for setting a background pixmap (stipple mode only). 155 156 - Another idea is to have an option for setting a bitmap which defines a 157 land/water mask. Would be nice in combination with an appropriate background 158 pixmap. 159 160 - Finally xdesktopwaves may be developed towards a real-time ray tracer: 161 Reflect an environment pixmap (trees, clouds...). Illuminate a sea bottom 162 pixmap by refraction of sunbeams. Refract rays from eye to sea bottom. Do the 163 same with animated animal pixmaps in one or more layers. Unfortunately these 164 things probably would not look good with the interlaced shaping of the output 165 window. But maybe there could be a shore area, in which the desktop icons are 166 still visible. 167