francostellari / NppPlugins

Other
104 stars 6 forks source link

[Menu Icons] Display extension's shell icon in the documents' tabs #30

Closed Yaron10 closed 1 year ago

Yaron10 commented 1 year ago

Hello Franco,

I hope you're doing well.

We've discussed some years ago the option to display the extension's shell icon in the documents' tabs. Could you please have a look at https://github.com/notepad-plus-plus/notepad-plus-plus/issues/12231?

Would you consider submitting a PR? If the idea is not accepted, could you integrate it in MenuIcons?

Thank you very much.

francostellari commented 1 year ago

Hi, I'm planning to rework the plugin to solve the issue that causes the menu icons to disappear. This will require a major rework and will take a look again into the tab icons. When i did last time I could not find a simple easy to do it

On Sat, Sep 24, 2022, 2:48 PM Yaron10 @.***> wrote:

Hello Franco,

I hope you're doing well.

We've discussed some years ago the option to display the extension's shell icon in the documents' tabs. Could you please have a look at notepad-plus-plus/notepad-plus-plus#12231 https://github.com/notepad-plus-plus/notepad-plus-plus/issues/12231?

Would you consider submitting a PR? If the idea is not accepted, could you integrate it in MenuIcons?

Thank you very much.

— Reply to this email directly, view it on GitHub https://github.com/francostellari/NppPlugins/issues/30, or unsubscribe https://github.com/notifications/unsubscribe-auth/AL5TXIVU3NAE5XSMNDXIMPTV732CRANCNFSM6AAAAAAQUUJNWU . You are receiving this because you are subscribed to this thread.Message ID: @.***>

Yaron10 commented 1 year ago

Hello Franco,

I'm planning to rework the plugin to solve the issue that causes the menu icons to disappear.

:+1: That would be great. I'm sure many NPP users would love MenuIcons. (For my personal use, I've modified some NPP code and MenuIcons works perfectly. You might remember that.).

and will take a look again into the tab icons. When i did last time I could not find a simple easy to do it

:+1:

Two more points for the next version:

  1. Window menu -> currently open files' icons in recent NPP versions.
  2. File menu -> dynamic commands' icons (Restore last closed etc.). This is an old issue.

Thank you for your work. I appreciate that.

francostellari commented 1 year ago

Can you please test out a bit v2: https://github.com/francostellari/NppPlugins/blob/main/MenuIcons/MenuIcons_dll_2v00_x64.zip This should solve the disappearing icons and fix file shell icons in the recent files and windows menus. I had to require a lot of code... I concerned for bugs/crashes/mem leaks.

I don't understand 2. above.

I looked again into the icons for the tab... the issue is that N++ keeps changing icon when a buffer becomes dirty, saved, etc... I need to intercept all the cases... it's a bit of a pain. Otherwise, I think I could add shell icons to the tabs.

Yaron10 commented 1 year ago

Hello Franco,

👍 It works like a charm. Thank you very much for your work.

One major issue:

On NPP startup, before the toolbar and tab bar are displayed, I get an error message (the title is "Error").

תמונה Tested without any other plugins.


I don't understand 2. above.

I meant:

תמונה

And this issue is also fixed with your last version. 👍


the issue is that N++ keeps changing icon when a buffer becomes dirty, saved, etc... I need to intercept all the cases... it's a bit of a pain.

Are you planning to replace the "disk icon"? Did you consider my suggestion in https://github.com/notepad-plus-plus/notepad-plus-plus/issues/12231#issue-1384653649?

If the idea is accepted, the desired implementation/result can be discussed. There are quite a few options. The following might be a bit unconventional, but it has some advantages.

In a normal state, replace the Close button with the extension's shell icon. On hovering and pushing, display the Close button. (The Close button would need to be changed to 16x16).

francostellari commented 1 year ago

Please check the updated v2: https://github.com/francostellari/NppPlugins/blob/main/MenuIcons/MenuIcons_dll_2v00_x64.zip 1) removes the initial debug messagebox 2) give you an option on what to do with files without extensions 3) add shell icons to the tab

Known issue that I have not been able to solve: Toggling "Alternate Icons" in the "Tab Bar" options removes the tab icons ==>> restart is needed to fix it. I looked into this for a while but I could not figure out what exactly that option does to the tab bars... to fix this At the end, there is no reason to toggle it if you want to display the shell icons... so I have given up.

Probable common complain: Cannot tell a difference between changed/unchanged buffers from the icon. I could add a badge to the icon but I'm not sure what... also add complication... perhaps in the far future I though to add "*" at the end of the tab text like VC but I could not do it so far... perhaps in the far future

Please test it out.

If you feel that is reasonably solid... I kindly ask you two favors: 1) add it to the plugin manager list for me 2) post it on the N++ forum for other people that may be waiting for it

Yaron10 commented 1 year ago

Toggling "Alternate Icons" in the "Tab Bar" options removes the tab icons ==>> restart is needed to fix it.

I think it's not worth your time. A restart is certainly legit.

Cannot tell a difference between changed/unchanged buffers from the icon.

This is a major issue IMO. As much as I'd like to see the extension's icon - being able to differentiate between clean and dirty documents is necessary. If you don't have time now to discuss the possible solutions, I'd obviously respect it. But I'd strongly recommend not to include this feature as it is, but postpone it to the future. :)

If you don't agree - I've found some glitches and I'll elaborate if you want.

The menu icons seem to work perfectly. Thanks again. It's beautiful! 👍


add it to the plugin manager list for me

I understand you don't want to submit a PR in https://github.com/notepad-plus-plus/nppPluginList. I could ping someone there. Is that OK?

post it on the N++ forum for other people that may be waiting for it

I'd be glad to do that.

Yaron10 commented 1 year ago

I've just tested v2 on Windows 7 + Classic Theme.

Both icons and check-marks are displayed now. This is a major improvement. :+1: (In previous versions the icons would hide the check-marks).

On the other hand, the icons are now closer to the text.

v.1.2.5: תמונה

v.2.0: תמונה

Is there anything you can do about it?


The binary version in File Explorer is still 1.2.5.


Can't the toolwindow style be removed in the Options dialog?


Options -> Help.

תמונה

Is that the expected help message?

Thanks again for your work. I appreciate it.

francostellari commented 1 year ago

Please check the updated v2.00.

Fixes:

Added:

I'm not sure what the toolwindow style issues is.

The classic mode in Win7 seems surprisingly OK, I don't even have a system with Win7 to debug... so that's not going to change.

Yaron10 commented 1 year ago

symbol to indicate changed tabs

👍 Well done! It's a serious option now. I understand you don't want to invest more time in this feature. Still, allow me to ask: would adding the extension's icon to the left of the disk icon (i.e. instead of replacing it) be much more complex?


The following issue exists in both v2 variants.

Open NPP with no session. Open a file with a unique icon.

You get the generic icon: תמונה

You need to open another file, close and re-open the previous one to fix the issue.


Three regressions in the last binary.

1. The generic icon on tabs is: תמונה

And in the Window menu: תמונה

In the previous v2 it was the second icon in both places.

2. I get the wrong icon for C++ files (and I suppose the problem is not only with that extension).

Correct (previous versions): תמונה

Wrong (last version): תמונה

3. The icons in the last version are not displayed properly. I don't know if they're re-scaled or distorted by some other factor.

Correct (previous versions): תמונה

Wrong (last version): תמונה


Options dialog with WS_EX_TOOLWINDOW: תמונה

Options dialog without WS_EX_TOOLWINDOW: תמונה


I think the Help message still contains some irrelevant info.


Thanks again for your time and work. I appreciate it. 👍

francostellari commented 1 year ago

0) adding the extension's icon to the left of the disk icon It would require a full custom handling of the tab which does not support a double icon by itself, so no 1) I think I found the issue 2) It is a consequence of a change that I made loading the icons, I reverted it back 3) same issue 4) I changed but I think it is mostly a personal preference

On Sat, Oct 15, 2022 at 1:00 PM Yaron10 @.***> wrote:

symbol to indicate changed tabs

👍 Well done! It's a serious option now. I understand you don't want to invest more time in this feature. Still, allow me to ask: would adding the extension's icon to the left of the disk icon (i.e. instead of replacing it) be much more complex?

The following issue exists in both v2 variants.

Open NPP with no session. Open a file with a unique icon.

You get the generic icon: [image: תמונה] https://user-images.githubusercontent.com/10229320/195997256-65f11e2d-9726-4ede-91b3-77070f0a0b3e.png

You need to open another file, close and re-open the previous one to fix the issue.

Three regressions in the last binary.

1. The generic icon on tabs is: [image: תמונה] https://user-images.githubusercontent.com/10229320/195997534-8c9366b1-ab63-409f-8560-4ddb33985c0c.png

And in the Window menu: [image: תמונה] https://user-images.githubusercontent.com/10229320/195997695-b38dfb41-99f2-4b3a-a82d-4f1ba257caa3.png

