LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
JensG69

Different Icons for FP / BD / Project windows / ... in windows taskbar

Status: Declined

National Instruments will not be implementing this idea. See the idea discussion thread for more information.

It would be nice, if the different kind of LabVIEW windows would have slighty different icons within the windows taskbar. It would be easier to quickly identify BD / FP / project / Ctrl / etc. windows in the taskbar.

 

This suggestion has also been made at

http://www.labviewforum.de/unterschiedliche-Symbole-fuer-Frontpanel-und-Blockdiagramm-in-der-Tasklei...

Here you can find two suggestions for FP & BD-icons.

Kudos are welcome...
24 Comments
DailyDose
Active Participant

Has this request/idea been addressed and added yet in LV2014?  I feel like it's a crap shoot trying to click on the desired LV item.

tst
Knight of NI Knight of NI
Knight of NI

> Has this request/idea been addressed and added yet in LV2014?

 

No. I'm not sure if it's possible on a techincal level to have different icons for different windows in the same process, so if it isn't, NI might need another way of managing VIs other than the OS window system.


___________________
Try to take over the world!
Intaris
Proven Zealot

Yes it is possible using the WM_SETICON message (0x80).

 

It is reflected as the icon int he menu bar and on the Taskbar.

tst
Knight of NI Knight of NI
Knight of NI

I thought that sets all the icons in the process. If it doesn't, I wonder if it's possible to write a service which will find all the open LV processes, use a hook to detect the opening of a new window in the process and then check the window title to see if it's a project or a BD and set the icon accordingly.

 

And a quick search later, apparently there is. I'm ignoring the Win32 API, where presumably you can't get the hook in LV, and looking at the .NET option - http://www.codeproject.com/Articles/38523/How-to-Write-a-Managed-Global-Hook-for-Window-Crea

 

I didn't read it closely, but as far as I could tell, he simply polls the list of all open windows rather than getting actual events and he only uses Win32 API functions for it. That seems reasonable considering that opening new windows isn't something that happens that often (yeah, I can see those who don't like LV's multiple windows smirking). Anyway, if you want this, you now have an option for how to implement this today.


___________________
Try to take over the world!
Intaris
Proven Zealot

Yeah, getting the window handle is the tricky part but once you have that, the rest is relatively easy (Load Icon, SendMessage 0x80).

 

But to be clear, I know this only because I have a VI I inherited from parts unknown where everything is already done.  I'm no RolfK!

 

DailyDose
Active Participant

The post you provided was made back in 2009.  And this suggestion is 2009.  One of those curious things why this isn't implemented then if theh ability is indeed there.  Although, the post provided has me a little confused.  Is that window open/close notification code or the ability to separate Front Panels and Block Diagrams in the taskbar...which would be awesome!

tst
Knight of NI Knight of NI
Knight of NI

> why this isn't implemented then if theh ability is indeed there

 

Possible reasons:

  1. It's not that easy. LV has a lot of history and a change like this which may seem innocent may actually be more complicated than that. It would also have to be implemented on Linux and Mac.
  2. There are many many ideas on the exchange, and while this is one is fairly popular, NI still can't implement all of them.
  3. NI doesn't want to because it thinks it might confuse users.
  4. NI is working on other solutions to this problem.
  5. It might be difficult from a legal perspective (and yes, as far as I know changing the icon is a real issue from NI's side because of trademark issues, etc.).

 

> Is that window open/close notification code or the ability to separate Front Panels and Block Diagrams in the taskbar

 

The code I linked to is for finding the open windows. The function Intaris was talking about is for changing the window icon (which should also affect the taskbar). Put the two together and you have what you want.

The bad news is that looking at the .NET code again, I see that he uses the EnumWindows function, which requires a callback. LV can't do C function callbacks, so it's back to writing such code with another language (C or .NET) or finding another way to enumerate the windows.


___________________
Try to take over the world!
tst
Knight of NI Knight of NI
Knight of NI

I acutally realized this might be possible with VI Activation events and I played with it a bit - http://forums.ni.com/t5/LabVIEW/Example-setting-icons-on-BD-windows/m-p/3170262#M915546

 

Note that this is just a demo showing the concept. Like I said, for it to be proper, you probably want to run something like this from outside LV and get new window events.


___________________
Try to take over the world!
AristosQueue (NI)
NI Employee (retired)

Flat out: this just hasn't been a priority. The rate of ideas coming in -- good ideas, even -- far exceeds the size of the LV R&D team, even if we worked on nothing but Idea Exchange items. Combine that with requirements for us to work on other things (like continually updating for underlying OS changes or supporting new hardware), it is entirely possible for a good idea to never see the light of day, ever. The Powers That Be have been reluctant to chop off the long tail of good ideas, even though it is unlikely we will ever get to them because, well, we might get to them someday. Very old ideas do sometimes see action.

AristosQueue (NI)
NI Employee (retired)

I should probably also discuss the high kudos count on this idea.

 

High kudos does mean it gets attention from us. We've tried to get to many of the high kudos. But we still weigh into that whether we think we'll get more appreciation from users for other work. This idea has consistently come in as "a good idea but not good enough to throw someone onto for a dev cycle when compared to other things that are pushing on us."