Winstep

Software Technologies


 Winstep Forums


Print view
Board index : Winstep Forums : General Discussion  [ 149 posts ] Go to page Previous  1, 2, 3, 4, 5, 6, 7, 8 ... 10  Next
Author Message
 Post subject: Re: So, what's next after v18.1?
PostPosted: Fri Feb 23, 2018 7:32 pm 
Offline
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 10525
Ok, second beta is out. The bugs in the first beta were annoying enough if you run into them, so I wanted a nice working version out there before tackling other things.

This said, I did make some changes in this beta to increase performance that have a high probability of creating unforeseen problems (in fact, I had to release this second beta twice in quick succession to fix a major issue with non-native Nexus themes that I hadn't detected until I released the beta - the buggy beta was available for such a short time that I hope nobody got affected by this, though).

Seeker, if you read this before installing the new beta, make a backup of your current WorkShelf settings then immediately restore them back - count the time it takes to finish the restore. Now download the beta and do the same thing. :)

The Power Saving modes can now be automatically activated when the monitor goes into standby (enabled by default, lets make the world a greener place) and when a full screen application such as a game is running (disabled by default). The latter is, of course, more intended at using less CPU resources while running a game than saving energy. While the former goes into Ultra power saving mode, the latter goes into normal power saving mode, which means modules, etc, on secondary monitors still get updated regularly enough but with the benefit of the Winstep application using 75% less CPU than normal.

You can also select which events prompt an audio notification (monitor standby and full screen application events do not have audio notifications by default, but you can change that to make sure the mechanism is indeed working).

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v18.1?
PostPosted: Fri Feb 23, 2018 8:45 pm 
Offline

Joined: Tue Mar 01, 2016 11:46 am
Posts: 405
winstep wrote:
Seeker, if you read this before installing the new beta, make a backup of your current WorkShelf settings then immediately restore them back - count the time it takes to finish the restore. Now download the beta and do the same thing. :)


nice, from 1m20/1m40 to 21 seconds


Back to top
 Profile  
 
 Post subject: Re: So, what's next after v18.1?
PostPosted: Sat Feb 24, 2018 3:20 am 
Offline
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 10525
You know, I think I'm going to have to add a 'Toggle Fast Boot' internal command and add that to the dock by default.

