Zoom level / text size in Windows
jcor
In Windows 10, my Igor 9 looks too small.
I can right-click and change Zoom level on the command line and history, but not in the menus.
I played with Misc -> Settings -> Miscellaneous -> Disable High DPI Scaling, but that didn't do the trick.
Am I missing something? I'm struggling to read the menus, in order to figure this out.
What is the value of your Windows size setting (Settings => System => Display => Scale and Layout)? Igor should scale all elements with this setting. If you are at 100%, this may look pretty small on large displays. Try to set a higher value and see if this is better.
November 13, 2022 at 05:39 am - Permalink
It is 150%.
I previously used this setting to modify Igor, but now I can't see any changes.
On my LAPTOP screen I see Igor with large text, but on my EXTERNAL docked monitor I don't.
November 14, 2022 at 07:07 am - Permalink
Please execute:
DisplayHelpTopic "Windows High-DPI Recommendations"
This gives our recommendations for a setup similar to what you describe.
November 14, 2022 at 11:18 am - Permalink
I believe the Scale and Layout setting is set for each monitor separately. So when you have your external monitor attached you might want to check this setting again after clicking on the external one (I guess this will be display 2 then). The setting might be 100% here.
November 15, 2022 at 05:58 am - Permalink
In reply to Please execute: … by aclight
@aclight, this brought up the following instructions for me:
Step #11 inserted in bold was not part of my Igor 8.04 instructions. I tested this and found that it was necessary to solve my menu scaling issue. I had tested this before and it was not sufficient by itself.
Thanks!
November 20, 2022 at 02:55 pm - Permalink
Well, that 150% scaling is problematic because the Qt framework (wrongly) assumes integer scaling. If you can get along with 100% or 200% that may give better results.
In my experience, this was more common on laptop monitors, and is less common recently.
November 21, 2022 at 04:18 pm - Permalink
I continue to struggle a bit with this.
For example, I normally work with a high-dpi external. So I set everything up for that. But today I am on my laptop screen, and now most of my saved window positions from previous work are awkward. Graphs that were publication ready now don't fit on the screen.
As another example, one of the Igor-built software panels I use (community software) doesn't fit on my external monitor screen and I can't see how to resize it.
I think both of these issues would be fixed by a global option to rescale windows. Is there one?
January 25, 2023 at 02:55 am - Permalink
Does it help if you magnify the graphs / panels: Go to Graph / Panel => Expansion and set the desired zoom level. Yes, you have to do this for all graphs / panels manually. But you can quickly click on each window and (re-)invoke the respective commands, e.g., ...
ModifyGraph expand=0.75
Or is does this not work for you? As far as I know, there is currently no setting to zoom everything. I usually save everything to fit the smallest screen I have even when I temporarily work on a big screen where I look at the graphs in detail.
January 25, 2023 at 03:25 am - Permalink
In reply to Does it help if you magnify… by chozo
chozo, thanks, this helps, but not for panels.
January 25, 2023 at 07:25 am - Permalink
ModifyPanel expand=0.75
New in Igor 9.
January 25, 2023 at 09:16 am - Permalink
I thought this would work for Igor 9, but it has some issues:
if (ParamIsDefault(parent))
wave/T wlist = ListToTextWave(WinList("*",";",""), ";")
else
wave/T wlist = ListToTextWave(ChildWindowList(parent), ";")
endif
for (string strWin : wList)
switch (WinType(strWin))
case 1:
ModifyGraph/W=$strWin expand=value/100
// use recursion because panel subwindows are not adjusted
SetWindowsMagnification(value, parent=strWin)
break
case 3:
ModifyLayout/W=$strWin mag=value/100
break
case 5:
Notebook $strWin magnification=value
break
case 7:
// this doesn't seem to work properly for
// panel subwindows with graph parents.
ModifyPanel/W=$strWin expand=value/100
break
endswitch
endfor
end
usage: SetWindowsMagnification(120)
January 26, 2023 at 06:20 am - Permalink
Tony, just FYI: I had also noticed that external panels attached to graphs have issues with expansion and already sent a support message. I'll keep you updated how this goes. Also, there might be some functionality in normal panels which is not programmed with the expansion factor in mind and may break (although probably somewhat rare).
January 26, 2023 at 04:48 pm - Permalink
I have not tested, and the instructions are not quite clear but ...
Does the $strWin string have the proper syntax within the switch case 7 call to designate it as being attached to a HOST# graph??? IOW, what is returned within wlist for a panel that is attached externally to a graph versus a panel that is free-standing? If I understand correctly, if the call to WinList does not return the full HOST# designation in it to designate external windows attached on graphs, case 7 will fail.
January 27, 2023 at 12:45 pm - Permalink
In reply to I have not tested, and the… by jjweimer
SetWindowsMagnification(50) is supposed to set the magnification level of all graphs, panels, notebooks and layouts to 50%.
The function is recursive for subwindows of graphs, and in the case of subwindows the optional parent parameter is set so that WinList is replaced by ChildWindowList, so the subwindow syntax should not be a problem.
As chozo pointed out, there seems to be some buggy behaviour when subwindows are redrawn with different magnification.
January 30, 2023 at 06:40 am - Permalink
Oh! I see now where the ChildWindowList captures the sub-window. Thanks.
January 30, 2023 at 11:12 am - Permalink
In reply to I thought this would work… by tony
Thanks for posting Tony. If the issues are limited to external panels attached to graphs then the function is very useful for many other cases in my community.
March 8, 2023 at 11:18 am - Permalink
I totally forgot about this thread. The issue with external panels has already been fixed in the nightly. Now the code should work for anything (I haven't tested the particular code posted here, though).
March 8, 2023 at 12:07 pm - Permalink
I have finally obtained and installed Igor 9. It's still very awkward to work with my laptop (~14", 1920 x 1080p, 150% scale recommended by Windows) and external monitor (~17", 1920 x 1080p, 100% scale recommended).
The Command window, Window Browser, and Procedure window often end up off-screen or half off-screen when I switch between monitors.
I imagine that this isn't necessarily Igor's fault, but a result of Igor's floating window design. But no other program I use suffers from this problem.
August 17, 2023 at 07:23 am - Permalink
It may not be an ideal solution, but this will clean things up:
DoIgorMenu "Control", "Retrieve All Windows"
August 17, 2023 at 07:32 am - Permalink
In reply to I have finally obtained and… by jcor
If your vision is good enough that you can comfortably use your laptop monitor at 100% (possibly even 125%) scaling, I think you'll find that Igor will work much better.
Also, earlier you mentioned that enabling the 'Disable High-DPI Scaling' option in Miscellaneous Settings->Miscellaneous helped. If you had that setting enabled in IP8 when you first ran IP9, the preference should have been copied to IP9. But you might check your IP9 settings to see if this option is enabled, and if not give that a try.
August 17, 2023 at 07:38 am - Permalink
@aclight, I've been using my laptop and external at 100% scale with High DPI Scaling disabled. This makes it tolerable to work... i.e., I can create an experiment on my external monitor, then open it later on my laptop and not find everything impossible to access.
Meanwhile, I have been struggling to place popup dialogs in a reasonable position. If I manually resize e.g. the ModifyGraph dialog box, it doesn't save its settings. Same for modifying lines and shapes on a plot.
Suddenly using Igor is an incredibly clunky experience for me... It's really slowing me down!
November 21, 2023 at 07:45 pm - Permalink
In reply to @aclight, I've been using my… by jcor
You mean that the built-in ModifyGraph dialog doesn't remember size and position? It does for me (IP9, mac).
November 30, 2023 at 08:53 am - Permalink
It seems to remember the wrong position and not be changable, when I am using High DPI Scaling.
December 4, 2023 at 11:08 am - Permalink