HowTo use Shadows

How to do things, solutions, recipes, tutorials
Post Reply
Message
Author
User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

HowTo use Shadows

#1 Post by MU »

Shadows for Windows look great, but you often can read about problems with them:

- slow
- corrupted Titlebars
- background problems
- crashes

This article helps you, to solve these problems.

I have very fast shadows on an old Pentium 700 with an old ATI Radeon 7000 at 1280x1024 pixel resolution with 24 bit colordepth.

See a fullscreen-picture here: (300 kb):
http://dotpups.de/pics/puppy/xorgfbob.png

You will need the X.org -Xserver, thats to say Puppy 1.0.7 or my X.org Dotpup for older Puppys.


Step 1: The xserver

Skip this step, if you have no ATI-Graficscard.

The xorg-wizard installed an "ati"-driver.
I found a better solution, the driver called "radeon"
Exit X (hit CTRL-ALT-Backspace).

To edit the config, type:
mp /etc/X11/xorg.conf

Search the line

Code: Select all

	Driver      "ati"
replace it with

Code: Select all

	Driver      "radeon"
Save your changes (CTRL-a).

To test if it works, start X:
xwin


Step 2: DRI

DRI enables 2D-Hardware-accelleration.
http://www.murga.org/~puppy/viewtopic.php?t=5244

Step 3: Optimizing X

Again, edit xorg.conf like in step 1.
This time, activate some of the options by uncommenting them (remove the leading "#").
You should have these lines:

Code: Select all

        Option     "AGPMode"            	# <i>
        Option     "AGPFastWrite"       	# [<bool>]
        Option     "EnableDepthMoves"   	# [<bool>]
        Option     "EnablePageFlip"     	# [<bool>]
        Option     "NoBackBuffer"       	# [<bool>]
        Option     "DDCMode"            	# [<bool>]
        Option     "RenderAccel"        	# [<bool>]
I don't know if every option is needed, but for me they work ok.

I also commented this line:

Code: Select all

#      Option    "omit xfree86-dga"   # don't initialise the DGA extension

Step 4: Activating shadows

Install this Dotpup (54 kb):
http://dotpups.de/dotpups/XServer/xcompmgr.pup

I slightly modified the program, to avoid crashes.

Again, edit xorg.conf.
In the end, add these lines:

Code: Select all

Section "Extensions"
 Option "Composite" "Enable"
 Option "RENDER" "Enable"
EndSection
In a console, type "xcompmgr -c"
Now your windows should have shadows.

If you have bad luck, your background looks totally corrupted, and your window-decoration looks not perfect, either. The next steps fix that.


Step 5: The Windowmanager

I use Fluxbox with the "Aqua-Theme.
With shadows enabled, the corners are not transparent.
So edit /root/.fluxbox/init
Search these values, and alter them as shown here.

Code: Select all

session.screen0.showwindowposition:	false
session.screen0.opaqueMove:	true
session.opaqueMove:	true
session.forcePseudoTransparency:	true

Step 6: Setting the background

If you have a corrupted background, we need to trick out the xcompmgr.
Install this Dotpup (130 kb):
http://dotpups.de/dotpups/WindowManagers/wmsetbg.pup

Then open ROX-Filer, and drag the file /usr/local/bin/shadow-background to your Desktop.
Now you can enable shadows and a backgroundpicture of your choice by dragging a picture on this new icon.
Sometimes this must be twice or 3 times, that is a timing-bug in xcompmgr.
To stop shadows, type "killall xcompmgr" in a console.

The only problem, that still might remain:
When you resize a window, the background might not be drawn correct.
In this case, drag /usr/local/bin/xrefresh to your desktop, and click it to clean up the desktop.
Maybe this problem can be solved with some more tweaking.
It also depends on the Windowmanager you use.

Mark

Post Reply