I get a lot of complains in the uninstall surveys that Nexus, etc, is very slow to boot (or at least that's the reason they give to uninstall).

Now, this really angers me because it's not the application's fault *at all*: Microsoft has been artificially and deliberately delaying the startup of 3rd party applications more and more with every version of Windows, to make Windows itself look good by appearing to boot faster at the expense of other applications.

Not only that but, as you guys know (you do, right?), Winstep applications already have a 'Fast Boot' setting in the General tab of Preferences that actually solves this problem.

When this setting is enabled, the Winstep application takes advantage of an alternate Windows startup mechanism that enables it to boot at the same time as the Desktop (i.e.; when you login, the Winstep application is already there waiting for you).

The difference is, of course, abysmal (30 seconds at the very least), but, despite Winstep being the type of application that, given its nature, *should* start at the same time as the Windows desktop, I am still abusing a mechanism that was never intended for that purpose. If everyone else did the same (and every software company is convinced their stuff is better than hotcakes, so they probably would if they had figured out how to do it by now), we would soon be back to square one.

So, I play fair.

Unlike Microsoft, which likes to remove user choice and impose whatever THEY think is best on their users, I think this is exactly the type of choice best left to the user. So, I leave that option *disabled* by *default*. The user can turn it on if he so wants to.

Of course, this comes from the presupposition that users know such an option exists - and unless you rub it in their faces, most of them won't even bother trying to figure out what that 'Fast Boot' setting right next to 'Run <Winstep application> on Startup' means or does (if they actually even notice it is there).

And so they get dismayed when they reboot and Windows 10 deliberately delays the start of the Winstep application by up to a minute or more. 'This dock is slow', they think. No, actually that is what Microsoft wants you to think - but they don't know that, so they turn their guns towards the Winstep application instead of the true culprit.

So, besides turning that option on by default - which I do NOT want to do - the only other solution is to rub it on their faces by putting a nice shinny 'Toggle Fast Boot' internal command icon on their default docks. The balloon tooltip will have some text explaining exactly what that option does - and why it's necessary, so Microsoft takes the blame where blame is due.

The idea is to have a green 'Power Button' icon, which is grayscale when FastBoot is off and colored when FastBoot is on. Of course, that icon isn't really needed once you've turned Fast Boot on (as they say, once you go blac... err, fastboot, you never turn back :-P ), but it's the only way to make sure users will notice such an option actually exists.

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v18.1?
PostPosted: Tue Feb 27, 2018 10:59 pm 
Offline
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 10525
These past two days have been... interesting. And my hair has grown thinner because of it.

First, in relation to Fast Boot:

I did implement the new Fast Boot IC I talk about in the previous post, but I have decided to only add it to the dock by default on Windows 10 systems.

This is because I just found out that Fast Boot seems to do nothing on Windows 7 systems (but it does work great on Windows 10!).

When I first implemented it, I did all the testing on Windows 10 and I, like everyone else who tried it after, was awed by the difference it made. There was no evident reason why the method wouldn't work on previous versions of Windows, so I think I just assumed it would and later became convinced I had actually done some testing on Windows 7 to verify this. Reading back on other user's comments at the time, they did say that under Windows 7 Fast Boot did not seem to make much difference if any.

My main production system is still Windows 7, and I only reboot it when strictly necessary, which basically means only when there are new Windows updates. Because of this, I don't really care about boot times.

Anyway, adding the new IC prompted me to try it out on my Windows 7 machine. To my dismay, when logging in after a reboot the screen would remain black for nearly a minute although the mouse pointer remained responsive. Of course, I immediately assumed this was related to Fast Boot and started digging in (diagnosing boot issues is NOT easy, by the way).

To cut a long story short, by the time I found out the black screen was actually being caused by an unresponsive Intel(R) HD Graphics Control Panel Service and had nothing to do with what I was doing, I had already added a log feature to the Fast Boot process.

This detailed log in turn allowed me to understand that, unlike what happens on Windows 10 and at least here on my system, when items in the RunOnce key are launched Explorer is still initializing and there is no shell window yet (i.e.; visible Desktop window). Without this window, the winstep.exe launcher cannot launch the Winstep applications with non-admin privileges, so it aborts the Fast Boot process - the applications are later launched normally via the HKEY_CURRENT_USER Run key.

Again unlike Windows 10, on Windows 7 3rd party applications are not deliberately delayed from starting up right after the Desktop appears, so things actually happen pretty quickly even without Fast Boot doing its magic.

Also, starting the Winstep applications regardless before Explorer has fully initialized, although still feasible, it's not really such a good idea because of how the Winstep application is tied to features provided by Explorer (appbars to reserve screen space, system tray icons, hiding of desktop icons at startup, etc...).

Now, the second issue that got me pulling my hair out for the last 24 hours had to do with the ALT key (actually, ALTGR) getting stuck under some circumstances.

When you activate a dock via a hotkey or a edge bump, it needs to become the foreground/active window (one of the reasons being that only the active window gets keyboard input, which is a requirement for the new 'navigating the dock with the keyboard' feature I recently implemented for our Home Theater users).

Now, in the old times (i.e.; many years and Windows versions ago) any window/application could (literally) steal focus from other windows at any time, and many did so for really, really, stupid motives such as bringing up an information popup (remember what I said previously about every developer thinking their applications are the best thing since hot cakes?).

Now imagine you're the user working on a really important Word document against a deadline when suddenly a popup steals keyboard focus away from it to announce pearls like 'Contoso, just to let you know we're here for you!'. Maddening, isn't it? Actually even some Microsoft applications were infamously known for doing this: e.g.; Outlook interrupting what you were doing with a popup showing the re-indexing progress of some folder (who the f... err, h*ll cares?!).

So, Microsoft in their infinite wisdom decided that from then on no application should be allowed to steal focus from others, unless this was an action initiated by the user himself. Unfortunately this also affected applications that actually had a legit reason to change the active/foreground window. In truth, things were REALLY bad back then and did call for desperate measures, but I still think Microsoft should have let users vote with their feet instead of imposing this mechanism on everybody.

Anyway, now things became REALLY messy, because all this really did was force developers to find ways to work around this mechanism.

So, when you want to bring another window to the foreground, you use the SetForegroundWindow API call. But now this call does nothing if you are not the application on the foreground. How to work around this when you aren't? You fool the system by pretending to be, by attaching yourself to the current foreground window with AttachThreadInput.

This has its own dangers, because if the window you are attaching to is hung, you will hung too. Not good, but there are ways to test for this before using AttachThreadInput. So this worked fine for a while under XP and below.

But then came Vista, with its elevated processes and the UIPI (User Interface Privilege Isolation). Because of the UIPI, AttachThreadInput fails if you try to attach yourself to a window that belongs to a process running with high privileges.

So, how do you work around this? There is only one way: you pretend you are the user ALT tabbing to another window. You do this by simulating a key press on the ALT key with the keybd_event API call, calling SetForegroundWindow (which now works because the system thinks the user is currently pressing the ALT key), and then releasing the key press with keybd_event and KEYEVENTF_KEYUP.

This works fine in theory and in practice, except for one small detail (and it took me the great part of a whole day to figure out what was going on): despite you calling keybd_event releasing the ALT key, as soon as you click on another window the ALT key acts as if it is still being pressed (i.e.; it gets stuck). Anything you do with the mouse and keyboard from then on will be acted upon by Windows as if the ALT key was being pressed at the same time (even though it physically isn't).

Searching the net brought up hundreds of posts detailing this or related problems, but not one of them offered a solution or explained WHY this was happening, which led me to try many different things (different virtual key codes, Make and Break hardware scan codes, etc...) until I finally was able to understand what was happening and come up with a solution.

It seems Windows gets confused when the foreground window changes between key down and key up, i.e.; you simulate a key press while one window is in the foreground, switch to another window and only THEN simulate a key release. While focus remains on the new window everything is fine, but as soon as focus changes again to another window (e.g.; you click on another window), AND ONLY THEN, the system automatically changes the ALT key status back to 'pressed'.

To solve this problem I now save the handle of the current foreground window after simulating the ALT key press, and then keep monitoring the system for changes in the current foreground window. When the current foreground window changes, I immediately check the status of the ALT key - if it becomes pressed, I reset it to not pressed with keybd_event. Either way, I stop monitoring the ALT key after that until the next simulated ALT key press.

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v18.1?
PostPosted: Fri Mar 02, 2018 10:25 am 
Offline
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 10525
A few more additions:

1. Alarm Reminders can now be toggled between full screen and windowed by double-clicking the reminder.

2. All Alarm Reminders can now be snoozed, not just those with music. The Snooze duration can now also be set on a per-alarm base.

3. The brightness of the LCD Alarm Reminder can be dimmed by moving the scroll wheel on your mouse.

When is this more useful? Evidently when the LCD Alarm reminder is full screen: imagine you're in a completely dark room and that you just woke up or you are trying to get some sleep - too much light coming from the screen when you wake up can hurt your eyes, or otherwise prevent you from falling asleep when that is what you are trying to do.

This comes in the tail of a couple more ideas I would like to implement (but haven't yet):

a) A 'Sleep' mode where the LCD clock is displayed on the screen and some music plays for a preset time, optionally with the volume being automatically lowered as time passes.

b) Use the LCD clock as type of 'full screen' clock, e.g.; double click the clock module and a full screen LCD clock appears.

c) Use the LCD clock as a kind of optional screen saver: after a specified period of system inactivity, a full screen LCD clock pops up on the screen. Wiggling the mouse or pressing a key would automatically dismiss it, just like a normal screen saver.

What do you think of these ideas?

4. New digital in-dock clock module setting to display only the time in the icon.

Recently I've add some users complaining that the time in the digital clock icon is too small to read because too much space is used for the calendar portion. I've added a new 'no calendar' setting where a new icon background is used and only the time is displayed on it, which obviously allows using much larger - and therefore more readable, even when the icon is not magnified - numbers.

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v18.1?
PostPosted: Mon Mar 05, 2018 11:34 am 
Offline
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 10525
Here is the new *optional* 'show time only' digital clock version. Notice there are actually two of them, one for when there is only one digit in hours, and another for when the hour has two digits. This is to maximize readability at lower icon sizes and I think both versions look good:

Attachment:
digitalclock.png
digitalclock.png [ 13.45 KiB | Viewed 8805 times ]
Attachment:
digitalclock2.png
digitalclock2.png [ 13.07 KiB | Viewed 8805 times ]


Also, here is the icon used to toggle Fast Boot: when Fast Boot is off it's grayscale, when on it's on it lights up green:

Attachment:
Fast-Boot.png
Fast-Boot.png [ 22.3 KiB | Viewed 8805 times ]


I actually quite like this button, and in part because of that and also because I think it would make sense to have other button-like ICs share the common theme (Alarm Manager + Power Saving) I changed these latter two to this:

Attachment:
Alarm-Manager.png
Alarm-Manager.png [ 20.27 KiB | Viewed 8805 times ]

Alarm Manager button is grayscale when there are no alarms, lights up green otherwise.
Attachment:
Power-Saving.png
Power-Saving.png [ 22.23 KiB | Viewed 8805 times ]

Powersaving is grayscale when the power saving mode is off, green when active, and red when Ultra is active.

Any thoughts, or am I going to keep on talking to myself here? lol

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v18.1?
PostPosted: Wed Mar 07, 2018 7:48 am 
Offline
User avatar

Joined: Thu Mar 18, 2004 12:11 am
Posts: 377
Location: Pollock Pines, CA
winstep wrote:
A few more additions:
c) Use the LCD clock as a kind of optional screen saver: after a specified period of system inactivity, a full screen LCD clock pops up on the screen. Wiggling the mouse or pressing a key would automatically dismiss it, just like a normal screen saver.


I really like that idea. It would be awesome for me. I don't use any alarm features on my computer because I have a 7-day alarm clock on my headboard within easy snooze button reach. It allows me to set 2 separate alarms each day of the week, which feature I use 6 out of those 7 days. But that's really the only alarm use that I don't use my phone for, all other alarms I might need are on my phone. But being able to see what time it is when I wake up in the middle of the night without craning my head around to look at my alarm clock (it's above my head on the headboard, remember) would be awesome.

_________________
vectornut
http://www.vectornut.com


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v18.1?
PostPosted: Wed Mar 07, 2018 12:26 pm 
Offline
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 10525
Yay, someone is listening! :)

Well, there is one problem of using the full screen clock as an 'always on' screen saver: the reason screen savers were invented in the first place was because of phosphor 'burn in' on old CRT monitors. If the same image was constantly displayed on the screen, after a while it would become 'etched' into the phosphor as a ghost image even when displaying other things.

Modern LCD monitors do not suffer from this problem as old CRTs did (unless you're talking OLED) but the issue is still there. That's why screen savers are not 'still' images but usually display some kind of animation.

So, to prevent burn in, the full screen clock would have to be regularly 'moved around' on the screen in a way that the same pixels on the LCD are not always lit. Not so sure how that would look like in terms of centering, etc, even if you do it smoothly pixel by pixel over time - or even how effective that would be given the size of the clock digits in full screen mode.

Of course, the new brightness control I just added to the alarms would help a bit with this (you can now lower the normal brightness of the clock alarm or even have the alarm automatically lower brightness over time).

Anyway, alarms are getting a lot of love in this release. One thing I didn't like much was the look of LCD alarms in 'windowed' mode, so I added a frame, glass reflection, etc, to make it look a bit like a photorealistic iPad or similar (unfortunately I can't use rounded corners because glass transparency - the alarm is semi-transparent - in Windows 10 is limited to rectangular windows, unlike under Windows 7).

Let me know which you like best (or even if you actually like the current look more):

Attachment:
Alarm1.jpg
Alarm1.jpg [ 76.27 KiB | Viewed 8768 times ]

Attachment:
Alarm2.jpg
Alarm2.jpg [ 79.32 KiB | Viewed 8768 times ]

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v18.1?
PostPosted: Thu Mar 08, 2018 8:05 am 
Offline
User avatar

Joined: Thu Mar 18, 2004 12:11 am
Posts: 377
Location: Pollock Pines, CA
Jorge, I like the first one better, but I think the Snooze and Stop buttons and weather look totally out of place in the otherwise LCD looking screen.

_________________
vectornut
http://www.vectornut.com


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v18.1?
PostPosted: Thu Mar 08, 2018 8:09 am 
Offline
User avatar

Joined: Thu Mar 18, 2004 12:11 am
Posts: 377
Location: Pollock Pines, CA
Also, every LCD clock I ever owned didn't waste crystals where it didn't need them. So the first digit on the percents would only have two vertical crystals to make a 1, since the value can never be higher than 1. And the first digit of the time would be missing one crystal, since the value can never be anything other than blank, 1, or 2.

_________________
vectornut
http://www.vectornut.com


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v18.1?
PostPosted: Thu Mar 08, 2018 7:52 pm 
Offline
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 10525
vectornut wrote:
Jorge, I like the first one better, but I think the Snooze and Stop buttons and weather look totally out of place in the otherwise LCD looking screen.


Yes, I understand, but this is an analogy, and, as all analogies, you can't take it too far. LCD screens don't have buttons and LCD style buttons (whatever that might mean) would look like crap anyway.

What I am thinking of doing, however, is only fade in the buttons when the mouse pointer moves into the alarm (and fade them out when the mouse pointer stops moving or leaves the alarm window). That kind of would take care of the buttons and other LCD clutter (I also want to add a couple of other control icons to the top of the alarm: Previous Track, Pause, Next Track and Settings).

As for the weather icon, I just got some symbol based ones which would match an LCD screen, but, obviously, being flat they won't look as good as the original high-resolution colored icons.

Are you sure that is what you want? What do others think (not that they are being very talkative later)?

vectornut wrote:
Also, every LCD clock I ever owned didn't waste crystals where it didn't need them. So the first digit on the percents would only have two vertical crystals to make a 1, since the value can never be higher than 1. And the first digit of the time would be missing one crystal, since the value can never be anything other than blank, 1, or 2.


Hey, you're right, but you're also nitpicking now. :)

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v18.1?
PostPosted: Thu Mar 08, 2018 9:35 pm 
Offline
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 10525
So, do you guys like it better like this?

As you can see, the buttons are now gone until you move the mouse pointer into the window, the weather icon matches the LCD style and there is also textual weather info.

I might still make it a bit bigger though.


Attachments:
Alarm3.jpg
Alarm3.jpg [ 100.39 KiB | Viewed 8747 times ]

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies
Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v18.1?
PostPosted: Thu Mar 08, 2018 10:27 pm 
Offline
User avatar

Joined: Wed May 14, 2014 4:37 am
Posts: 45
Location: Eastern North Carolina
winstep wrote:
So, do you guys like it better like this?

Definitely!!


Back to top
 Profile  
 
 Post subject: Re: So, what's next after v18.1?
PostPosted: Fri Mar 09, 2018 12:24 am 
Offline
User avatar

Joined: Sat Aug 07, 2010 4:23 am
Posts: 107
Location: Lynn, MA (USA)
Yes, much better looking this way! :D

_________________
My computer is making weird growling noises!
Oh, wait. That's my stomach, it's lunch time!


Back to top
 Profile  
 
 Post subject: Re: So, what's next after v18.1?
PostPosted: Fri Mar 09, 2018 12:55 am 
Offline

Joined: Wed Mar 07, 2018 10:55 pm
Posts: 17
If it were me I'd reduce the scanlines across the whole thing, only because scanlines make me think of green crt screens and not LCD.

Plus one more small thing, reduce the glow on the off crystals on the bottom left cluster, it's confusing to the eye imho.

Worth an experiment at least.


Back to top
 Profile  
 
Post new topic Reply to topic Board index : Winstep Forums : General Discussion  [ 149 posts ] Go to page Previous  1, 2, 3, 4, 5, 6, 7, 8 ... 10  Next
Display posts from previous:  Sort by  

Who is online

Users browsing this forum: No registered users and 24 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: