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

v1.16.0 beta #626

Open
xanderfrangos opened this issue Jul 28, 2023 · 72 comments
Open

v1.16.0 beta #626

xanderfrangos opened this issue Jul 28, 2023 · 72 comments

Comments

@xanderfrangos
Copy link
Owner

xanderfrangos commented Jul 28, 2023

Hi all,

I have big a new update to Twinkle Tray that I'd love to get some feedback on. There are several new features that have been requested for a long time. I've still got a few things to figure out with the functionality and how it's presented, so the UI/language may change. I'll set up the localization strings once the dust settles.

Screenshot-2023-07-28-091713

The current release notes are:

New in v1.16.0-beta1

New features & improvements:

  • Added support for user-defined custom DDC/CI features per display. If you supply a valid VCP code (decimal or hexadecimal), a new slider will be added to the brightness flyout.
  • Implemented additional customizations to DDC/CI features (contrast, volume, and custom). You can now set min/max values, and link the feature to the brightness slider. As an example, you could link contrast with brightness, so you can reach lower perceived brightness levels on your monitor than with brightness adjustments alone.
  • Overhauled the hotkeys system. You can now assign multiple monitors per hotkey, set/adjust brightness to any value, and send arbitrary VCP codes (contrast, volume, power state, etc).
  • Implemented per-app brightness profiles. When a specific app is the focused window, a user-defined brightness profile can apply to all displays. The original brightness will be restored when switching back from the app. This should be especially useful for games. Please note that Twinkle Tray does not track which display the app is on. There are no plans for that functionality at this time.
  • Additionally, profiles can be saved to the system tray right-click menu to quickly switch the brightness of multiple monitors to the user-defined profiles.
  • Added option to trigger brightness changes according to the sun's position. Please note that Twinkle Tray cannot get your coordinates. You must provide them yourself.
  • Improved accuracy and details for CLI commands.
  • Twinkle Tray now uses an internal UDP server for certain CLI commands. By default, it will not open ports to your local or external networks. It only communicates over localhost. If you would like to implement a UDP client for external brightness/DDC control, documentation will be available in the future.
  • Changing the power state of a monitor via DDC/CI will now attempt to toggle the display back on, if applicable. You may need to adjust the new "Power State Signal" setting in order for it to work for your monitor(s). Please keep in mind that not all displays correctly support this DDC/CI command and can cause your display to become unresponsive. There is nothing Twinkle Tray can do to further improve compatibility for this DDC/CI command.
  • The code for the Mica blur effect has been refactored to use fewer resources and apply quicker at startup.
  • The amount of brightness changed when using the tray scroll shortcut is now adjustable.
  • Several dependencies have been removed or replaced, reducing the app's size.
  • Hidden displays will no longer be affected by brightness updates.

Other information:

  • The UIs for the new features are not final.
  • Twinkle Tray now reliably builds using the stable Node/Electron versions (as of writing). Additionally, a GitHub Actions CI process has been implemented to monitor successful building. Artifacts from this CI process are not considered stable Twinkle Tray builds. I will not provide any support for builds generated from the CI process.
  • It is strongly recommended that you use a DDC/CI app such as ControlMyMonitor to understand the capabilities of your display prior to setting up VCP code hotkeys. Twinkly Tray's UI is not designed for quick and arbitrary DDC/CI adjustments outside of brightness control. Twinkle Tray cannot help you if you send a VCP code that makes your display unusable.

The beta is available here:
https://github.com/xanderfrangos/twinkle-tray/releases/tag/v1.16.0-beta5.2

Let me know if you encounter any new issues vs v1.15.4. Thanks!

@xanderfrangos xanderfrangos pinned this issue Jul 28, 2023
@sovalyeler
Copy link

sovalyeler commented Jul 29, 2023

Thanks a lot for this update. Below are the issues I have encountered after the update:

  1. Can't delete profiles.
  2. While giving a name to a profile, text box gets defocused/deselected after each keystroke.