In the previous v2 it was the second icon in both places.

2. I get the wrong icon for C++ files (and I suppose the problem is not only with that extension).

Correct (previous versions): [image: תמונה] https://user-images.githubusercontent.com/10229320/195998175-bee73369-562b-45da-96ab-9125b2231fb7.png

Wrong (last version): [image: תמונה] https://user-images.githubusercontent.com/10229320/195998213-52c2aa21-3d39-43dd-8889-b12689fa3dea.png

3. The icons in the last version are not displayed properly. I don't know if they're re-scaled or distorted by some other factor.

Correct (previous versions): [image: תמונה] https://user-images.githubusercontent.com/10229320/195998349-21a35290-fbe0-423d-876a-7ae20aff7716.png

Wrong (last version): [image: תמונה] https://user-images.githubusercontent.com/10229320/195998368-51e256ad-b416-460f-98dd-08c3d33afa3c.png

Options dialog with WS_EX_TOOLWINDOW: [image: תמונה] https://user-images.githubusercontent.com/10229320/195998529-013ed24c-2f81-40fb-a00b-9bb0abd0d816.png

Options dialog without WS_EX_TOOLWINDOW: [image: תמונה] https://user-images.githubusercontent.com/10229320/195998561-05d5455d-ce0e-41c5-b159-16286116bb05.png

I think the Help message still contains some irrelevant info.

Thanks again for your time and work. I appreciate it. 👍

— Reply to this email directly, view it on GitHub https://github.com/francostellari/NppPlugins/issues/30#issuecomment-1279783612, or unsubscribe https://github.com/notifications/unsubscribe-auth/AL5TXIU72GSZV2EZWZUPWSTWDLPL7ANCNFSM6AAAAAAQUUJNWU . You are receiving this because you commented.Message ID: @.***>

-- Franco

Yaron10 commented 1 year ago

Great. Thank you for the fixes. 👍

The following issue still exists.

Open NPP with no session. Open a C++ file.

You get the generic icon: תמונה

On closing that file, you get (New 1): תמונה


Is that the expected help message? :) תמונה

Yaron10 commented 1 year ago

Options -> Select Folder (...) button does not work now.


תמונה

Just curious: are those 3 icons used anywhere by the plugin?

francostellari commented 1 year ago

While I don't understand why the problem started presenting itself now, I think I managed to fix it. MenuIcons, and other plugins of mine, set their own menu icons.

On Sat, Oct 15, 2022 at 6:57 PM Yaron10 @.***> wrote:

Options -> Select Folder (...) button does not work now.

[image: תמונה] https://user-images.githubusercontent.com/10229320/196010519-070ba7cd-0193-48c1-8313-9869ed7eb878.png

Just curious: are those 3 icons used anywhere by the plugin?

— Reply to this email directly, view it on GitHub https://github.com/francostellari/NppPlugins/issues/30#issuecomment-1279847113, or unsubscribe https://github.com/notifications/unsubscribe-auth/AL5TXISVLGMVQKWOYD57B4DWDMZGPANCNFSM6AAAAAAQUUJNWU . You are receiving this because you commented.Message ID: @.***>

-- Franco

Yaron10 commented 1 year ago

While I don't understand why the problem started presenting itself now, I think I managed to fix it.

I suppose you're referring to the "Select Folder" button. This is fixed. 👍

MenuIcons, and other plugins of mine, set their own menu icons.

Very nice. Switching to English, I see your icons.

So, two more issues to fix. :)

Thanks again.

francostellari commented 1 year ago

What issue do you think is still remaining?

On Sun, Oct 16, 2022 at 7:11 AM Yaron10 @.***> wrote:

While I don't understand why the problem started presenting itself now, I think I managed to fix it.

I suppose you're referring to the "Select Folder" button. This is fixed. 👍

MenuIcons, and other plugins of mine, set their own menu icons.

Very nice. Switching to English, I see your icons.

So, two more issues to fix. :)

Thanks again.

— Reply to this email directly, view it on GitHub https://github.com/francostellari/NppPlugins/issues/30#issuecomment-1279947713, or unsubscribe https://github.com/notifications/unsubscribe-auth/AL5TXIVHHU2B6SFT3GGCUR3WDPPE5ANCNFSM6AAAAAAQUUJNWU . You are receiving this because you commented.Message ID: @.***>

-- Franco

Yaron10 commented 1 year ago

https://github.com/francostellari/NppPlugins/issues/30#issuecomment-1279845095

francostellari commented 1 year ago

Ok, I think I was able to fix the regression issue.

On Sun, Oct 16, 2022 at 8:38 AM Yaron10 @.***> wrote:

30 (comment)

https://github.com/francostellari/NppPlugins/issues/30#issuecomment-1279845095

— Reply to this email directly, view it on GitHub https://github.com/francostellari/NppPlugins/issues/30#issuecomment-1279961604, or unsubscribe https://github.com/notifications/unsubscribe-auth/AL5TXIQIHV4BN5XS5XPQQMLWDPZOHANCNFSM6AAAAAAQUUJNWU . You are receiving this because you commented.Message ID: @.***>

-- Franco

Yaron10 commented 1 year ago

:+1: Great.

But now the symbol does not appear in dirty docs.

Thank you.

francostellari commented 1 year ago

I left some code commented.

On Mon, Oct 17, 2022 at 8:42 AM Yaron10 @.***> wrote:

👍 Great.

But now the symbol does not appear in dirty docs.

Thank you.

— Reply to this email directly, view it on GitHub https://github.com/francostellari/NppPlugins/issues/30#issuecomment-1280797718, or unsubscribe https://github.com/notifications/unsubscribe-auth/AL5TXIQAWZPN5C4QPIB2Z3DWDVCRZANCNFSM6AAAAAAQUUJNWU . You are receiving this because you commented.Message ID: @.***>

-- Franco

Yaron10 commented 1 year ago

:+1: Great work! Thanks again.

Would you like me ping @ chcg on https://github.com/notepad-plus-plus/nppPluginList and announce the new version on the forum? Should I provide any explanation why the author himself isn't doing it? - It might be a bit weird. :)

Allow me some final notes.

  1. I know some users who might be interested in displaying menu icons but would not like a plugin intercepting any bufferActivated, clean/dirty (etc.) notifications. Would you consider releasing MenuIcons (without the tabs' icons) and MenuIconsPlus?
  2. The current Help message would certainly confuse users.
francostellari commented 1 year ago
  1. The tab icon features can be fully disabled in the the Options without the need of a separated plugin by unchecking "Show icons in the tab"
  2. The Help is for the variable expansion, not for the plugin.

On Mon, Oct 17, 2022 at 10:25 AM Yaron10 @.***> wrote:

👍 Great work! Thanks again.

Would you like me ping @ chcg on https://github.com/notepad-plus-plus/nppPluginList and announce the new version on the forum? Should I provide any explanation why the author himself isn't doing it? - It might be a bit weird. :)

Allow me some final notes.

  1. I know some users who might be interested in displaying menu icons but would not like a plugin intercepting any bufferActivated, clean/dirty (etc.) notifications. Would you consider releasing MenuIcons (without the tabs' icons) and MenuIconsPlus?
  2. The current Help message would certainly confuse users.

— Reply to this email directly, view it on GitHub https://github.com/francostellari/NppPlugins/issues/30#issuecomment-1280947173, or unsubscribe https://github.com/notifications/unsubscribe-auth/AL5TXIQBEYHYJCA34QJS2GDWDVOXDANCNFSM6AAAAAAQUUJNWU . You are receiving this because you commented.Message ID: @.***>

-- Franco

Yaron10 commented 1 year ago

The tab icon features can be fully disabled in the the Options without the need of a separated plugin by unchecking "Show icons in the tab"

I know that. But you still need to listen to those notifications and check if "Show icons in the tab" is enabled. As you understand.

What about the announcement?

francostellari commented 1 year ago

No, I don't. There is no WndProc injection unless the option is enabled at startup... rego you need a restart when you change it. I already submitted the changes. Thank you for your help.

On Mon, Oct 17, 2022 at 11:04 AM Yaron10 @.***> wrote:

The tab icon features can be fully disabled in the the Options without the need of a separated plugin by unchecking "Show icons in the tab"

I know that. But you still need to listen to those notifications and check if "Show icons in the tab" is enabled. As you understand.

What about the announcement?

— Reply to this email directly, view it on GitHub https://github.com/francostellari/NppPlugins/issues/30#issuecomment-1281016022, or unsubscribe https://github.com/notifications/unsubscribe-auth/AL5TXISSEKMIAKOXYMRUSEDWDVTGZANCNFSM6AAAAAAQUUJNWU . You are receiving this because you commented.Message ID: @.***>

-- Franco

Yaron10 commented 1 year ago

No, I don't. There is no WndProc injection unless the option is enabled at startup... rego you need a restart when you change it.

:+1:

Thank you once again. I appreciate your work.

francostellari commented 1 year ago

V2.00 is completed