-
Notifications
You must be signed in to change notification settings - Fork 69
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
Presets #375
Comments
That is a great description and sounds like an interesting idea. I want to hear more practical examples of a real problem you want to solve with the presets concept. An example of a problem is that I want an opacity of 50% for program X and 80% for program Y. In that case, the save-window-configuration feature will do the trick. If you only want WindowTop to remember the opacity level and don't enable it when the window is open, just change the opacity level, disable the opacity, and click on the save button. With the preset concept, I may be able to quickly set the opacity to 50%; however, this does not seem like an ideal way to handle it—I need to remember what preset is with 50%. I want to know about real examples that save-window-configuration is not a good answer for. This can help ensure that this is the best approach. |
For me personally... just adding configurable defaults for glass would be mostly sufficient. Though in fact there are numerous other configuration settings where there is no access provided for editing defaults. I guess I should make a separate issue requesting that a "set defaults" button be added into the each of the effect config submenus. When activating Glass, the default blur setting is disabled, and I pretty much always want that set at medium. When I want to apply glass to a window, I must also go into the glass settings and set transparency 80%, blur medium, image 50%, text 50%, which seems to work well enough for many apps. The reason presets would be helpful is that some apps are better with Transparency 75%, blur medium, image 0%, text 100%. While other apps work better with image filtering disabled. So the presets would allow me to setup several presets, and apply them with hotkeys, bypassing a lot of fiddling with settings. Why not just save the suitable configs for each app? Well in many cases I don't want an app to always get the effect applied automatically. One example is the windows Calculator app. I like applying Glass to the Calculator, but if I save that config, it gets applied to "taskbar settings," and various other components of windows (not sure why - perhaps that's a separate issue, but just one example of not wanting to always auto-apply a config). So I prefer not to use the "save" function for Calculator. I can also imagine many instances where one may want to make a window 60% transparent, always on top, with click through activated, to keep some info visible on screen while working in another app, only for the purpose of working on a specific task temporarily, without wanting to auto-apply the config for normal use. Again, with a preset saved, this could be done with a single preset toggle hotkey, and then disabled with the same hotkey once finished working on the respective task, rather than going through and configuring several different settings when beginning work on the task, and then either closing/relaunching the respective app, or going through those same settings again, after finishing up. The other thing the presets would allow, is having a second set of defaults. For example, I could just click the Glass button to apply Glass defaults, or if I had already selected a suitable preset in the presets submenu (a selection which should persist), then I could always just click the Preset button to apply an alternate Glass config. This would be that much more useful if more defaults (such as Glass defaults) could be edited. I see a lot of utility in a presets system as described in the OP here. I think it would add efficiency and flexibility. I think editable defaults are also important, but this preset system could provide a workaround for the fact that currently many defaults aren't editable, while also providing additional utility. That said, maybe just adding the ability to edit more of the defaults would be much easier than adding presets, I'm not really sure about that, but if that is the case, then more comprehensive editable defaults should probably be higher priority than presets. |
According to what you wrote here:
It seems that, based on your initial thought, you prefer the save config per app or window. The only benefit of the preset concept is that you can switch between configurations for every window very quickly. Can you explain a specific real use case where presets will be more useful? |
Well, as mentioned above, it relates partially to defaults. Though I think I must revise a previous statement I made regarding that, as I've come to realize that presets would really be extending the existing save functionality. I use Glass a lot. Some apps I always want to apply Glass effect to, so 'save' works fine. But many apps I don't want to auto apply any config to. Many times it's an app I only just installed, and I may not decide whether I want to auto apply any config for some time, or if I even want to keep that app installed on my system. With presets I could instantly apply a suitable config to an app with the absolute minimal input, in a way that can be reused. Then If I find that every time I open an app, I'm applying a given preset, then I can save that config for the app, and thus further automate. I'm also an artist, and often work with reference materials that may be open in various apps, while I work in another app. So I may frequently want to apply "always on top, click through, 40% transparent" to a window, so I can reference it while working in another app below. That is task specific though, not app specific, so that window config makes sense as a preset (as described), or maybe as an alternate default - but is not suitable as a normal default (plus that particular config consists of two combined effects, transparency & always on top, each with their own particular settings -- and their own defaults). I tend to do this with a variety of windows from different apps on the fly. Often I can save or convert reference material to be viewed in a specific app, but if I can avoid having to spend that time, especially for small/quick projects, it's preferable to save time where possible. So being able to apply my "reference" preset quickly & easily to whatever window I may be viewing something in at any given moment, in the long run, would save me thousands of clicks. Edit: I also just realized that with reference materials, often I may be viewing references in an app that I have a saved config for, that gets auto-applied, which would be my preferred config for that app during normal use. Then I could easily apply my "reference" preset, temporarily, in order to work on a specific task. I don't think that substantially complicates matters though, as overriding saved settings, temporarily, is already possible in WindowTop (by simply adjusting settings of an app that has a saved config, without re-saving), but it does further highlight the utility that a "presets" feature would provide. So yeah, the point is to be able to apply various preferred configs with a minimal amount of manual repetition, to any window. It would save me lots of time and substantially reduce repetition by not having to go into individual effect submenus to adjust settings, when probably more than 90% of the time I'm repeating setting adjustments to reproduce 2 or 3 often used configurations, in newly installed apps, seldom used apps, or various other edge cases (edge cases which combined, make up a substantial portion of general desktop computing). Even in cases where I decide to save a config for a given app, in most cases, presets would still save me time. Because I could apply one of my few, often used, presets, and hit save. Rather than having to go through multiple settings to reproduce that config for the thousandth time, before saving. I see great utility in a preset system like this. Yes it certainly overlaps with existing save functionality, and it also overlaps with configurable defaults (a function which should be more comprehensive), yet it provides a great deal more flexibility than either of those overlapping functionalities currently offer on their own. I think it may be a mistake to think of presets as completely separate from saves. Because presets would make use of the same underlying functionality as saves (saved configurations), I think it makes more sense to think of it as extending the existing save functionality... making it more flexible, configurable, and responsive. I don't think adding an "apply saved config" button even begins to approach the utility of the preset system I described. Most of the utility of presets stems from them not being tied to a specific window or app. While most of the benefit of the current save functionality stems from auto-applying configs to specific windows/apps. So making the auto-apply save optional, and adding a button to apply, would extend utility, in either of these directions, only negligibly. The situations where such a button would be useful for me, are very few, especially as compared to presets (saved configs that aren't tied to specific windows/apps), which is something I would use very often. All that said... I do think that presets could work quite well as part of an advanced save editing feature, requiring manual config file editing, as described under that issue here. |
@ZenRevision Also, I wrote to you that I have an existing development branch with an implementation to allow changing saved configurations. Anyway, I have made some nice progress there, and I wanted you to take a look at it. It is the first time that I have shown a demo of it: advanced.save.win.config.-.rules.webmCan you share feedback about it and suggestions if you have any? |
Deleted my previous reply, because I had critically misunderstood something the first time I read your last reply. I see what you meant now though. Yes, That Looks Awesome!I notice it's missing Glass, probably because it's an older build (Glass is my favorite killer feature of WindowTop though, so I hope it doesn't get left behind). That whole Rules system looks perfect though. Some Thoughts:So I'm assuming that when saving through the window menu, or with a hotkey, those saves would be automatically added to the Rules list shown in the demo. That would be great I think. I would love to see a system just like that for setting defaults for all the effects. It seems like Defaults is a subheading that would fit perfectly under Rules too. It also seems like Presets would fit perfectly under Rules as well. Integration Concept:Add Presets and Defaults, along with Saved Configs as submenus beneath the Rules menu. So something like this:
That Would be Beautiful!Even if Presets could only be applied with hotkeys initially. Ideally presets could be added as an optional top level effect in the window menu at some point (as described in previous post above), with a submenu to select from saved presets. I realize that adding the window menu UI elements would take more time and work though, so even if they were just hotkey only, that would still be amazing! |
Sorry for the late reply.
Thanks for your feedback.
Yes, I think that "Rules" is a much better definition of it.
Yes exactly.
Yes, "presets" is a similar idea but different.
This is exactly what I have in mind.
Yes, I agree. |
Sounds great!
Oh no! Glass is amazing. As far as I'm aware, this is the only app that can make backgrounds transparent with blur, almost universally. There are projects that give explorer windows a glass effect, and there are apps for glass effect taskbar, start menu, and title bars. There is nothing else that even attempts to do a glass effect universally though (unless I've just missed it somehow). Sure, it doesn't work so well in a lot of apps, but it works great it many! Notepad++, Sublime Text, Zettlr, Notepad4, Calculator, CMD, Everything (a really good file search utility), and the list goes on. There are minors issues is some of these apps, but no real showstoppers. Of course there are lots of apps that just don't work well with Glass too, like web browsers, image editors, video editors... but for most of those apps, glass would be distracting anyway. It is a killer feature already -- when I have some time, I'll make a separate issue with ideas for improving Glass further.
Yeah, the main issue with defaults is that it is currently incomplete, in that not all effect setting defaults can be changed. So if editable defaults for all setting effects are added, that would be great, no matter where the default settings live. |
@ZenRevision
This is why I thought that the feature was a failure. I did not think about other use cases. I am glad to hear that it works well for you on the other apps. What hardware do you have (CPU and GPU)?
Are you talking about missing options to configure defaults for glass settings? Yes, it is missing. It was so hard to develop this algorithm that when I continued with UI implementation, I did minimum work there. |
Main Workstation Specs:
I did try disabling the GPU acceleration for Glass, just out of curiosity, and yeah, the performance was unbearable. I imagine it may work a little better with a more powerful CPU. I work with some local AI stuff and do some gaming, so, like many others, I'm pretty much always gonna have at least a semi-decent GPU. I guess it's unfortunate for AMD users that it can't use AMD GPUs though. DefaultsYes, I think Glass defaults should also be editable. Looking more closely, aside from Glass, most of the other defaults are editable there under advanced options. Seems the only other thing (aside from Glass defaults) is under "opacity feature" Click through is also missing from the defaults. I do like the collapsible sections in your demo above, and think that is a better UI, and would fit well for defaults, under advanced options. It makes the list much more readable, and reduces scrolling. |
About glass stability, I will not be surprised at all if it works for you even more stable than in my computer. Yes, I know that GPU acceleration here is a big deal. I ported very heavy computation work to run in the GPU.
You think exactly like me. I even planned that one day, the advanced settings page would be a tree, as in the demo video.
I agree; I will add these options
Why do you need to enable the click-through feature by default? I know that it is missing, but I think that it is on purpose. I am afraid that users will do it without wanting to do it. |
I can see how click through could be problematic if people enable by mistake. I generally will want click through enabled when using always on top, so I probably would set it as default. Even with click through enabled, one can still reach the WindowTop menu so it is not too difficult to disable the effect, or turn off click through. It's not that important though, and presets would be a much better solution anyway I think. One option could be to just add a warning note next to the setting with emphasis, saying not to enable it there as default unless you're sure you know what you are doing, and/or maybe add another setting "enable expert options," with a warning about not enabling expert options unless you're sure you know what you're doing, and having the click through default setting not appear unless expert options are enabled. It's probably unnecessary though, as I think it's fine to just leave the click through setting out... especially if presets will be added eventually. |
Oh yeah. I guess I missed that. Thanks, that does help a lot! |
It would be useful to be able to save preset configs, similar to how we can save window configs, but not targeted to a specific window.
Currently we can save window configs, either through a hotkey, or through the menu dropdown 'save' button. These saved configs target a specific window and get applied automatically when opening the targeted window.
Presets could function similarly, with a separate hotkey, and a new 'save preset' button within a new 'Preset' menu item. The difference would be that presets wouldn't be targeted to a specific window nor we they be applied automatically. Rather they would be applied manually, with a hotkey, or through the menu. The 'Preset' menu item would function similar to other effects, with a main menu button that opens a submenu overlay when hovered over with the mouse. See further UI details below.
An example workflow:
The Presets UI:
The text was updated successfully, but these errors were encountered: