desk.cpl appearance

The place to bring up any design issues, or post your own creations

Moderator: Moderator Team

ThePhysicist
Developer
Posts: 508
Joined: Mon Apr 25, 2005 12:46 pm

desk.cpl appearance

Post by ThePhysicist » Sat Jul 29, 2006 4:17 pm

This is what I have been working on: (click to enlarge)

Image

It's far from being complete, but it can already change syscolors on winxp.
doesn't work on ROS yet, probably due to missing implemenation of loading syscolors from registry or there may be something wrong with registry functions in trunk (regedit crashes). The color button on the background tab doen't work, either.

ToDo:
- Load and save fonts / size
- Load themes from the registry
- Draw the preview windows
(- implement reading syscolors from registry?)

mcuelenaere
Posts: 55
Joined: Sat Apr 08, 2006 2:26 pm
Location: Belgium

Post by mcuelenaere » Sat Jul 29, 2006 4:22 pm

that's very cool :D :D
does it work on ROS 0.3.0 RC1 ?

ThePhysicist
Developer
Posts: 508
Joined: Mon Apr 25, 2005 12:46 pm

Post by ThePhysicist » Sat Jul 29, 2006 4:27 pm

The ColorPicker doesn't work in 0.3.0 RC1 ;-(
And it looks like Colors are stored in a REG_BINARY value called "custom colors", not in the key called "Colors", but I'm not sure.

keytotime
Posts: 51
Joined: Tue Jun 06, 2006 2:11 am

Post by keytotime » Sat Jul 29, 2006 7:09 pm

Very, very Nice. This is really needed. It's the first stage to theme support.

Coviti
Posts: 300
Joined: Wed Mar 01, 2006 4:26 am

Post by Coviti » Sat Jul 29, 2006 11:46 pm

Well, it's not necessarily the first step towards theming support. This is mostly a frontend for Registry settings, etc. which control the appearance of windows. It's kind of like theming without themes. ;)

Apal
Posts: 155
Joined: Wed Nov 02, 2005 1:13 am
Location: Greece

Post by Apal » Tue Aug 01, 2006 2:39 pm

Take a look at this topic

http://www.reactos.org/forum/viewtopic.php?t=2452

If u don't mind pls send me your altered files to try to alter it based on the things I have done so far.
I have already managed to enable registry key read and write support for menu text color value, but for a specific value that I give, since colorchooser doesn't work.

ThePhysicist
Developer
Posts: 508
Joined: Mon Apr 25, 2005 12:46 pm

Post by ThePhysicist » Tue Aug 01, 2006 4:00 pm

Apal wrote:Take a look at this topic

http://www.reactos.org/forum/viewtopic.php?t=2452

If u don't mind pls send me your altered files to try to alter it based on the things I have done so far.
I have already managed to enable registry key read and write support for menu text color value, but for a specific value that I give, since colorchooser doesn't work.
ChooseColor works in trunk. At least partly.
Apal wrote:I just used SetSysColor and used a 5-D array of various colors. When I press the button, Colors change, Well it needs a refresh, but as u can see it works!
Very interesting. It didn't work for me. SetSysColors was implemented, but it did not set the SysColorBrushes/Pens. After i implemented setting those, too, it worked after restarting the programs. Interesting: explorer will not draw it's caption/etc. with new colors, because it's already started. (shell).
I also implemented sending WM_SYSCOLORCHANGE to all windows, but this does not seem to be implemented in DefWndProc, it just does nothing.
I have also implemented reading the ColorValues from registry in win32k, but there's a bug, it doesn't work, yet. I hope trunk will be booting with kdbg=1 again, soo, so I can better try to find out why the colors are not loaded. I will look at it later. When it works I will create a patch.
I will finish this stuff before 0.3.1, i promise ;-)

ThePhysicist
Developer
Posts: 508
Joined: Mon Apr 25, 2005 12:46 pm

Post by ThePhysicist » Sat Aug 05, 2006 3:10 am

Ok, here it comes. 3 patches.
These patches allow changing Syscolors in the desk.cpl's appearance tab. It does not work until the damn ChooseColor function works again ;-)
patch 1732

and here's a screenschot of what it does: Image

shevegen
Posts: 59
Joined: Tue Aug 15, 2006 9:25 pm

Post by shevegen » Tue Aug 15, 2006 9:53 pm

Any more news?

ThePhysicist
Developer
Posts: 508
Joined: Mon Apr 25, 2005 12:46 pm

Post by ThePhysicist » Thu Aug 17, 2006 2:59 am

I have been busy with RL (you don't know RL? Yea, it's worth downloading ;-)) But I think I will find some time this WE. At least applying the color does now work on the desktop, and the syscolors are loaded from the registry, but the syscolor brushes seem not to be updated as they should be. I will have a look at it. And I try to add a little more functionality to the cpl.

ThePhysicist
Developer
Posts: 508
Joined: Mon Apr 25, 2005 12:46 pm

Post by ThePhysicist » Sun Aug 27, 2006 1:14 am

Ok Update:
I managed to load the custom colors and apply them. It was a simple "if" that keeped the function called from recreating the SysColorBrushes.
Now Desktop Color is applied immediately (icon text background is applied after reboot, but this should be handled by explorer IIRC, have to talk to mf for that)
Caption etc. is applied after creating a new window. SysColorChange-Message seems not to be handles correctly by DefWindowProc, I guess. I will ook into that later.
At least it works after reboot. Now I can go on with desk.cpl itself.
Sizes are next on my list.
Edit: A screenshot of course: Image

ThePhysicist
Developer
Posts: 508
Joined: Mon Apr 25, 2005 12:46 pm

Post by ThePhysicist » Tue Aug 29, 2006 12:10 am

Now Sizes, Fonts and FontSizes work in the Advanced Appearance Dialog.

Still Missing: Quickinfo- and DialogBox-Font.
I just don't know how to get the LOGFONT for those.
I get the fonts for Caption, SmCaption and Menu using SystemParametersInfo(SPI_GETNONCLIENTMETRICS,...)
and the font for icons using SystemParametersInfo(SPI_GETICONTITLELOGFONT,...)
Anyone any idea how to get fonts for Quickinfo and DialogBox?

kokodin
Posts: 175
Joined: Tue Nov 29, 2005 7:19 pm

Post by kokodin » Tue Aug 29, 2006 5:29 pm

hi i have crazy idea you could read this from value of schemes in hcu>control panel>apperance (win98) i find there some fonts names but i don't know how it work :D in value of shemes names (standard windows for eg.) there are 6 font names (usualy same)

ThePhysicist
Developer
Posts: 508
Joined: Mon Apr 25, 2005 12:46 pm

Post by ThePhysicist » Sun Oct 01, 2006 3:11 am

Now I've got font changing working on XP. It doesn't work on ROS yet.
Are system fonts hardcoded in ROS? CaptionFont in registry is set to Bitstream Vera Sans Bold, but NONCLIENTMETRICS say it's MS Sans Serif regular.
And can anyone tell me how to install a font on ROS? Where are the installed fonts stored in the registry? I can't find it. Simply adding a font to the fonts folder does not work.

GreatLord
Developer
Posts: 926
Joined: Tue Nov 30, 2004 10:26 am
Location: Sweden

Post by GreatLord » Sun Oct 01, 2006 9:42 am

alot SPI_* are not implement or full implement in win32k in ReactOS.
mostlike is that issue cause of the font issue.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest