Crystal-GL

KDE 3.x Window Decorations

Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net

0
5 .0
Description:

Crystal-GL is the next generation of my crystal window decoration theme.
By using OpenGL to render itself, it simulates refraction and light mapping! Check out screenshots! NOW!

I name the deco HIGHLY EXPERIMENTAL! Don't blame me, if it brakes your computer into two, if it crashes kde or makes it unusable. THIS IS BETA, NO WARRANTY.
If it breakes kwin, even on startup, remove your ~/.kde/share/config/kwinrc file, to reset the kwin settings to default.

WARNING: You need to have write access to the 3D acceleration device, if exists. I.e.: /dev/dri/* or /dev/nv*. Otherwise the deco or kcontrol may crash.

It looks very similar to crystal, but has more eye-candy and smooth animations.

* Grabs your wallpaper and simulates bended glass, little lighting. You are able to specify the ior. ;)
* Support for button themes. Feel free to swamp me with cool themes. :D The themes are the same than the ones in crystal.
Knifty button theme by Enso

Disadvantages:
* Needs a working GL subsystem!!! Don't blame me, if yours is broken!
* Be careful on nvidia systems, if under load, the gl subsystem may become *real* slow, so my deco.
* Needs KDE >=3.2 and QT>=3.2 to compile.
* May be slower than any other deco
* May be fat
* May make you drool, and you might forget to eat, sleep or even breath!


-- INSTALL -------------------------
Basic Installation (from the console):
- Step 1
$ ./configure
OR: $ ./configure --prefix=`kde-config --prefix`
- Step 2
$ make
- Step 3 (as root)
# make install

If configure fails, check that you have both the Qt and KDE development headers installed. If you used a previous version before, you need to restart kde to use the upgraded version.
------------------------------------


Please give some feedback or tell me some improvement suggestions.
I would be very happy about some packages, like for Mandrake, Debian, Suse, Redhat, etc! PLEASE DON'T POST PACKAGES AS NEW CONTENT, just notify me and mail it to me, and I'll host them.

PROVIDED PACKAGES MAY NOT BE UP2DATE! Check out versions number!

Thanks to bitwit for each others help with the GL-deco stuff!

Enjoy! :)

Check out crystal (non-gl) at:
http://kde-look.org/content/show.php?content=13969


Sascha Hlusiak
Last changelog:

15 years ago

* All packages up to date now

0.8.1:
* Made look antialiased caption damn good. Enabling this is RECOMMENDED now!
* Fixed menu button image bug
* Split up rendering process into four for each border. Maybe speed up or (most likely) speed down. :-/ Should fix nvidia-slowdown-bug on maximized windows.
* Added feature: "Scroll" through windows, by using the mouse wheel on the title bar, as well as an option in the configuration dialog to disable this immediately :>
* Improved config dialog a little


0.8.0:
* Added extreme slick "handpainted" button theme (thank you, Marco)
* Fixed some bugs, which almost drove me crazy on my notebook.
* Little speed up in the initialization
* Improved my "button-rendering-engine" a lot. Now button tinting uses GL, too.
* Added more options for button tinting.
* Added option to make the hover effect fade
* Added option to disable the transparency feature completely (don't dare!)
* Added information of direct rendering and glx version to the control center preview
* Got rid of some unneccessary code, probably put in a lot of more unneccessary code.
* Added a benchmark feature for my internal use (ctrl+alt+shift+RightButton on the title bar)


0.7.5:
* Added Knifty button theme (thanks to Enso)
* Fixed buttons
* Little code rearrangement, nothing visible

bitwit

15 years ago

careful!
things may not appear active due to painter failure but the window structures can still be active.
during testing and development of these GL decos I have,
during an apparent lock, pressed ALT-F2 to get a requester to type in a command,
the requester was not painted but I typed in a command and hit enter just for a lark,
it executed !

Report

cyclon

15 years ago

How about another languages??? Russian for example?

Report

lordcrow

15 years ago

i don't know anything about russian... but i can help for a spanish version ;)

Report

ZeGeek

15 years ago

It works very well now on my system. Thank you, It is a very good work.

I noticed that render of some fonts like "URW Chancery" is very bad.

Report

mrvanes

15 years ago

This is really great!

One little wish though: I would _love_ to see a 'brighten' or 'lighten' feature for this deco so that even on dark backgrounds the foreground window would stand out a little more. Plus, I think the resulting glowing effect would be great!

Report

Deciare

15 years ago

If I already have a session of kwin running, I can switch to and use Crystal-GL without problems, but X freezes whenever kwin is restarted. The freeze also occurs when I log in, but not until I open a window that has a border (i.e. GKrellM, kicker, XMMS and all that are fine).

I'm using Frugalware's KDE 3.3.2 with X.Org 6.8.1 and an nVidia card with driver version 1.0-6629.

Report

nuka

15 years ago

reinstall it.

it might work, it might not.

Report

Deciare

15 years ago

Already tried that. Along with reinstalling KDE, moving the old config out of the way, etc.

Report

nuka

15 years ago

are you compiling from source? try that.

also, try using an older version, like .7.1. .7.2 didnt work at all for me, .3 is great so far.

you can also just change the deco when kde exits and change it back when it starts up, its not like youre constantly logging in/out of the computer anyway.

but most importantly, this bug should be fixed, this is just a temporary work-around.

Report

nuka

15 years ago

im not having the same probs with .7.3 as i was with .7.2, and it feels faster than .7.1. or is that just me?

Report

Diablo82

15 years ago

Your window deco it's quite impressive :D
Since composite won't be supported by kde team 'till it become stable, is there any way to add some kind of drop shadow option to crystagl? That would be great:)

Report

nuka

15 years ago

yes, http://kde-look.org/content/show.php?content=15781

but it is not hardware accelerated.

and KDE 3.4 will have x.org support.

Report

ZeGeek

15 years ago

This is a very nice works, thank ! But I have a problem to compile it :

make[3]: Entering directory `/documents/crystalgl-0.7.2/client'
/usr/qt/3/bin/moc ./crystalclient.h -o crystalclient.moc
source='crystalclient.cc' object='crystalclient.lo' libtool=yes \
depfile='.deps/crystalclient.Plo' tmpdepfile='.deps/crystalclient.TPlo' \
depmode=gcc3 /bin/sh ../admin/depcomp \
/bin/sh ../libtool --silent --mode=compile --tag=CXX g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/freetype2 -I/usr/kde/3.3/include -I/usr/qt/3/include -I/usr/X11R6/include -I/usr/kde/3.3/include/kwin -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -O2 -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common -DQT_PLUGIN -c -o crystalclient.lo `test -f 'crystalclient.cc' || echo './'`crystalclient.cc
In file included from /usr/X11R6/include/GL/glx.h:25,
from crystalclient.h:5,
from crystalclient.cc:16:
/usr/X11R6/include/X11/Xmd.h:132: error: conflicting declaration 'typedef long int INT32'
/usr/qt/3/include/qglobal.h:689: error: 'INT32' has a previous declaration as `typedef int INT32'
/usr/X11R6/include/X11/Xmd.h:132: error: declaration of `typedef long int INT32'
/usr/qt/3/include/qglobal.h:689: error: conflicts with previous declaration `typedef int INT32'
/usr/X11R6/include/X11/Xmd.h:132: error: declaration of `typedef long int INT32'
/usr/qt/3/include/qglobal.h:689: error: conflicts with previous declaration `typedef int INT32'
make[3]: *** [crystalclient.lo] Erreur 1
make[3]: Leaving directory `/documents/crystalgl-0.7.2/client'
make[2]: *** [all-recursive] Erreur 1
make[2]: Leaving directory `/documents/crystalgl-0.7.2/client'
make[1]: *** [all-recursive] Erreur 1
make[1]: Leaving directory `/documents/crystalgl-0.7.2'
make: *** [all] Erreur 2


I use GCC 3.4, Xorg 6.8, KDE 3.3, QT 3.3 on Gentoo.I'm sorry as I have no knowledge in C++ programming to send you a patch.

Report

ZeGeek

15 years ago

I forget saying you that I have this problem since the first published version.

Report

C

dralgebra

15 years ago

This is caused by qt and the nvidia opengl interface, because both define the same thing.

Try this instead of ./configure:
./configure CXXFLAGS="-DQT_CLEAN_NAMESPACE"
then make. Let me know, if this worked, I will release a version with this bug fixed, soon.

Report

ZeGeek

15 years ago

OK, it compile but it doesn't work... :-/

The precedent windeco is replaced but the new is not shown : It looks like if kwin crashed. But I can move windows with alt+left click... (it is not possible if kwin crashed)

GLX is well loaded :
> glxinfo
name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: NVIDIA Corporation
server glx version string: 1.3

Report

C

dralgebra

15 years ago

I need to test this at home, with my own nvidia card.

Most likely the window deco is running fine, except that the opengl subsystem could not be initialized. If you run "kwin --replace" in a terminal, you might get error messages.
When the opengl could not be initialized, it simply draws nothing, leaving the part of the deco what it was before (try moving windows outside the borders of the screen).
Is this right? This is definitely a bug, because it did work before, but I need to find it. It works just fine on my system. :-/ Please wait until I can test this on another machine.

Report

C

dralgebra

15 years ago

Huh, maybe I found it. :) So sorry, my fault. Check out update, it should work again.

Report

lucher

15 years ago

I have two issues:

(1) a bug: long window title strings are not truncated (what about a fade effect like in kickers taskbar or inserting dots?). Moreover, they should be restricted to the area between the buttons; right now, long strings are drawn ON (overlapping) the buttons.

(2) text shadow color.
I would suggest to give the color of the text shadow some dynamic color detection: white shadow if the text color follows r*g*b < 128*3, else a black shadow. Right now, I have readability problems with dark text colors.

Regards

Report

C

dralgebra

15 years ago

(1) Yeah, I know and totally agree. Not _that_ easy, but perhaps I can fix this soon.

(2) You are right, again. Dark color produces a dark shadow, so you'll have a very much blurred title bar text. You could disable the shadow effect, because I think, it makes the text unreadable every time, and it still has an anti-aliased effect. Thinking of something better...

Report

dadeisvenm

15 years ago

I haven't downloaded it yet, but is there a beveled edge option, and if it isn't can i and it to a wish list for the next version (plleeeeaassseee :-) )
Sharp beveled edges would be pretty classy looking. :-D

Report

C

dralgebra

15 years ago

You can set for each corner, if it should be round.

There is an option for simulating lighting, or not. If enabled, there comes a decent 3D effect on the borders, by simulating light. You can see this effect on my first screenshot.

This is rendered smooth, so without any sharp edges. I thought of this, too, let's see what I can do. :) But perhaps I should modify the refracting algorithm, too, to simulate something like gems!?

Report

nuka

15 years ago

at least i think it is...

i install it from source and then i go into the settings page and change the colors there. then i change the colors in kcontrol and window still cahnges with kcontrol. i thought i should log out and log back in. when i logged back in, kwin froze. i had to go to fvwm to change the windeco. when i logged back into KDE again, i was using another deco which worked. when i go to change it to crystal-gt, and it is jut messed up. its transparent with random non-moving crap in it. .7.1 never crashed on me. although once it became a black/white gradient and i had to reinstall it.

???

Report

C

dralgebra

15 years ago

When you update a window decoration, which has already been used in the current kwin session, you need to restart kwin to make it use the new installed one. Do this by calling `kwin --replace`, or you stay with the old version.

I changed some stuff and moved the opengl initialization outside the constructor and *bla*.
So kwin still freezes on login in 0.7.2? What distrubution do you use, and which kde version? These problems should have been fixed for now, I'm suprised that it isn't.
What do the crappy windows contain? The old content of whatever was there before? Move other windows around, if the windows contain crap, it is most likely that the opengl subsystem could not be initialized. Please run kcontrol within a konsole and post me error message, that occur when selecting my deco.
Perhaps a restart of X can solve the problems? Looks strange..

Report

nuka

15 years ago

i restarted KDE and X and it still doesn't work. i even reinstalled it. im using yoper(never had this problem before) and 3.3.1

ill go back to .7.1 for a while.

Report

15 years ago

* All packages up to date now

0.8.1:
* Made look antialiased caption damn good. Enabling this is RECOMMENDED now!
* Fixed menu button image bug
* Split up rendering process into four for each border. Maybe speed up or (most likely) speed down. :-/ Should fix nvidia-slowdown-bug on maximized windows.
* Added feature: "Scroll" through windows, by using the mouse wheel on the title bar, as well as an option in the configuration dialog to disable this immediately :>
* Improved config dialog a little


0.8.0:
* Added extreme slick "handpainted" button theme (thank you, Marco)
* Fixed some bugs, which almost drove me crazy on my notebook.
* Little speed up in the initialization
* Improved my "button-rendering-engine" a lot. Now button tinting uses GL, too.
* Added more options for button tinting.
* Added option to make the hover effect fade
* Added option to disable the transparency feature completely (don't dare!)
* Added information of direct rendering and glx version to the control center preview
* Got rid of some unneccessary code, probably put in a lot of more unneccessary code.
* Added a benchmark feature for my internal use (ctrl+alt+shift+RightButton on the title bar)


0.7.5:
* Added Knifty button theme (thanks to Enso)
* Fixed buttons
* Little code rearrangement, nothing visible

12345678910
product-maker Base: 4 x 5.0 Ratings
Be the first to comment
File (click to download) Version Description Downloads Date Filesize DL OCS-Install MD5SUM
*Needs pling-store or ocs-url to install things
Pling
0 Affiliates
Details
license
version
0.8.1
updated Jan 26 2005
added Dec 19 2004
downloads 24h
0
mediaviews 24h 0
pageviews 24h 0
System Tags linux unix