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

Enhancement: Display Taskbar Window on All Taskbars in All Displays, edit: Fix issue with disappearing taskbar window #1671

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

M52-A
Copy link
Contributor

@M52-A M52-A commented Aug 12, 2023

This pull request aims to improve the current behavior of the taskbar window display. Previously, the window was only visible on the primary display's taskbar. With this change, the window will now appear on taskbars across all displays.

By default, this feature is inactive; users can activate it by navigating to the 'Options' section and selecting the 'Taskbar Window Settings' tab within 'Display Settings,' where they can enable the 'Show Taskbar Window in All Displays' option.

Being a novice programmer, I'm aware that certain parts of the code might not be as optimized as they could be. I appreciate any guidance from experienced developers to ensure the code's efficiency and effectiveness.

Please keep in mind that this feature is a work in progress and could potentially have some bugs. Feedback and contributions are highly valued to enhance the stability and reliability of this new feature.

Thank you for your consideration.

edit:

I fixed an issue where the taskbar window would sometimes disappear

…s all displays, rather than just the primary display's taskbar.
@BombaxCeiba
Copy link
Contributor

I tried to run your code. Unfortunately, I cannot open the settings window because the program crashed.
I got the stacktrace below:
image
Then I check your rc file. It seems that you only added UI components to the English window. But my system language is Chinese Simplified. TrafficMonitor will load IDD_TASKBAR_SETTINGS_DIALOG instead of IDD_TASKBAR_SETTINGS_DIALOG[英语(美国)]. Therefore, if the program call 'GetDlgItem(IDC_SHOW_TASKBAR_WND_IN_ALL_DISPLAYS_CHECK)', it will get 0.
image
I think it is necessary to add the new UI components to all the window resources shown in the figure above.

…All Displays" in Chinese (Traditional) and Chinese (Simplified) languages.
@M52-A
Copy link
Contributor Author

M52-A commented Aug 14, 2023

I tried to run your code. Unfortunately, I cannot open the settings window because the program crashed. I got the stacktrace below: image Then I check your rc file. It seems that you only added UI components to the English window. But my system language is Chinese Simplified. TrafficMonitor will load IDD_TASKBAR_SETTINGS_DIALOG instead of IDD_TASKBAR_SETTINGS_DIALOG[英语(美国)]. Therefore, if the program call 'GetDlgItem(IDC_SHOW_TASKBAR_WND_IN_ALL_DISPLAYS_CHECK)', it will get 0. image I think it is necessary to add the new UI components to all the window resources shown in the figure above.

Thank you for bringing up the issue. I've fixed the issue by adding the option "Show Taskbar Window in All Displays" for Chinese (Traditional) and Chinese (Simplified) languages. In Chinese (Traditional), it's "在所有顯示器上顯示工作列視窗" and in Chinese (Simplified), it's "在所有显示器上显示任务栏窗口" Please note that I'm not fluent in Chinese (Traditional and Simplified), so I used translation tools to provide these phrases. Your help and feedback are much appreciated in making the program better.

@paul1339
Copy link

paul1339 commented Sep 6, 2023

Can you provide compiled binaries for your build? Also would be good if you can chose on which taskbar you want it.

@maghuro
Copy link

maghuro commented Oct 11, 2023

This is MUST necessary.
I use a dual screen setup, and it bothers me when i'm playing a game on my 1st screen, I cant see the bar.

@bcutter
Copy link

bcutter commented Oct 29, 2023

So will it be merged then, some day soon? @zhongyang219

@tim-99
Copy link

tim-99 commented Nov 11, 2023

any updates?

@devCKVargas
Copy link

- Upstream from source & merged this PR

- Get the unofficial v1.85 Release from this fork

@bcutter
Copy link

bcutter commented Nov 13, 2023

- Upstream from source & merged this PR

- Get the unofficial v1.85 Release from this fork

Is this "just" with this PR merged or will this fork continue development and solve other things too?

@devCKVargas
Copy link

devCKVargas commented Nov 13, 2023

- Upstream from source & merged this PR

- Get the unofficial v1.85 Release from this fork

Is this "just" with this PR merged or will this fork continue development and solve other things too?

Not planning on fixing this I haven't encountered, so it'll be a fork w/ this PR merged in for now.
However, I may merge some PRs until the official development resumes.

@bcutter
Copy link

bcutter commented Nov 13, 2023

Can't try it. Unfortunately, it get's wiped immediately from AV software like the latest 1.84.1 did.

grafik

@bcutter
Copy link

bcutter commented Nov 14, 2023

Tried on another system. Basically working - but after a while, TM is not shown anymore in the taskbar even it is running. Same after system reboot. That's not reliable at all, the change/update must have introduced a side effect.

grafik

grafik

(by the way: "Exit the program" will make it crash, faulting module C:\Windows\System32\ucrtbase.dll)

Therefore I downgraded back to latest 1.84.1. As I prefer having TM more or less reliable on the main screen instead of sporadically having it at all screens until it somehow crashes and I have it on no screen.

Really incredible how much issues one application can create, never experienced something similar.
This project urgently needs an active maintainer. Otherwise never-ending issue creating story.

@devCKVargas
Copy link

Can't try it. Unfortunately, it get's wiped immediately from AV software like the latest 1.84.1 did.

graphic

I was planning on making a roll back release of 1.84 w/ this PR for you since you're having issues from AV, but there's quite a few bug fixes on Win 11 in 1.84.1.

Tried on another system. Basically working - but after a while, TM is not shown anymore in the taskbar even it is running. Same after system reboot. That's not reliable at all, the change/update must have introduced a side effect.

graphic

graphic

(by the way: "Exit the program" will make it crash, faulting module C:\Windows\System32\ucrtbase.dll)

Therefore I downgraded back to latest 1.84.1. As I prefer having TM more or less reliable on the main screen instead of sporadically having it at all screens until it somehow crashes and I have it on no screen.

Really incredible how much issues one application can create, never experienced something similar. This project urgently needs an active maintainer. Otherwise never-ending issue creating story.

To be honest, I haven't really had issues w/ TM similar to any of your issues or any other issue, except #1733 and I ran this on both latest Win10 & Win11 23H2(trying the OS and also trying to be MS' guinea pig for bit). But I re-installed Win11, tried to recreate the problem but it didn't occur. I did the same install from the same ISO, same script from my repo and latest official release & my fork worked.

@BombaxCeiba
Copy link
Contributor

Tried on another system. Basically working - but after a while, TM is not shown anymore in the taskbar even it is running. Same after system reboot. That's not reliable at all, the change/update must have introduced a side effect.

grafik

grafik

(by the way: "Exit the program" will make it crash, faulting module C:\Windows\System32\ucrtbase.dll)

Therefore I downgraded back to latest 1.84.1. As I prefer having TM more or less reliable on the main screen instead of sporadically having it at all screens until it somehow crashes and I have it on no screen.

Really incredible how much issues one application can create, never experienced something similar. This project urgently needs an active maintainer. Otherwise never-ending issue creating story.

Can you upload "error.log". It might help me to find bugs. You can find this file in root folder of TM. If your TM put configuration at your "AppData" folder, you can find this file in "C:\Users<Your User Name>\AppData\Roaming\TrafficMonitor".
And please check "C:\Users<Your User Name>\AppData\Local\CrashDumps". If there is any dmp file associated with TM, please upload it. Thank you.

@bcutter
Copy link

bcutter commented Nov 24, 2023

Can you upload "error.log". It might help me to find bugs. You can find this file in root folder of TM. If your TM put configuration at your "AppData" folder, you can find this file in "C:\Users\AppData\Roaming\TrafficMonitor".
And please check "C:\Users\AppData\Local\CrashDumps". If there is any dmp file associated with TM, please upload it. Thank you.

  1. error.log:

