Jump to content

SmoothText 1.1.8


WildBill

Recommended Posts

Oops, sorry about that menu regression bug. I've posted version 0.8.9, which fixes it.

Out of curiosity, what color depth are you running? Is it 32-bit or something lower? I haven't tested transparency in anything lower (like 24-bit) and I've been wondering what would happen.

Link to comment
Share on other sites


I'm running at 32-bit colour depth, with Tihiy's RPL2K.DLL for 32-bit icons.

I know the taskbar can be made semi-transparent, Glass2K can do this except it only sets the transparency of the entire bar, not individual components.

Explorer is highly stable now, even with override components on, and will usually survive an icon cache reset.

Link to comment
Share on other sites

Well, at least your Explorer is back up and running again. The trick seems to have been removing code that uses Delphi's reference-counted long strings and using null-terminated ones instead. Apparently Delphi's way of managing them is incompatible with Explorer (at the point where they interface, at least). I might take it further and completely expunge reference-counted string code from it just to be sure, but that would be a huge job. I'd rather not do that if I don't have to. Anyway, I'll still have to figure out why translucency isn't working for you. Can anyone else chime in? Is it working or are other people having problems with it, too? The more information I have, the better equipped I should be to figure out what the issue is.

I've posted version 0.9.0, which fixes a crash bug in Firefox 3. It happens in file open/save dialogs when you right-click and select New... as if you want to create a new folder, for instance. Apparently you have to be very careful in choosing where to send owner-draw messages to.

I can't believe this is up to 0.9.0 already...it's sure come a long way.

Edited by WildBill
Link to comment
Share on other sites

related to this.

http://www.msfn.org/board/index.php?showto...st&p=845966

How is the skinning engine work goes.

even if it not complete is it going to be more stable than TClock.

when you have it running.

and for that one suggestion.

do not make it overbloted with options.

Make it just like Uberskin.

Simple Stable and works.

But that maybe is what you are going to do.

The 0.9.0 version.

make the screen flash all the time.

Flash I mean switch between Black and see the desktop.

and if I close it. it stops flashing.

I cannot open my computer either.

the version 0.8.8 did not do this for me.

Edited by Tripo
Link to comment
Share on other sites

It works like TClock3/WB in that for each edge you can specify how much isn't stretched. You can also specify whether each edge is stretched or tiled along the edge, and whether to stretch or tile the center portion in the H or V directions (or both).

It's very flexible, in some ways much more than WB. For instance, you can completely specify how frames are arranged in each image file (horizontally, vertically, or both), whether they go top-to-bottom, bottom-to-top, left-to-right, or right-to-left (or a combination of them). You also aren't limited to any frame order when it comes to image states: you instead specify the frame location for each state individually, so this way you should be able to import just about any skin.

Edited by WildBill
Link to comment
Share on other sites

Exception log:

[2546.221] [776, 772] - Caught exception when named object StandardBehavior tried to process message BehaviorMsg, completion status = "Checked Msg"
[2546.221] [776, 772] - Message = $C19E, Window = WorkerW, WParam = $0001004E, LParam = $00000308
[2546.231] [776, 772] - Window parent chain:
[2546.231] [776, 772] - WorkerW -- 131112

[  56.081] [820, 928] - Caught exception in PostObjectMessage: assembling named object list, Message = BehaviorMsg

[1815.100] [1108, 772] - Caught exception in PostObjectMessage: assembling named object list, Message = BehaviorMsg
[1815.120] [1108, 1192] - Message = $C1A7, Window = MSNMSBLGeneric, WParam = $00020058, LParam = $000004E0
[1815.130] [1108, 1192] - Window parent chain:
[1815.130] [1108, 1192] - MSNMSBLGeneric -- 262970
[3686.902] [1108, 772] - Could not send message DrawRedirectGetDC to named object Behavior,DrawRedirectBehavior

Link to comment
Share on other sites

Thanks for the post. I'll have to devote some time to squashing the remaining exceptions at some point. At the moment, I'm working on skinning, which is turning out to be pretty easy since a lot of the code is coming from TClock3. So far I'm skinning:

- buttons

- checkboxes

- radio buttons

- taskbar background (except the gripper area)

- taskbar buttons

- quicklaunch buttons

- extra toolbars on the taskbar

- rebar controls

I still have a lot more work to do on toolbars, but a little bit at a time it's getting there. There is no import or editing capability in as yet, I have to build the skin .ini file by hand; there isn't any point in doing an editor or importer until the engine is nearly complete. I also haven't done anything yet with custom fonts or text colors, they're still the Windows defaults, so for the moment I need to use a taskbar skin where black text shows up. Things are progressing smoothly, though, with no loss in stability.

Link to comment
Share on other sites

Nice! Just an idea about the taskbar background: automatically cut the bottom/top/left/right portion of the wallpaper, blur it, then set it as the background after applying the taskbar (alpha PNG or BMP) skin. WindowBlinds 6 does this as far as I know (As in the taskbar doesn't react to windows below it.)

Plus, WB6 also just grabs a screen capture, blurs the proper section, applies the required blur, PNGs, text, shadow to the required section, and uses that piece as the Start Menu skin. It won't be consistent after moving anything behind it, but as soon as focus is lost, the menu is closed and therefore consistency is no longer an issue. Just thinking. :)

I tried xplorer2 lite portable, and upon opening a dialog box (open/save sort I think or properties page) it threw a bunch of exceptions, which SmoothText caught (yay!).

[ 335.212] [1092, 1108] - Caught exception when named object StandardBehavior tried to process message BehaviorMsg, completion status = "HandlingMenuMessage"
[ 335.222] [1092, 1108] - Message = WM_PAINT, Window = #32768, WParam = $00000000, LParam = $00000000
[ 335.222] [1092, 1108] - Window parent chain:
[ 335.232] [1092, 1108] - #32768 -- 393958
[ 335.502] [1092, 1236] - Caught exception when named object StandardBehavior tried to process message BehaviorWndProcRet, completion status = "HandlingDialogMessage"
[ 335.512] [1092, 1236] - Message = WM_NCACTIVATE, Window = #32770, WParam = $00000001, LParam = $00000000
[ 335.572] [1092, 1236] - Window parent chain:

I don't know if my OS is just falling apart, and it's time (which I don't have enough of due to IB Grrrr...) for a reinstall, or my random exotic programs are interfering with SmoothText.

P.S. I honestly can say I have no clue what Rebar controls are, but am 86% sure I use them regularly.

P.S.S. What are your thoughts about Alpha-PNG window frames like TrueTransparency?

Link to comment
Share on other sites

I want to fix the problems with taskbar transparency and use that mechanism for general transparency. That would let me handle transparent window borders. I have no idea how to handle blur, though.

I get some exceptions from time to time, too, it's just something I have to investigate.

Here's a screenshot that shows how far I've gotten so far with the taskbar:

2ai08cw.png

Edited by WildBill
Link to comment
Share on other sites

Real-time blur is horrible on the CPU, especially without Vista DWM's, or WB6's DX accelerated drawing.

But it can be faked on the taskbar region assuming one of a few things:

1. No windows will go under the taskbar.

2. It will not auto-hide (which moves and ruins the illusion).

This is how WB6 does it (I'm pretty sure.)

When the user loads a different wallpaper, it grabs the bottom 20px of the wallpaper (assuming Taskbar at bottom). Then it applys a blur to that 20px, which is actually a one-time thing and can be done by simply averaging adjacent values. Then it constructs the taskbar elements above this part using per-pixel alpha transparent PNG's. This gives the illusion that the taskbar hovers over the wallpaper and blurs it.

However, it only works if the entire taskbar background can be one entire non-tiled image.

exampleg.th.jpg

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...