Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature requests] Support for auto-off in full-screen apps; Ability to adjust the sensitivity for each hot corner separately #1

Closed
Lisa24Jackson opened this issue Dec 30, 2023 · 38 comments
Assignees

Comments

@Lisa24Jackson
Copy link

Thanks for the app. I tried the latest beta version and can confirm that also works on Windows 11.

As for the nuances, currently, it doesn't work very well, especially in detecting corners — at least in my case. When you move the cursor to the corner, the app tries several times to run the selected action for the hot corner, that is, the action is run-cancel-run, resulting in flashing. It's not always the case. Sometimes it works fine, but in most instances, it comes with this particular issue.

I'll also note, among the features I'd like to see, support for auto-off in full-screen apps, as well as the ability to adjust the sensitivity for each hot corner separately.

I'm currently using HotFrameFx, and it works great, but it lacks a few useful features. Interestingly, the configuration of actions for corners is done with hotkeys, which is excellent because users get the option to choose from many different actions, not limited to those implemented by the author. Perhaps you could consider incorporating a similar option into your app as an additional feature.

@Lisa24Jackson
Copy link
Author

Also, I apologize for asking off-topic, but I wanted to know if you use the wonderful PowerToys application from Microsoft?

Many people use PowerToys and would like to have support for hot corners. Back in 2020, a request was opened regarding this #1305. So far, the developers have not been able to implement it, and they marked the request as "Help Wanted", although many people still continue to open requests on this matter. Your app is written in C#, unlike many others, which makes it a great candidate to be integrated into PowerToys. This could benefit a much larger audience, and people would be immensely grateful for it. Therefore, I'd like to know if you could consider such a development option for your app. Probably, in this case, some changes would need to be made to the code to bring it up to PowerToys standards, and the UI would need to be re-implemented, but the PowerToys developers would assist with that, at least that's what they wrote themselves. I understand that you primarily developed app for your needs and implemented what you deemed necessary, and perhaps this idea doesn't interest you at all. Nevertheless, I decided to ask. I apologize if this sounded somewhat presumptuous on my part.

Thank you again, and happy upcoming New Year to you 🎄

@flexits
Copy link
Owner

flexits commented Dec 31, 2023

Hello and thank you for the interest in the app. I appreciate the feedback very much!

When you move the cursor to the corner, the app tries several times to run the selected action for the hot corner, that is, the action is run-cancel-run, resulting in flashing

Although I don't experience this, my suggestion is that some phantom movement of the cursor around the hot corner area triggers the event repeatedly in a short period of time. I've added an adjustable delay before repeating the same action, please kindly try the 0.6.2 beta. Too big or too small hot corner area may be a possible cause as well. After installation you may try different values for the corner radius and delay in the app Settings. By the way, what action causes this behavior?

auto-off in full-screen apps

Accepted.

the configuration of actions for corners is done with hotkeys

That's on the list too, along with traditional commands. I haven't imagined a simple straightforward implementation still.

the ability to adjust the sensitivity for each hot corner separately

Why would you like to have that?

HotFrameFx, and it works great, but it lacks a few useful features

What features would you find useful besides the mentioned ones? Maybe I'll be able to implement some.

PowerToys

Oh yea I used to have it on my first computer, Windows 98 if I recall this correctly. What I don't like with the current reincarnation is it's enormous size – almost 900 Mb installed. My app occupies less that 1 Mb disk space and I definitely intend to keep is as simple and lightweight as possible. However I'll consider your suggestion. Don't know for sure, I need to look at what their requirements are.

@flexits
Copy link
Owner

flexits commented Dec 31, 2023

Thank you again, and happy upcoming New Year to you 🎄

Thanks a lot, and happy New Year to you too!!!

@Lisa24Jackson
Copy link
Author

Although I don't experience this, my suggestion is that some phantom movement of the cursor around the hot corner area triggers the event repeatedly in a short period of time. I've added an adjustable delay before repeating the same action, please kindly try the 0.6.2 beta. Too big or too small hot corner area may be a possible cause as well. After installation you may try different values for the corner radius and delay in the app Settings. By the way, what action causes this behavior?

I tried the latest beta, now the problem is slightly different. If you quickly move the cursor to the corner and back, everything works fine, the selected action is run. But if you move the cursor to a corner (the selected action is run), and hold it there for some time, and then return cursor, for example to the center, as soon as you take a corner away from there, the action is canceled. I think the problem is precisely in the logic of working with the area. Let's say we have a 2 by 2 pixel square. All movement actions are cyclic: run-cancel. Currently, as far as I suspect, if we move the cursor to this area, the action will be run. And if we continue to move through this area with the cursor, the action is cancel-run-cancel, etc. This is precisely the problem. In my opinion, it's necessary that when the cursor enters the reaction area, the action is run, and nothing happens when the cursor is moved further around the area. And to cancel the action, you must first move the cursor beyond the reaction area itself, in our case, it's a square 2 by 2 pixels, and then move the cursor again to the area where the action is run. That is, when the cursor is moved to the reaction area, it should perform the action only 1 time, and all further movements should be ignored until it leaves the area and returns to it again. I hope you understand my logic and what I mean.

Why would you like to have that?

For example, we use the upper-left corner for Task View, and the response to moving into this area should be instantaneous to quickly open Task View. On the other hand, for the lower-left corner, we assign the function of turning off the screen or transition to sleep mode. To minimize the chance of accidental activation, we set a longer response delay so that the user deliberately moves the cursor there and holds it. This is not my scenario, but I've extensively reviewed this kind of apps and read various feedback and requests, so I adopted this scenario from other users who need it. I only use the upper-left corner for Task View because I don't need anything else. However, each use case varies, so I decided to mention it because I've seen requests for this functionality multiple times.

What features would you find useful besides the mentioned ones? Maybe I'll be able to implement some.

Overall, HotFrameFx suits me quite well. The only feature I find lacking is support for multiple displays. At home, I mostly use only the laptop screen, but at work, I've a desktop computer with several displays. The absence of multi-monitor support there is much more noticeable. Additionally, if in the future I want to configure an action for another corner, the inability to adjust sensitivity for each hot corner separately would also be an issue.

There are various minor nuances not directly related to functionality. For instance, it doesn't track the launch of multiple instances of the app, meaning you can inadvertently open the app multiple times, which isn't good and disrupts its operation. Also, it's not possible to hide the icon in the system tray. Most hot corners are set up once and then left alone, and a persistent tray icon only hinders and clutters it, especially considering the presence of many icons from other apps that are also impossible to hide.

However, in terms of the core functionality of the app, HotFrameFx works best among all those I've had the chance to try.

Here's a small list of improvements for your application that I'd like to see:

  1. Application Name: "HotCornersWin" sounds a bit awkward. Moving "Win" to the beginning adds a certain, in my opinion, mellowness: "WinHotCorners".

  2. Application Icon: Currently, it resembles more of a tiling mode than a hot corners application. It would be great to select a more fitting icon for the hot corners app.

  3. Ability to Hide the Application Icon: The reasons for this were described above.

  4. Settings Window Placement: The settings window opens in the bottom corner, similar to WinXcorners. However, opening it in the center would be more pleasant, in my opinion. Also, to apply the changes made, you need to press the "Apply" button, and after pressing it, the window immediately closes. And if you want to make some more settings, or you are not satisfied with the applied settings, you will have to open the settings again. It's not convenient. In Windows, besides the "Apply" button, there is also an "OK" button to accept changes, and when either of them is pressed, the window doesn't automatically close.

  5. Design: Currently, the design looks quite Spartan. The windows are sharp, not rounded, the blue arrows on the image for displaying hot corners, instead of, for example, rounded bubbles used in many such apps. The context menu when right-clicking on the icon is also not the standard Windows menu. In Windows 10, all this looks somewhat better, but in the rounded Windows 11, it doesn't look very appealing. It would be good if the layout could be modernized for a more contemporary Windows look, similar to the layout in Windows 11. This is, for example, how the system context menus in Windows 11 currently look.

2023-12-31_15-51

Oh yea I used to have it on my first computer, Windows 98 if I recall this correctly. What I don't like with the current reincarnation is it's enormous size – almost 900 Mb installed. My app occupies less that 1 Mb disk space and I definitely intend to keep is as simple and lightweight as possible. However I'll consider your suggestion. Don't know for sure, I need to look at what their requirements are.

Yes, PowerToys takes up almost 700 megabytes. However, it includes various useful utilities, such as PowerToys Run and many others. The main advantage is that it's developed by Microsoft itself, and users trust it. They prefer not to use third-party applications for hot corners and want this functionality to be integrated into PowerToys, as it happened, for example, with the Peek feature. This conclusion can be drawn from all the comments. Therefore, users continue to open requests with the hope that developers will pay attention to it because it has been almost 4 years since they started expecting it.

It would be great if you could consider this. You can continue to develop your app in parallel with PowerToys. It's just that even some partially transferred functionality of hot corners from your app and the launch of this function in general would allow to move this issue from a dead point.

@Lisa24Jackson
Copy link
Author

You can also take a look at these links, maybe it'll be useful for you to implement auto-off in full-screen apps.

@Lisa24Jackson
Copy link
Author

Until I forgot, I'll add another item to the list of improvements.

  1. Currently, a double-click on the tray icon allows toggling the app on and off. It would be wonderful if a single click opened the app settings. This sounds logical to me, as it's supported by the majority of other apps in the tray, and the settings window is the main window of the application.

@flexits
Copy link
Owner

flexits commented Jan 1, 2024

it's necessary that when the cursor enters the reaction area, the action is run, and nothing happens when the cursor is moved further around the area. And to cancel the action, you must first move the cursor beyond the reaction area itself, in our case, it's a square 2 by 2 pixels, and then move the cursor again to the area where the action is run.

Yes I understand and that's exactly the way it works from the beginning. And now I've added an additional adjustable delay before triggering the action if the cursor enter the active area again after having left it. I'll investigate the problem further, maybe there's an error somewhere, right now I don't understand the cause unfortunately.

To minimize the chance of accidental activation, we set a longer response delay so that the user deliberately moves the cursor there and holds it

I got it. That's an interesting feature I haven't considered yet.

I only use the upper-left corner for Task View because I don't need anything else.

Me too, actually. And apparently I was too lazy to find HotFrameFx before implementing my own app 😁

Thank you for the participation, I find your comments very useful and will certainly consider implementing some :-)

@flexits
Copy link
Owner

flexits commented Jan 3, 2024

auto-off in full-screen apps

if a single click opened the app settings

Implemented in 0.6.4 👍

If you quickly move the cursor to the corner and back, everything works fine, the selected action is run. But if you move the cursor to a corner (the selected action is run), and hold it there for some time, and then return cursor, for example to the center, as soon as you take a corner away from there, the action is canceled. I think the problem is precisely in the logic of working with the area. Let's say we have a 2 by 2 pixel square. All movement actions are cyclic: run-cancel. Currently, as far as I suspect, if we move the cursor to this area, the action will be run. And if we continue to move through this area with the cursor, the action is cancel-run-cancel, etc. This is precisely the problem.

Still in research, I'll move this to a separate issue and leave this thread as a generic suggestions chat 😉

@flexits
Copy link
Owner

flexits commented Jan 3, 2024

And if we continue to move through this area with the cursor, the action is cancel-run-cancel, etc.

Could you please run the latest binary from Publish directory and confirm if the behavior has changed?

@Lisa24Jackson
Copy link
Author

And if we continue to move through this area with the cursor, the action is cancel-run-cancel, etc.

Could you please run the latest binary from Publish directory and confirm if the behavior has changed?

I tried the latest beta, thanks for the improvement. However, in terms of the work itself, nothing has changed, corner detection works poorly. Problems with work are especially noticeable if you set a long or maximum delay (3600-5000 ms). If you quickly move the cursor to the corner and back many times, then regardless of the long delay time with a periodicity of 3-5 times the selected action will still occur quickly, without delay, despite the fact that a long delay is set. Also, if you quickly move the cursor to the very corner and leave it there without moving, the selected action in many cases won't occur until you move the cursor again.

@flexits
Copy link
Owner

flexits commented Jan 3, 2024

If you quickly move the cursor to the corner and back many times, then regardless of the long delay time with a periodicity of 3-5 times the selected action will still occur quickly

What are your current settings (action, radius, delay)?

move the cursor to the very corner and leave it there without moving, the selected action in many cases won't occur until you move the cursor again

That seems to be the delay occuring.

@Lisa24Jackson
Copy link
Author

What are your current settings (action, radius, delay)?

It doesn't matter, even with the default settings, the problem remains.

That seems to be the delay occuring.

No, it's not a delay. Because the cursor can be there for a very long time, but still the action doesn't run until the cursor is moved.

@flexits
Copy link
Owner

flexits commented Jan 3, 2024

It doesn't matter, even with the default settings, the problem remains.

It seems that I fail to reproduce this behavior. On my personal computer, at least. Although I'm not a user of Win 11, I've set up Parallels running Windows 11 ARM on Mac and despite the UI being quite slow, the application seems to work even better than on my primary PC. I'd even use the word flawlessly if I knew not about the issue. However the context menu and the windows look terrible on 11, you're right about that. 😂

No, it's not a delay. Because the cursor can be there for a very long time, but still the action doesn't run until the cursor is moved.

If the cursor entered the sensitive area white the delay was active and stays still there, the event won't be fired even on the delay expiry. That's how it works not. The application doesn't see cursor, only movements.

I'll think about the above and maybe change the logic somehow, but now I don't see a solution since I cant reproduce the issue.

@Lisa24Jackson
Copy link
Author

It seems that I fail to reproduce this behavior. On my personal computer, at least. Although I'm not a user of Win 11, I've set up Parallels running Windows 11 ARM on Mac and despite the UI being quite slow, the application seems to work even better than on my primary PC. I'd even use the word flawlessly if I knew not about the issue. However the context menu and the windows look terrible on 11, you're right about that. 😂

Design has taken a backseat to me as long as the app doesn't work properly.

If the cursor entered the sensitive area white the delay was active and stays still there, the event won't be fired even on the delay expiry. That's how it works not. The application doesn't see cursor, only movements.

I'll think about the above and maybe change the logic somehow, but now I don't see a solution since I cant reproduce the issue.

I understand that the app tracks the coordinates, that is, the position of the pointer, and I understand how it should work in principle, but it doesn't work that way for me. I tried today on another computer, although it's also running Windows 11. This problem is also relevant on it.
In order not to explain in vain, here are two screencasts that clearly demonstrate the work of HotCornersWin in comparison with HotFrameFx. HotCornersWin – upper right corner; HotFrameFx – upper left corner. I'm sorry that the video is long, I decided not to cut it in time, and not to show only those moments when the action works bad, but to show it in real time, so that you can see how it works in everyday use.

And to immediately close the question that maybe HotFrameFx disrupts the operation of HotCornersWin, I'll say that I completely closed HotFrameFx – the situation doesn't change, the problem is present.

Video 1. All default settings. To minimize any inaccuracies, the app was reinstalled, the configuration folder was deleted before that. I remind you, on the right – HotCornersWin; on the left – HotFrameFx.

120240103185024387.mp4

Video 2. The delay is set to the maximum, 5000 ms. Other parameters are unchanged. For HotFrameFx, the largest delay was also chosen for clarity of operation. I remind you, on the right – HotCornersWin; on the left – HotFrameFx. You can see how with fast movements to the corner in HotCornersWin sometimes the long delay time is neglected, and the action happens almost immediately. And sometimes the action doesn't occur at all, although the cursor is in the reaction area.

220240103185551087.mp4

@flexits
Copy link
Owner

flexits commented Jan 3, 2024

Thanks for the video, it's now a little bit clearer.
Maybe the problem is in the even-driven approach I've chosen. I'll experiment with more straightforward way of reading cursor coordinates in a loop and get back to you with the result.

@Lisa24Jackson
Copy link
Author

Thanks for the video, it's now a little bit clearer. Maybe the problem is in the even-driven approach I've chosen. I'll experiment with more straightforward way of reading cursor coordinates in a loop and get back to you with the result.

Glad to hear. I'll wait 😉

@Lisa24Jackson
Copy link
Author

I understand that Pascal is completely different from C#, but many of the apps I tried also had various problems with corner detection. With HotFrameFx everything worked perfectly from the start, it might be useful to take a look at the very approach it uses.

@flexits
Copy link
Owner

flexits commented Jan 3, 2024

Glad to hear. I'll wait 😉

Please find 0.6.5 beta ready for testing.

it might be useful to take a look at the very approach it uses

Oh it really might... but I avoid looking at the code to follow my own way instead of just rewriting someone's ready solution 😉

@Lisa24Jackson
Copy link
Author

Please find 0.6.5 beta ready for testing.

Oh, at first glance it works great, it seems that the problem is no longer observed, I'll test it and let you know if anything.

Oh it really might... but I avoid looking at the code to follow my own way instead of just rewriting someone's ready solution 😉

Well, this is sometimes useful, as in this case, when there is a problem, but you don't manage to reproduce it. However, everything seems to be working great now.

@Lisa24Jackson
Copy link
Author

I see the delay problem is still present. If you set a long delay, sometimes it is ignored and the action happens quickly, ignoring the delay.

@flexits
Copy link
Owner

flexits commented Jan 4, 2024

the delay problem

However, I don't think the delay itself is needed, since the app's logic was shifted from event-driven to fixed interval polling, a delay sufficient to filter cursor jitter happens naturally now. I suggest I'd remove the feature in favor of customizable sensitivity.

Oh, at first glance it works great, it seems that the problem is no longer observed, I'll test it and let you know if anything.

Thanks for your participation, this wouldn't so without it.

If you confirm this working, I'm going to close the issue, it has grown too long now. Feel free to open another one!

@Lisa24Jackson
Copy link
Author

However, I don't think the delay itself is needed, since the app's logic was shifted from event-driven to fixed interval polling, a delay sufficient to filter cursor jitter happens naturally now. I suggest I'd remove the feature in favor of customizable sensitivity.

Lol. To me, delay and sensitivity are the same thing, because in both cases the principle is the same: the cursor waits for a specified time in the response area before run the action. Of course, if the implementation of sensitivity isn't the same as delay for you, and some other approach will be used, then of course in that case the delay should be removed, because it's still essentially a duplication of functionality.

Thanks for your participation, this wouldn't so without it.

As without your implementation 😉

If you confirm this working, I'm going to close the issue, it has grown too long now. Feel free to open another one!

Yes, the issue seems exhausted, well, at least for me and for now. But until no one opens any more issues, I'd be grateful if you didn't close this issue yet, because it no longer fully meets the original purpose, but rather turned into a chat. I've a few more minor troubles and discussions that aren't worth a separate issue for them.

@flexits
Copy link
Owner

flexits commented Jan 5, 2024

I've a few more minor troubles and discussions that aren't worth a separate issue for them.

Okay then, let this thread stay opened 👌

@Lisa24Jackson
Copy link
Author

Also, today I accidentally selected action "Start menu" instead of "Task view" and saw that it doesn't work. I definitely tried it before when I was testing the app work and it worked. I looked at a few other options, they seem to work. So, when you've time, please pay attention to it.

I'll also note that "Task view" will need to be renamed to "Task View", i.e. "View" with a capital letter, because this is the correct name of this function.

@Lisa24Jackson
Copy link
Author