Here are some suggestions:

  1. Can you include custom features in profile settings?
  2. Wouldn't it be better to to add buttons for changing some custom features instead of a slider(like custom hotkey values in "Hotkeys&Shortcuts" settings menu, but in flyout) or make slider to slide to only pre-set values instead of sliding between min-max(e.g. Selecting a color preset).
    I can assign a keyboard shortcut to solve this but I'm currently running a few programs in the background and they themselves have different shortcuts assigned to them already. I don't want to assign another shortcut to a task that I may use 2-3 times a day.

image

image

@Spire42
Copy link

Spire42 commented Jul 30, 2023

When I run v1.16.0 beta, the icon never appears in my notification area, even though there are four Twinkle Tray processes running in the background.

Downgrading to v1.15.4 immediately solves the problem.

I'm on Windows 11 Pro build 22621.2070.

@xanderfrangos
Copy link
Owner Author

@Spire42 If you don't mind, can you install the latest beta (v1.16.0-beta2)? If you're still experiencing the issue, can you try manually ending the 4 processes, and then starting Twinkle Tray from the Command Prompt using this command?

"%LocalAppData%\Programs\twinkle-tray\Twinkle Tray.exe" -console

Let it run for ~15 seconds and then copy/paste the contents of the console here so I can (hopefully) see what's going on. That would help me greatly.

@xanderfrangos
Copy link
Owner Author

@sovalyeler Thanks for the bug report and feedback! I've released v1.16.0-beta2 with a fix for both issues. FYI, you'll need to manually update, as I broke the built-in updater in beta1.

Regarding your two suggestions:

  1. If I add anything like that to the profiles, it'll probably be user-defined VCP codes/values (like the hotkeys).
  2. The "Custom Features" UI I have so far is geared towards DDC/CI features like individual color control (RGB), gain, and color temperature. Color presets and input selection definitely don't jive with the slider UI, so I'll probably add an option to switch the current value from a select box (or similar).

@xanderfrangos
Copy link
Owner Author

@Spire42 I actually just noticed a bug related to upgrading to v1.16.0. If you haven't assigned any hotkeys previously, try adding one in v1.15.4 before upgrading.

@sovalyeler
Copy link

I "can" change my monitor's contrast by using the UI's slider, however I "can't" change the contrast by using a hotkey. Settings page says "if supported", but since I can change it by UI how come I can't do it by using a hotkey? I have to use a custom VCP value corresponding to the contrast setting.

Also, can you make it so that it will be possible to use one hotkey for multiple changes? For instance I want to change brightness along w/ a color preset by pressing a single hotkey?
image

@xanderfrangos
Copy link
Owner Author

@sovalyeler Whoops, I forgot to finish hooking that up. I've fixed the Contrast/Volume hotkey options for the next beta. I'll see about getting multiple actions per hotkey. 👍

@Spire42
Copy link

Spire42 commented Aug 2, 2023

@Spire42 I actually just noticed a bug related to upgrading to v1.16.0. If you haven't assigned any hotkeys previously, try adding one in v1.15.4 before upgrading.

I set up a hotkey and then upgraded to v1.16.0-beta2, and now everything is working. In retrospect, I realize that should have tried upgrading to v1.16.0-beta2 before setting a hotkey to see which one actually fixed the problem.

@cerahmed
Copy link

cerahmed commented Aug 2, 2023

I found a few bugs that I'd like to raise:

  1. The "Show in right-click tray menu" toggle seems to only show up when "Set Brightness when active" is enabled. I'm not sure if that's inteded, but in my case I only need to override the overlay behavior without setting the brightness level.
Screenshot 2023-08-02 085613 Screenshot 2023-08-02 085658
  1. In the example above I sat both monitors to change brightness to 50%, however when activating the profile in the tray menu, the LG monitor goes to 0%! BTW, Display 3 is a TV with no DDC/CI support.
Screenshot 2023-08-02 085750
  1. Profiles do not appear in the right-click tray menu after closing the settings window. I have to quit the app and relaunch it for it to show.

  2. I have set the "Override overlay type" to aggressive, but that didn't seem to affect anything. The overlay is still blocked by apps like Chrome, VS Code, etc. all in windowed mode.

EDIT: one more bug found:

  1. When creating two profiles, deleting the first profile on top also deletes the second one.

1

@sovalyeler
Copy link

sovalyeler commented Aug 2, 2023

@sovalyeler Whoops, I forgot to finish hooking that up. I've fixed the Contrast/Volume hotkey options for the next beta. I'll see about getting multiple actions per hotkey. 👍

Thanks. Installed #630 (comment) and contrast is working. However I forgot to tell you that when I change contrast by using a hotkey, contrast slider is not updated in UI. After I click on "Refresh displays", it doesn't get updated right away. It needs I think, couple of seconds before the contrast is updated.
Also while you are looking into multiple actions, could you consider #585 ?

@rugabunda
Copy link

When I run v1.16.0 beta, the icon never appears in my notification area, even though there are four Twinkle Tray processes running in the background.

Downgrading to v1.15.4 immediately solves the problem.

I'm on Windows 11 Pro build 22621.2070.

Had the same problem with beta 2, I unisntalled twinkletray using revo uninstaller, cleaned up all the leftover files, reinstalled and the problem was solved, you may not need revouninstaller though; there were very few files left behind

@xanderfrangos
Copy link
Owner Author

Hi all, v1.16.0-beta3 is out with several fixes to bugs pointed out by @cerahmed and @sovalyeler. The "no icon in notification area" bug is fixed as well. There was some weirdness in the Profiles system that @cerahmed pointed out that are mostly due to the UI being very incomplete. I'm working on an overhaul of the settings window that should include an easier to understand (hopefully) Profiles UI.

@sovalyeler
Copy link

Installed v1.16.0-beta4, and now I can't change color presets or contrast by hotkey.

@xanderfrangos
Copy link
Owner Author

Installed v1.16.0-beta4, and now I can't change color presets or contrast by hotkey.

Per the release notes, the hotkeys got reset if you had set them up in a previous v1.16.0 beta. Have you configured them again since upgrading to beta4?

@sovalyeler
Copy link

So, the first hotkey increases contrast by 20, but it does that once. Normally my contrast for MP241 sits at 75. So, it increases the contrast to 95, and it stays there. Second hotkey doesn't even work. Also can't change color presets.
image

@xanderfrangos
Copy link
Owner Author

@sovalyeler Whoops, I forgot to update some of the hotkey logic for multiple actions. Give this version a try: https://github.com/xanderfrangos/twinkle-tray/suites/15207469038/artifacts/869087098

@sovalyeler
Copy link

sovalyeler commented Aug 17, 2023

@sovalyeler Whoops, I forgot to update some of the hotkey logic for multiple actions. Give this version a try: https://github.com/xanderfrangos/twinkle-tray/suites/15207469038/artifacts/869087098

Thanks, now second hotkey is working. However other issues persist. Also, I realized that if I change contrast by using contrast slider program doesn't get latest contrast value for hotkey action. For example, my monitor's contrast is 75, and I change it to 0 by using the slider. And then I up the contrast by 20 by pressing a hotkey. However, contrast is now 95, not 20.

@hacknug
Copy link

hacknug commented Sep 14, 2023

In my case every time I open the config screen it shows up empty. Not even the window actions show up and I have to close it from the tray.

@Kezzers
Copy link

Kezzers commented Oct 3, 2023

Hi! Just installed Twinkle Tray and I can't open the settings in Beta.
image_2023-10-03_164410187
This works in the current stable version, but not in Beta.
image

Would love a fix! I always dim my monitors fully down (+Contrast) and would love that in the settings, as to why I want to use the beta.

@xanderfrangos
Copy link
Owner Author

Hey, all! I haven't had much time to work on Twinkle Tray lately. When I finally get a chance, I'll take a look at the settings window issue and at least add some debugging so I can determine what's breaking it. I also need to look into hotkeys not working as expected.

@UsernameIsAlreadyTakenByMe

As I know latest beta4 had some issues which was solved by this build: https://github.com/xanderfrangos/twinkle-tray/suites/15207469038/artifacts/869087098 , but this is unavailable now.
I think I used automatic update and I got the normal beta4 back. Can you share this specific build again, please?

@xuefer
Copy link

xuefer commented Oct 26, 2023

Can't toggle "Link levels" using button in tray icon popup twinkle-tray-exe-beta-59fe5260a6f952900eded45128a6e789b6cf0947

@xanderfrangos
Copy link
Owner Author

@xuefer Thanks for the bug report. I'll add that to the list. 👍

@xuefer
Copy link

xuefer commented Nov 17, 2023

unrecognized or delayed for samsung CS32JG5X Internal name: SAMOFDE
when CS32JG5X is idle or switch off, it act like unplugged, unlike my HKC2400 which stay connected. this cause twinkle-tray to recognize it as unplugged. but when it's back on, while windows recognize it almost immediately (about 1~2 seconds), twinkle may not recognize it or recognized after quite a few seconds, this delay leaves the monitor in wrong brightness since previous set value is not saved across idle or power off. no save means save life for the storage of monitor but it is expected to apply brightness right after monitor is recognized turn on

When it's unrecognized, adjusting brightness won't apply it to monitor, yet the monitor is listed in "Monitor Settings" page. "refresh displays" is needed to get out of this buggy state.

@xuefer
Copy link

xuefer commented Nov 17, 2023

"CS32JG5X Internal name: SAMOFDE" is unable to put to sleep mode "by windows" when twinkle-tray-exe-beta-59fe5260a6f952900eded45128a6e789b6cf0947 is running
set sleep time 1 minute in windows 10 settings (not twinkle setting), wait 1 minute, all other display go blank then sleep, but CS32JG5X will cycle between blank->sleep->blank (with OSD showing source is "DisplayPort") just can't stay in sleeping mode like other displays

@xanderfrangos
Copy link
Owner Author

It's taken a lot longer than I intended, but beta5 is finally out. I've spent a lot of time tinkering with the DDC/CI detection process, since it's technically never been correct. It just happened to work for the majority of users. I'm still not entirely convinced that I have it figured out, but from all of my testing it seems to work fine even under very odd configurations.

I've also fixed a number of things that have been pointed out, along with improving error handling and debugging options. Hopefully those will help get things on track to wrap up v1.16.0.

@brogers5
Copy link
Contributor

brogers5 commented Jan 6, 2024

I'm seeing the following error after updating to beta5:

Uncaught exception error

The tray icon fails to appear after launching, and a few zombie processes will persist until they're manually terminated. The console output is stalling at Starting Twinkle Tray....

@xanderfrangos
Copy link
Owner Author

@brogers5 Not sure why I can't replicate it, but I know what should fix it. Try this build: https://github.com/xanderfrangos/twinkle-tray/actions/runs/7434125975/artifacts/1151968575

@xanderfrangos
Copy link
Owner Author

@SupDos Can you upload a report from when the monitor is not detected, using this build? Either the "Fast" or "No validation" option is fine. https://github.com/xanderfrangos/twinkle-tray/actions/runs/7441952831/artifacts/1152992313

@xanderfrangos
Copy link
Owner Author

xanderfrangos commented Jan 8, 2024

After a bit of research, I have a reasonable level of confidence that I've fixed the issue in this build: https://github.com/xanderfrangos/twinkle-tray/actions/runs/7443684924/artifacts/1153252660

@SupDos
Copy link

SupDos commented Jan 8, 2024

@xanderfrangos sorry for not getting back till now, the last build you posted seems to have fixed it! Have restarted/refreshed multiple times and both monitors appear! What Scanning Mode should I leave it in? I've tried Accurate, Fast and No Validation and they all work perfectly fine

@xanderfrangos
Copy link
Owner Author

@SupDos Great! Hopefully that's the only hiccup with the new DDC/CI code, but we'll see. I'll roll out a new beta version with this fix for more people to test. You should set the "Scanning Mode" to "Accurate". Thanks again for the help debugging/testing. 👍

@xanderfrangos
Copy link
Owner Author

I've released beta5.2 with the hotkey/monitor fixes. (Nothing new since the build a few comments up.)

@Atlantis-Gura
Copy link

@xanderfrangos Hi, I'm using the latest build v1.16.0-beta5.2 and found that the "Animate Between Times" function is not working as expected, as stated in Issue #661 . For example, in my case today, between Sunrise (08:04) brightness 22 and Solar Noon (12:12) brightness 36, I turned on "Animate Between Times", so I got a brightness of 30 at about 09:00, 28 at 10:00, and 27 at 10:30, which doesn't make sense. I honestly don't know the original intent of this feature, but I think it's supposed to create a smooth curve between two time points, during which the brightness is allowed to smoothly go up/down based on time.

I think one of the important features that v1.16 brings to users is the ability to set the change in brightness according to the position of the sun. So, if these two functions can be combined, then automated adjustment of brightness will become very convenient. I would appreciate it if you could take the time to check what the problem is.

@xanderfrangos
Copy link
Owner Author

@Atlantis-Gura You're correct that it should be a smooth transition between two times. Can you share your settings file, so I can try to recreate the issue? You can quickly get it from the "Debug" menu, found in the bottom left of the settings window.

@xuefer
Copy link

xuefer commented Jan 9, 2024

unrecognized or delayed for samsung CS32JG5X Internal name: SAMOFDE when CS32JG5X is idle or switch off, it act like unplugged, unlike my HKC2400 which stay connected. this cause twinkle-tray to recognize it as unplugged. but when it's back on, while windows recognize it almost immediately (about 1~2 seconds), twinkle may not recognize it or recognized after quite a few seconds, this delay leaves the monitor in wrong brightness since previous set value is not saved across idle or power off. no save means save life for the storage of monitor but it is expected to apply brightness right after monitor is recognized turn on

When it's unrecognized, adjusting brightness won't apply it to monitor, yet the monitor is listed in "Monitor Settings" page. "refresh displays" is needed to get out of this buggy state.

still reproduced with beta v1.16.0-beta5.2. have to refresh display every time

@xanderfrangos
Copy link
Owner Author

@xuefer It may be detected by Windows and Twinkle Tray, but not be ready for DDC/CI. Try increasing the "Hardware change time" in the debug menu:

Screenshot 2024-01-09 113759

Set it to something like 15 seconds as a test. Then after unplugging/plugging it in again, see if it works correctly after around 20 seconds. If that helps, you can try lowering the time until it stops working again and go back up a few numbers.

Let me know if that helps.

@xuefer
Copy link

xuefer commented Jan 9, 2024

@xuefer It may be detected by Windows and Twinkle Tray, but not be ready for DDC/CI. Try increasing the "Hardware change time" in the debug menu:
Set it to something like 15 seconds as a test. Then after unplugging/plugging it in again, see if it works correctly after around 20 seconds. If that helps, you can try lowering the time until it stops working again and go back up a few numbers.

Let me know if that helps.

nope. waking up from "turn off display", still reproduce the issue with 15 seconds. but manual refresh immediately after wake up make brightness ok

@Atlantis-Gura
Copy link

@Atlantis-Gura You're correct that it should be a smooth transition between two times. Can you share your settings file, so I can try to recreate the issue? You can quickly get it from the "Debug" menu, found in the bottom left of the settings window.

@xanderfrangos Sure. settings.json

After my further testing, the transition between the two times seems to be the opposite of what was expected: from time A (brightness set to 40) to time B (brightness set to 60), the brightness should have transitioned from 40 to 60, but now the brightness is from 60 to 40. This situation is still the same even if the sun position is not used.

@xanderfrangos
Copy link
Owner Author

@xuefer If you don't mind, could you generate a report for me before and after the manual refresh? You can find the report button here:
Screenshot 2024-01-07 174026

@Atlantis-Gura Thanks! The settings and detailed info help. There's definitely something wrong with the math. I'll look into it.

@xanderfrangos
Copy link
Owner Author

@Atlantis-Gura The calculations should be fixed in this build: https://github.com/xanderfrangos/twinkle-tray/actions/runs/7466557973/artifacts/1157848291

@Atlantis-Gura
Copy link

@xanderfrangos After a simple test now the problem seems to be solved and the transition between the two times works fine. Thanks for your help!

@xuefer
Copy link

xuefer commented Jan 10, 2024

@xuefer If you don't mind, could you generate a report for me before and after the manual refresh?

1-before.txt
2-after.txt
re-uploaded, before and after manual refresh but without adjusting brightness manually, the two files are identical

@hacknug
Copy link

hacknug commented Jan 10, 2024

I can confirm that with v1.16.0-beta5.2 the Settings window works as it used to and it doesn't show up empty anymore. Fix was implemented in v1.16.0-beta5 but I didn't update until now.

@xanderfrangos
Copy link
Owner Author

@xuefer Weird. Can you give this build a try and let me know if it helps? It refreshes twice after a hardware change. So in theory it should be doing what you've been doing manually, automatically.

https://github.com/xanderfrangos/twinkle-tray/actions/runs/7493620770/artifacts/1163423754

@xuefer
Copy link

xuefer commented Jan 13, 2024

@xuefer Weird. Can you give this build a try and let me know if it helps? It refreshes twice after a hardware change. So in theory it should be doing what you've been doing manually, automatically.

https://github.com/xanderfrangos/twinkle-tray/actions/runs/7493620770/artifacts/1163423754

not helping.

but it seems i have found the problem. it can't detect hardware change. when i unplug/plug another monitor, devmgmt.msc refresh itself, but twinkle-tray does not refresh(remove or add) the monitor. is there anything I should check? "Shell Hardware Detection" service is running, not disabled

@xanderfrangos
Copy link
Owner Author

@xuefer Interesting. I've added a different method for detecting hardware changes in this build. In theory, it should fix the issue: https://github.com/xanderfrangos/twinkle-tray/actions/runs/7514246889/artifacts/1167454272

@xuefer
Copy link

xuefer commented Jan 14, 2024

this one is ok.

btw, 2 seconds delay works for both of my external screens

@zhouym233
Copy link

image
It does not works in v1.16.0-beta5.3(e25b507)。But when I switch "DDC/CI Scanning Mode" to "No validation", it works.
tt-report-1706536933295.txt

@xanderfrangos
Copy link
Owner Author

@zhouym233 Thanks for providing the report. 👍

Does it work if you set "DDC/CI Scanning Mode" to "Fast" or "Legacy"?

@xanderfrangos
Copy link
Owner Author

Also, can you share a report from when it's working (using "No validation")?

@zhouym233
Copy link

It works in "Legacy" and "Fast" mode too. but after I changed the options a few times, it probably doesn't work again . "Accurate" mode never works.
tt-report-1706549740931-noValidation.txt
tt-report-1706549827950-legacy.txt
tt-report-1706550384096-fast.txt

@xanderfrangos
Copy link
Owner Author

Interesting, thanks for confirming all of that. Have you used an earlier version of Twinkle Tray (like v1.15.4) before without issue?

@zhouym233
Copy link

Interesting, thanks for confirming all of that. Have you used an earlier version of Twinkle Tray (like v1.15.4) before without issue?

Yes, v1.15.4 works , but occasionally it had some issues with hotkeys, so I updated to the beta version.

@shafayetejaman
Copy link

shafayetejaman commented Feb 18, 2024

Unlike the windows volume adjustment bar, the twinkle tray scrolling bar for the systray and taskbar popup has no exiting animation.
It would be more consistent with windows 11 design if the twinkle tray had an exiting animation.

@xanderfrangos
Copy link
Owner Author

Unlike the windows volume adjustment bar, the twinkle tray scrolling bar for the systray and taskbar popup has no exciting animation.
It would be more consistent with windows 11 design if the twinkle tray had an exiting animation.

Older versions of Twinkle Tray had exit animations, but due to the tray flyout and hotkey flyout sharing the same renderer, it was too much trouble to maintain. Maybe one day I'll give it another try, but I have to finally get v1.16.0 out the door before I work on something like that. It's not a high priority. I appreciate the suggestion though.

@Dragonisser
Copy link

Any news when it will come?

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