2023-11-14, everything above/below can be ignored:

2023/11/12 21:14:15.901: The size of the buffer used to store connection information is not enough, the connection has been reinitialized. (1 times has been reinitialized)
2023/11/13 02:41:08.796: The size of the buffer used to store connection information is not enough, the connection has been reinitialized. (1 times has been reinitialized)
2023/11/14 19:29:53.907: ?????0????????????????,????????
2023/11/14 19:34:39.136: An exception may have occurred, the currently selected connection is inconsistent with the expected connection. The connection has been retrieved. (1 times has been reinitialized)
2023/11/14 19:43:26.911: ?????0????????????????,????????
2023/11/20 18:47:10.036: An exception may have occurred, the currently selected connection is inconsistent with the expected connection. The connection has been retrieved. (1 times has been reinitialized)
  1. Crash dump
    Debugged the TrafficMonitor.exe.14412.dmp. Result: buffer overflow. Details below.

KEY_VALUES_STRING: 1

    Key  : Analysis.CPU.mSec
    Value: 2203

    Key  : Analysis.Elapsed.mSec
    Value: 4114

    Key  : Analysis.IO.Other.Mb
    Value: 63

    Key  : Analysis.IO.Read.Mb
    Value: 79

    Key  : Analysis.IO.Write.Mb
    Value: 274

    Key  : Analysis.Init.CPU.mSec
    Value: 4890

    Key  : Analysis.Init.Elapsed.mSec
    Value: 384875

    Key  : Analysis.Memory.CommitPeak.Mb
    Value: 298

    Key  : CLR.BuiltBy
    Value: NET481REL1LAST_C

    Key  : CLR.Engine
    Value: CLR

    Key  : CLR.Version
    Value: 4.8.9181.0

    Key  : FailFast.Name
    Value: FATAL_APP_EXIT

    Key  : FailFast.Type
    Value: 7

    Key  : Failure.Bucket
    Value: FAIL_FAST_FATAL_APP_EXIT_c0000409_ucrtbase.dll!abort

    Key  : Failure.Hash
    Value: {e31753ac-c98a-8055-3663-47e707543d20}

    Key  : Timeline.OS.Boot.DeltaSec
    Value: 578

    Key  : Timeline.Process.Start.DeltaSec
    Value: 516

    Key  : WER.OS.Branch
    Value: ni_release

    Key  : WER.OS.Version
    Value: 10.0.22621.1

    Key  : WER.Process.Version
    Value: 3.1.0.1


FILE_IN_CAB:  TrafficMonitor.exe.14412.dmp

NTGLOBALFLAG:  0

PROCESS_BAM_CURRENT_THROTTLED: 0

PROCESS_BAM_PREVIOUS_THROTTLED: 0

APPLICATION_VERIFIER_FLAGS:  0

CONTEXT:  (.ecxr)
rax=0000000000000001 rbx=0000000000000000 rcx=0000000000000007
rdx=0000c47b56fedd0a rsi=00007ff7163c29e8 rdi=000000cc1a1ff7f8
rip=00007ffe4270f61e rsp=000000cc1a1ff3b0 rbp=000000cc1a1ff540
 r8=00007ffe42790920  r9=000000cc1a1ff328 r10=0000000000000012
r11=00007ffdc6958590 r12=0000000000000000 r13=0000000000000001
r14=0000000000008000 r15=cccccccccccccccd
iopl=0         nv up ei pl nz na pe nc
cs=0033  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00000202
ucrtbase!abort+0x4e:
00007ffe`4270f61e cd29            int     29h
Resetting default scope

EXCEPTION_RECORD:  (.exr -1)
ExceptionAddress: 00007ffe4270f61e (ucrtbase!abort+0x000000000000004e)
   ExceptionCode: c0000409 (Security check failure or stack buffer overrun)
  ExceptionFlags: 00000001
NumberParameters: 1
   Parameter[0]: 0000000000000007
Subcode: 0x7 FAST_FAIL_FATAL_APP_EXIT 

PROCESS_NAME:  TrafficMonitor.exe

ERROR_CODE: (NTSTATUS) 0xc0000409 - Das System hat in dieser Anwendung den  berlauf eines stapelbasierten Puffers ermittelt. Dieser  berlauf k nnte einem b sartigen Benutzer erm glichen, die Steuerung der Anwendung zu  bernehmen.

EXCEPTION_CODE_STR:  c0000409

EXCEPTION_PARAMETER1:  0000000000000007

FAULTING_THREAD:  00000ea8

STACK_TEXT:  
000000cc`1a1ff3b0 00007ffe`27576eba     : 00007ff7`00000003 000000cc`00000003 00000000`424d6db7 00000000`00000000 : ucrtbase!abort+0x4e
000000cc`1a1ff3e0 00007ffd`f977e926     : 00000000`00000000 00000000`00000000 00000000`00000000 000000cc`1a1ff540 : VCRUNTIME140!_purecall+0x1a
000000cc`1a1ff410 00007ff7`1637ce41     : 000001f3`f3599630 00000000`00000065 00000000`00000065 ffffffff`fb706890 : mfc140u!CSingleLock::Unlock+0x26
000000cc`1a1ff440 000001f3`f3599630     : 00000000`00000065 00000000`00000065 ffffffff`fb706890 000000cc`1a0ff290 : TrafficMonitor+0x6ce41
000000cc`1a1ff448 00000000`00000065     : 00000000`00000065 ffffffff`fb706890 000000cc`1a0ff290 00000000`00000000 : 0x000001f3`f3599630
000000cc`1a1ff450 00000000`00000065     : ffffffff`fb706890 000000cc`1a0ff290 00000000`00000000 00560045`0044005c : 0x65
000000cc`1a1ff458 ffffffff`fb706890     : 000000cc`1a0ff290 00000000`00000000 00560045`0044005c 005c0045`00430049 : 0x65
000000cc`1a1ff460 000000cc`1a0ff290     : 00000000`00000000 00560045`0044005c 005c0045`00430049 00490050`00430054 : 0xffffffff`fb706890
000000cc`1a1ff468 00000000`00000000     : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x000000cc`1a0ff290


STACK_COMMAND:  ~7s ; .cxr ; kb

SYMBOL_NAME:  ucrtbase!abort+4e

MODULE_NAME: ucrtbase

IMAGE_NAME:  ucrtbase.dll

FAILURE_BUCKET_ID:  FAIL_FAST_FATAL_APP_EXIT_c0000409_ucrtbase.dll!abort

OS_VERSION:  10.0.22621.1

BUILDLAB_STR:  ni_release

OSPLATFORM_TYPE:  x64

OSNAME:  Windows 10

IMAGE_VERSION:  10.0.22621.2506

FAILURE_ID_HASH:  {e31753ac-c98a-8055-3663-47e707543d20}

Followup:     MachineOwner
---------

@M52-A M52-A changed the title Enhancement: Display Taskbar Window on All Taskbars in All Displays Enhancement: Display Taskbar Window on All Taskbars in All Displays, edit: Fix issue with disappearing taskbar window Dec 17, 2023
@devCKVargas
Copy link

@M52-A thanks for the fix! 🔥

@tim-99
Copy link

tim-99 commented Dec 19, 2023

wow cool, is there a release rdy to download yet?

@bcutter
Copy link

bcutter commented Dec 20, 2023

wow cool, is there a release rdy to download yet?

Proof me wrong, but:

No of course not. The maintainer seems to be literally unavailable. No one can approve PRs, so no new releases. Basically some kind of great but dead piece of software.

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

Successfully merging this pull request may close these issues.

7 participants