I also noticed that you switched from the delay parameter to the polling interval. And this parameter doesn't affect the work in any way, that is, nothing happens when it's changed. As far as I understand, this isn't yet an implementation of the sensitivity function. That is, in my opinion, the polling interval parameter isn't needed at all, unless it's an intermediate transition from delay to sensitivity and you left the polling interval as such a transitional option until you implement the sensitivity function. Then it makes some sense. Because otherwise, I don't know what to set it up for, let alone it doesn't work, well at least for me.

@flexits
Copy link
Owner

flexits commented Jan 5, 2024

"Start menu" ... doesn't work

Accepted. BTW, does virtual desktop left/right switching work on your Win11 machine?

"Task view" will need to be renamed to "Task View"

Accepted.

the polling interval
...
doesn't work, well at least for me

Previously, the logic of the application was roughly the following: wait for a mouse movement, get the coordinates, check if it had hit a hot corner. As we did find out with your help, this approach failed to deliver acceptable results. I have some clues how that come, but I don't want to make the app complicated any further. That's why I switched the approach. Now, the app reads the cursor coordinates and checks for a coincidence with a hot corner area, then sleeps for some time, then repeats.

As we have gotten rid of events, we need to decide how frequently the app has to read the coordinates (in other words, how long it sleeps between subsequent reads). Too frequent updates imply a high CPU consumption, too few of them mean that some fast movements will be missed out. That's why a new parameter was introduced – the polling interval. That's the amount of time between the cycles of cursor position update. A value of 100 means 10 updates per second, for example. Normally this parameter needs not to be adjusted and has to be somewhere around 100.

This setting works but patently you can't see it with the naked eye 😉

this isn't yet an implementation of the sensitivity function

No no no that's not. There's actually a hardcoded value now in the source code private const int ACTION_DELAY = 0; that means a delay of 0 polling cycles (no delay in other words). I'll introduce the necessary modifications for a user to set this up. Unfortunately, my X-mas holidays are running out, I'll have much less time soon, but I hope this will be finished.

@Lisa24Jackson
Copy link
Author

BTW, does virtual desktop left/right switching work on your Win11 machine?

No, it doesn't work either.

Now, the app reads the cursor coordinates and checks for a coincidence with a hot corner area, then sleeps for some time, then repeats.
This setting works but patently you can't see it with the naked eye 😉

Ok, thanks for explaining.

Normally this parameter needs not to be adjusted and has to be somewhere around 100.

Probably the best solution would be to hide this parameter and set it to a default value that you think is correct, so that the user doesn't accidentally break anything due to ignorance of what he's responsible for. In my opinion, this isn't something that needs to be configured by the user.

No no no that's not. There's actually a hardcoded value now in the source code private const int ACTION_DELAY = 0; that means a delay of 0 polling cycles (no delay in other words). I'll introduce the necessary modifications for a user to set this up. Unfortunately, my X-mas holidays are running out, I'll have much less time soon, but I hope this will be finished.

Ok, got it. You have already spent many days of your holidays on app development, thank you for that. I'll wait for further implementations. I still have a few fairly minor edits, but I'll try to get them in shape tomorrow.

@Lisa24Jackson
Copy link
Author

Perhaps, after the implementation of Custom actions (commands and hotkeys), it'll be better to link the list of actions to the hotkeys, because they are used in Windows by default, this will allow you to avoid problems with different versions of Windows.

@Lisa24Jackson
Copy link
Author

I noticed such an unpleasant thing due to non-working actions for the "Start menu" and "Switching Virtual Desktops". They don't work, but if you select them and try to execute them, they won't work, but then with random periodicity, when you open "Task View", the "Start menu" can run itself and immediately close. And this can happen several times with different frequency when "Task View" is reopened. Perhaps, the number is related to the number of times you tried the "Start menu" action and it didn't work. As for "Virtual Desktops", numbered system notifications about the current desktop appear if you on/off the application. Sometimes, if you open some completely third-party app. In short, such a very unpleasant bug.

@Lisa24Jackson
Copy link
Author

I still have a few fairly minor edits, but I'll try to get them in shape tomorrow.

  1. Returning to the name change from HotCornersWin to WinHotCorners. What are your thoughts on this, and are you considering it at all? A brief response of yes or no will suffice. Because WinHotCorners, in my opinion, it's more melodious and sounds better. Also, this name is currently unoccupied. In most apps, Win is placed first, for example, WinHotCorner (there is only one hot corner for Task View in the GNOME style) or Windicator. And there are enough such apps. And it also serves to make it immediately clear that the application is intended for Windows. The only advantage of the name HotCornersWin is that it's slightly easier to find due to "HotCorners" being a standard search phrase. In short, your opinion on this matter is interesting, because if you rename the app, it should be done at the beginning, while it's still in the beta version state, while there are still few users, so that there are no inconveniences later.

  2. Currently, the app installation path is for some reason: HotCornersWin\HotCornersWin. It makes no sense to create another HotCornersWin folder in the HotCornersWin folder and put the application there.

  3. I'd like to address the "Apply" button once again. To apply settings, it needs to be clicked, but doing so closes the program window. This isn't user-friendly from a UX design perspective. Ideally, you would want to fine-tune the necessary settings, such as the hot corner area radius, which requires several tests to ensure adequacy. Currently, each click of "Apply" closes the app window, making it necessary to relaunch the app to try different settings. To close the window, if you have already configured everything, there is a separate close key.

  4. Application window in the lower corner. It's also not the best solution from a UX design point of view. In Windows, only the upper left corner isn't involved in any way, because on the upper right we have window buttons, on the lower left is Start menu or Weather, depending on the settings and version of Windows, on the lower right is a key to show the desktop, a clock with a calendar, Action Center. That is, only in the upper left corner there are no system elements around. Thai in general, the upper left corner, this is exactly the standard corner that the vast majority of users will use to set up the action. That is, the settings take place in the lower right corner, because that is where the program window is located, for the upper left corner, that is, the distance from the corners is maximum to move the cursor back and forth. Therefore, in most cases, the window is placed exactly in the center so that the distance to each corner is within the same accessibility limit.

  5. It follows from points 3 and 4. The settings window now, as far as I understand, is on top of all other windows. If you still decide to move it to the center, it'll be necessary to change its behavior to normal.

  6. During use, it was noticed that to on/off the app, it would be better to use an ordinary click on the icon in the tray, while to open the settings window, double-click the mouse. In other words, it would be advisable to swap these actions.

  7. This is a rather non-obvious issue, but yes, I'm the person who opens the About section. And at the moment he is too overloaded. In my opinion, it's better to use a more concise description for the app than on the README page on GitHub. Something like what is used in Windicator or Mac System Information. That is, the author, year, reference to the author or application. Because at the moment he is too overloaded for me.

s3d0be13c1737332c446228ec88d6e6d25b
0be13c1737332c446228ec88d6e6d25b

  1. On the GitHub page, in the About section, you should add Windows 11, i.e.: "Add MacOS hot corners function to Windows 10/11". Also, replace MacOS with macOS. And in general, hot corners aren't some special function for macOS, and currently with all the parameters it's more in the style of KDE. Therefore, in my opinion, it would be better to simply change the description to: "Hot Corners feature for Windows 10/11". It seems to me that it'll be more correct.

  2. Also, as I already mentioned, it's worth adding to your TODO list a function with the ability to hide the icon in the tray. It's very useful and many will need it.

That's all for now, if I remember something else, I'll add to the list 😉

@flexits
Copy link
Owner

flexits commented Jan 6, 2024

I noticed such an unpleasant thing due to non-working actions for the "Start menu" and "Switching Virtual Desktops". They don't work, but if you select them and try to execute them, they won't work, but then with random periodicity, when you open "Task View", the "Start menu" can run itself and immediately close.

Must be fixed in beta 0.8.0 please have a look.

That's all for now

Oh that's quite a list 😉 I'll review a little later and come back...

@Lisa24Jackson
Copy link
Author

Must be fixed in beta 0.8.0 please have a look.

Partially fixed. Switching virtual desktops at first glance works correctly, but the Start menu doesn't work cyclically, that is, it only opens, but the repeated action for closing doesn't occur.

Oh that's quite a list 😉 I'll review a little later and come back...

This is more of a textual description than corrections, and some questions are repeated. So don't worry that there are so many of them 😄

@flexits
Copy link
Owner

flexits commented Jan 6, 2024

Partially fixed. Switching virtual desktops at first glance works correctly, but the Start menu doesn't work cyclically, that is, it only opens, but the repeated action for closing doesn't occur.

Basically, what the application does is just a keystroke emulation. Unfortunately, there's an inconsistency in the way different hotkeys work in Windows: repetitive Win+Tab toggles Task View on and off, but repetitive Win only keeps bringing the Start menu up and never retracts it back P.S. I was wrong with that. So, there is no intentional cyclic action and never had been, in fact.

@Lisa24Jackson
Copy link
Author

Partially fixed. Switching virtual desktops at first glance works correctly, but the Start menu doesn't work cyclically, that is, it only opens, but the repeated action for closing doesn't occur.

Basically, what the application does is just a keystroke emulation. Unfortunately, there's an inconsistency in the way different hotkeys work in Windows: repetitive Win+Tab toggles Task View on and off, but repetitive Win only keeps bringing the Start menu up and never retracts it back. So, there is no intentional cyclic action and never had been, in fact. To say more, there's no way to close the opened Start menu in Windows except of dirty hacks like "remember the current cursor position, find an unoccupied space on the desktop, emulate a click there, finally, place the cursor back where it was".

🤷‍♂️ in HotFrameFx it just works for me

@flexits
Copy link
Owner

flexits commented Jan 6, 2024

in HotFrameFx it just works for me

I was wrong with this one. The issue #14 is opened.

9. the ability to hide the icon in the tray

Personally, I'd prefer seeing what's running in the background instead of some "magic" processes being hidden somewhere. In addition, hiding the app's icon raises a question of how is a user supposed to access the settings? We'll need then a configuration utility or a special command-line switch, along with a separate shortcut in the Start menu, for example. And what if they want to temporarily disable the app – now it's possible with just a double-click? Idk, for me the cons outweigh the pros.

8. you should add Windows 11

Done. I didn't want to, until you or somebody else confirm the app works as intended, since I'm not the Win11 user and I hope I won't be in the near future.

7. the About section ... is too overloaded

A lot of apps have rather extensive about sections and honestly I don't see a problem in that. The current version looks not very neat – that's what I agree to, however.

6. it would be better to use an ordinary click on the icon in the tray, while to open the settings window, double-click the mouse

Agreed, issue #12

5. The settings window now, as far as I understand, is on top of all other windows

It's a quick dirty hack caused by the context menu sometimes being in front of the window. Maybe I'll refactor that later.

4. Application window in the lower corner

Most notification area utilities (at least that I'm using) display their interface in the bottom right corner of the screen. That's an expected behavior for me. And the windows is movable, if the position seems so much unbearable. 😄 Let's leave this in limbo now.

3. the "Apply" button ... To apply settings, it needs to be clicked, but doing so closes the program window.

P.S. Fixed in v0.8.2

2. Currently, the app installation path is for some reason: HotCornersWin\HotCornersWin

That seems to be an installer configuration error, issue #13 P.S. Fixed in v0.8.2

  1. the name change from HotCornersWin to WinHotCorners. What are your thoughts on this, and are you considering it at all?

I'm not, tbh. It's just a matter of taste; in addition we already have WinHotCorner in development, WinXCorners apparently not unknown at all, WinHotkey and who knows what else... Or maybe I'm too lazy with renaming all the stuff 🤷‍♂️

@Lisa24Jackson
Copy link
Author

Thanks for the answers!

@flexits
Copy link
Owner

flexits commented Jan 7, 2024

Thanks for the answers!

Thank you for taking part!

@flexits
Copy link
Owner

flexits commented Feb 18, 2024

Thanks for the answers!

I'm closing this long thread now; feel free to use discussions if any questions, suggestions on anything else ^-)

@flexits flexits closed this as completed Feb 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants