The magical transparent text box? (17/11/2009)
After releasing ViStart 7 it seems Windows XP users experienced what i like to call the “magical transparent text box bug”. The bug seems to only occur when applying visual styles to the controls. Setting the Edit control to “opaque” with the SetBkMode API seems to have no affect. What’s even more strange is how Vista or 7 users don’t get this bug. Anyway after giving the edit control a container window (with an opaque background the same colour background as the textbox) it shouldn’t matter if this text box bug is fixed or not. It’s a work around though. The latest build has been updated to include this fix. You can get it on the ViStart Homepage.
It seems the Orb added in ViStart has got mixed feedback. The Orb was not something i intended to add. The Orb is the button that summons the start menu and is thus an essential part of the program. Doing this allows all platforms to be compatible with ViStart. I intend to improve it so it fades like the ViGlance one though. The next version of ViGlance however will use it’s Orb to summon ViStart. (So ViGlance users will see the fading Orb). Previous unstable builds of ViStart would ‘hack’ explorer to provide an effective means of replacing the start menu (Which is part of explorer). This is completely unacceptable and often causes explorer to crash. The only reason i didn’t use ViStart myself was because it kept crashing Explorer.
Final Update (16/11/2009) – ViStart 7 Released!
Well, The product that launched Lee-Soft in Spring 2007 has been reprogrammed almost completely, and it’s faster, more stable, more customizable, lighter and cuter than ever before. With a brand new Windows 7 interface. Is it ViStart and ViGlance or Windows 7? The build was actually finished a few days ago but i spent a few more days ensuring complete backward compatibility with ViStart 6 skins. I am still looking at adding blur for the next release of ViStart, but it may affect performance so i am leaving it out of this release. Finally a release of ViStart that i can call stable. I spent the last 4 months reviewing the ViStart bug threads in my forums. As well as digging up old bug reports from my inbox to bring this build of ViStart. You can get this build from the official ViStart Homepage.
The final beta test versions have been released. Only 3 bugs were found during initial testing. The third is the most humorous though.
Remember the shutdown bug people were experiencing with “ViOrb Remastered”. The bug where the application seems to prevent a shutdown request ? Well it looks like this bug is in ViStart 7 as well. The bug occurs when programs don’t respect the close window message or allow the window default message handler to destroy window but it fails. The close window message is sent to all windows after the shutdown message has been processed and accepted by all handlers. The shutdown message (sent before the close message) gives software the opportunity to respond and even cancel the user’s shutdown request. The default message handler responds positive and allows the shutdown request. So ViStart 7’s default handler was responding positive. Then Windows politely requested all Windows to close with a close message. This is where ViStart 7 was not respecting the close request (but accepting the shutdown request through its default message handler). Hence causing the shutdown hanging bug. It’s more like laziness than program design flaw. Fixing this bug is a simply a matter of respecting the close message and ensuring that window is destroyed in each handler when the default message handler isn’t able to destroy the window normally. The default handler calls theDestroyWindow Api.
The other bug was a keyboard focus bug. Again this bug is exclusive to ViStart 7 and ViGlance. Sometimes ViStart 7 steals keyboard focus (even though it’s thread doesn’t own the right of keyboard focus). Which should be impossible since Windows 2000 when stealing keyboard focus from another thread was prevented. There’s a question of why was ViStart 7 granted keyboard focus and next – why did ViStart 7 request keyboard focus in the first place. My responsibility is obviously to solve the latter problem. Instead of simply blaming Microsoft. We should take responsibility ourself. Anyway i can confirm that this bug has been fixed (at least ViStart 7 isn’t requesting keyboard focus at inappropriate times anymore).
Finally don’t make the mistake i did and assume that the mouse move message is only sent when you move the mouse cursor to a new position. In some situations it may also be resent (even if the cursor hasn’t moved to a new position). Depending on which window is capturing the cursor. You can of course get around this problem by checking the cursor coordinates manually by comparing the reported position with the the last known reported position. Why does that even matter? Well imagine a situation where you want to navigate your interface with a keyboard but the mouse cursor is hovering over a ‘hotspot’ on your UI. (Like keyboard support in ViStart 7) If your not switching focus around different windows then it’s not a problem, but if you were and you relied on the mouse move message only reporting new positions then as you can imagine.. the mouse move message could start causing you some problems.
I am also opening my personal blog this week. So look forward to that. Though i don’t know what im going to write on it yet. I hope everyone had a good weekend though. I watched StarWars and fixed the bugs mentioned above. I am considering using 7TP as a testing grounds for ViStart before releasing it to the public. Though i will be releasing ViStart exclusively to the community this week. Every member of the forums will have unlimited access to the latest build.
ViStart7 -Windows 7 Start Menu for Vista and XP
ViStart Series 7 ? Take a look at the screen shot. Can you tell me what operating system that is ? ViStart is fixed for the most part.. but i am not stopping there. As you can see in the screen shot. This is the new Windows 7 theme I have made by combining Lucifiar’s work and FediaFedia’s work. With Beta 6 of ViStart this theme would usually be impossible to make. Elements before now could not be changed by the theme author. Now ViStart elements can be customized via a “Layout/Theme” XML file that is placed in the Resources folder. This will allow components of the start menu to be moved and resized by the theme author. (This was one of the hidden experimental features available in older versions of BETA 6 and BETA 5. Not available in the VTP Versions). I will also be ensuring ViStart 7 is backward compatible with Vista 6 skins.
Oh.. By the way.. 7 is the version number. It is purely coincidental that 7 happens to be the version number Microsoft used. I will not be changing the name of “ViStart 7”.
Windows Vista and Windows 7 render 2D graphics significantly slower than XP (70% slower according to some websites). ViStart is rendered in 2d graphics via GDI. So it seems that ViStart is less responsive on these systems than with Windows XP. So I have spent most of this month optimizing and rewriting the rendering algorithms used in ViStart. This should make ViStart more responsive on all compatible platforms. It has also quadrupled the invoking and rendering speed for ViStart and it’s sub-menus (Power sub menu, Recent items sub menu, etc). ViStart now also uses less CPU cycles and memory. I have also fixed several other annoying bugs today. The infamous invalid picture bug, Clear frequently used programs list tickbox in options sometimes didn’t work (It would remain ticked) and also ViStart not loading the correct picture for Windows Vista users.
Good morning. Since my academic year started. I no longer need to go to University on Mondays. So this morning i fixed the blank rollover image problems people were occasionally getting. Edit 12:57AM: I have also just fixed the annoying recent items bug in Vista.Edit 15:10PM: I have made the recent items menu more responsive. Also I bid on a broken PSP with a dead screen. It shouldn’t be too hard to replace a dead screen. The component is really cheap also. I will be playing my PSX collection on a PSP in no time!
I woke up this morning and my sister and i had an arguement about what the time was. (I forgot the clocks went back in the UK today). Anyway, after further testing i can confirm that the infamous “disappearing text” problem has been fixed today. The bug documented herehas been fixed. Also Lucifiar told me yesterday he is preparing his new ViStart theme (I am asuming its a Windows7 theme) for the ViStart Appreciation Build. I am looking forward to seeing his work over the next few days. Enjoy your Sunday, guys.
Nostalgic? I’ve finally produced a build of ViStart that is the way I intended it to be. However trying to fix the bugs mentioned above has meant having to rewrite some major parts of ViStart. It is bringing back memories of when I was releasing BETA versions through Lucifiar’s site. Fortunately the results seem pleasing (at least for me). I always intended to rewrite ViStart when I became a little more experienced. Well anyway, I feel this build is good enough for closed beta testing. I will be giving it to valued forum members and close friends during the week.
Well it’s been a busy week for me. Anyway i have fixed a few more minor bugs (such as the keyboard focus bug). Apparently since Windows 2000 windows are not allowed to have keyboard focus unless they belong to the thread that currently has the keyboard focus. I can see why Microsoft has done this, since some cowboy programmers might be stealing keyboard focus in unsuitable situations. However there are legitimate cases when programs may require keyboard focus. Anyway, this isn’t an issue anymore. I have found a way to work around this restriction.
Today i was rewriting the start menu base to fix the “floating objects” bug which some people on multiple moniters seemed to experience. This may have some affect on the taskbar disappearence bug.
The key focus here isn’t “how many features can I squeeze into the latest build of ViStart”. It is to carefully restructure an already existing project by adapting my new techniques from my more recent projects. Unfortunately it seems that some companies don’t ethically respect their position in an art which has no defined standards for quality.
I often want to talk about somethings on my development blog but I feel it’s inappropriate. So I am also considering opening a blog (separate from lee-soft) where I will be ranting about various things that annoy me or things I like.
So it’s been a few weeks since I’ve updated my development blog. I have been trying to get a work placement in any respectable IT company during my university vacation. As well as talking with my friends known on the website as (Will and Lord Weng). There have also been some personal problems in my life which have hindered my development.
One thing I can’t help but notice is the popularity of ViStart even today. It is still the most downloaded program on Lee-Soft. For that reason I have decided to halt development of another Lee-Soft project yet to be revealed in favour of maintaining ViStart. Unfortunately the way I structure software has changed dramatically over the last 2 years since ViStart was released. One of the reasons I didn’t continue developing ViStart was not simply because I forgot about it, but because it was a complete headache to work with. ViOrb got rewritten for that very reason.
ViGlance and ViSplore are my 2 most recent projects that used a different approach to explorer integration. ViSplore whilst generally the least popular product available on Lee-Soft, it was however the only stable product. I adopted that structure into my new project (ViGlance). This has proven to be the most stable approach to explorer integration. I am hoping to adopt that approach in ViStart, to make a version of ViStart that in theory would be stable and safe.
Honestly, I had no plans to continue developing ViStart. However I never released a build of ViStart that I deemed “stable”. So I will dedicate some of the time in my evenings to reprogramming ViStart with the technique mentioned above. I will call this build of ViStart, “The ViStart appreciation build”. This build should fix the following very annoying problems with ViStart;
- Explorer keeps crashing randomly – CONFIRMED FIXED (17/09/2009)
- Start button sometimes freezes – CONFIRMED FIXED (17/09/2009)
- Games or full screen applications cause ViStart to sometimes stop being invoked – CONFIRMED FIXED (17/09/2009)
- Sometimes ViStart disappears – CONFIRMED FIXED (17/09/2009)
- Heavy hard drive usage at start-up – Not planned to be fixed in VAB
- Taskbar disappearence bug – CONFIRMED FIXED (26/10/2009)
- Winkey combo-block bug – CONFIRMED FIXED (19/09/2009)
- Poor interaction with ViGlance – CONFIRMED FIXED (17/09/2009)
- New Programs Installed (Old Start Menu) bug – CONFIRMED FIXED (19/09/2009)
- Floating Objects & Dual Screens bug – CONFIRMED FIXED (28/09/2009)
- 64bit Support – CONFIRMED FIXED (18/10/2009)
- Textbox invoke delayed focus – CONFIRMED FIXED(18/10/2009)
- Invoke speed is about 9x faster – Verified (19/10/2009)
- Font/Text not appearing on the right of the start menu – CONFIRMED FIXED(25/10/2009)
- Blank hover image on Power menu and Frequently used programs – CONFIRMED FIXED (26/10/2009)
- Recent items doesn’t appear on Windows Vista and Windows 7 – CONFIRMED FIXED (26/10/2009)
- Recent items menu is more responsive (26/10/2009)
- Full support for Windows 7 x64/x86 – CONFIRMED FIXED (26/10/2009)
- Unresponsive/slow recent items menu in Vista and 7 – CONFIRMED FIXED (30/10/2009)
- The invalid picture bug – CONFIRMED FIXED (30/10/2009)
- ViStart not loading the correct user picture in Windows Vista – CONFIRMED FIXED (30/10/2009)
- Clear frequently used programs list tickbox in options sometimes doesn’t work – CONFIRMED FIXED (30/10/2009)
Don’t get too excited, there will be no additional features added to ViStart unless they help to fix some of the bugs mentioned above. However the “ViStart Appreciation Build” will offer partial interaction with the new project I will be working on. There are several hidden experimental features in previous versions of ViStart that can only be activated with a specialised registry configuration. They were deactivated due to the presure of “VTP” deadlines and never completed.