<d1b2>
<vipqualitypost> hey so taking a few notes from this dear imgui issue: https://github.com/ocornut/imgui/issues/5301 I was able to make hidpi work without any apparent issues with mouse position! it also fixed the scrollbar issue
<d1b2>
<vipqualitypost> (and it turns out 13 is actually a very reasonable font size for default)
<d1b2>
<david.rysk> Can you PR your workarounds?
<d1b2>
<david.rysk> I don't like the hacky approach and would rather fix imgui upstream, but this is not straightforward so I talked to ocornut about it
<d1b2>
<vipqualitypost> sure! I don't know if it will effect non-hidpi screens. Is there a define guard I can use? Like __APPLE or something?
<d1b2>
<david.rysk> He says he'll look at it in a few weeks, but a temporary fix for now would be good
<d1b2>
<david.rysk> Yes... APPLE
<d1b2>
<david.rysk> er, __APPLE__
<d1b2>
<vipqualitypost> It's not bad, this is my fix in VulkanWindow.cpp // Apply DPI scaling now that glfw initialized // CGFloat scale = NSScreen.mainScreen.backingScaleFactor; // ImFontConfig cfg; // cfg.SizePixels = 13.0f * scale; // io.Fonts->AddFontDefault(&cfg); // io.FontGlobalScale = 1.0f / scale; float scale = GetContentScale(); ImFontConfig cfg; cfg.SizePixels = 13.0f * scale; io.Fonts->AddFontDefault(&cfg);
<d1b2>
<david.rysk> does that hardcode it to 13, or does that have to be pulled from settings?
<d1b2>
<david.rysk> I just rebased all my CMake work, btw
<d1b2>
<vipqualitypost> I don't believe it does but let me check.
<d1b2>
<david.rysk> but I have to finish the docs
<azonenberg>
We should pull from settings. On that note, I want to work on unifying preferences at some point. I think we may have erred on the side of "too many settings"
<azonenberg>
to the point that e.g. enlarging fonts in the UI requires changing 30 different fonts
<azonenberg>
So we should probably spend some time thinking about which settings make sense to be independent ]vs the same
<d1b2>
<vipqualitypost> seems the 13.0f is supposed to just set scaling for hidpi with double resolution?
<d1b2>
<vipqualitypost> oh sorry did not check the one thing you wanted: groups
<d1b2>
<vipqualitypost> I can swap groups and they both look good, but I can't scroll the eye diagram, but also my computer seems to struggle with this waveform... I am only on M1 air so not too much horsepower
<d1b2>
<vipqualitypost> oh the eye diagram is all data overlayed, duh. So I guess it all works fine?
<d1b2>
<david.rysk> @azonenberg what are you doing with font scale in m_fontmgr.UpdateFonts() ?
<d1b2>
<david.rysk> seems if I mess with that, it screws up both imgui and drawn fonts
<d1b2>
<david.rysk> wait nope, it only changes drawn fonts
<d1b2>
<david.rysk> only changes imgui fonts*
<d1b2>
<david.rysk> not drawn fonts
<d1b2>
<azonenberg> yeah eyes are not supposed to scroll
<d1b2>
<azonenberg> This is actually an older session file created with glscopeclient hence the weird tab layout. I'm going to be going through all of the test data, probably collecting new waveforms, etc over the next few months
<d1b2>
<azonenberg> and making new demo/test projects that show off the current capabilities of the software better
<d1b2>
<azonenberg> While keeping these old ones around in archives so we can verify that we still have compatibility with legacy files
<d1b2>
<azonenberg> (in particular due to the compltely different ui toolkits, the relative positions and sizes of plots are lost loading a glscopeclient legacy session in ngscopeclient)
<d1b2>
<vipqualitypost> is there anything else you would like me to check for this scaling issue for now?
<d1b2>
<azonenberg> so we just make one tab for each as a default and expect that you'll rearrange as you need
<d1b2>
<azonenberg> @david.rysk I'm on the way home from work now and will try to review and merge the other PRs when I get back
<d1b2>
<david.rysk> alright cool
<d1b2>
<david.rysk> I'll keep poking at this...
<d1b2>
<vipqualitypost> is there a trackpad gesture to scrub through a waveform? scrolling while in waveform just does x-axis scaling which is what I would expect when scrolling while hovering over axis (like with y-axis)
<d1b2>
<david.rysk> at the moment it only does scaling
<d1b2>
<azonenberg> Shift scroll should move in the x axis
<d1b2>
<azonenberg> at least it did in glscopeclient, i cant remember if we implemented that in ngscopeclient or not
<d1b2>
<azonenberg> if not, it'll be easy to do
<d1b2>
<azonenberg> but typically the way you navigate with the mouse/touchpad is to zoom out, find the region of interest, then zoom back in
Degi_ has joined #scopehal
Degi has quit [Ping timeout: 256 seconds]
Degi_ is now known as Degi
<d1b2>
<vipqualitypost> I use many apps like that (kicad, freecad) but it did not feel quite right... let me try again
<d1b2>
<vipqualitypost> oh, it does work, I think I was just looking at too much periodic data to make sense of it 😛
<d1b2>
<vipqualitypost> Shift scroll does not work but that would be very nice to have as zoom out/in mentally makes more sense for 2D/3D planes than for a 2D time-domain plot to me
<d1b2>
<david.rysk> @vipqualitypost I think I have a solution to the scaling problem, it's not the prettiest
<d1b2>
<azonenberg> @david.rysk ngscopeclient ram usage on apple silicon will be cut roughly in half (waveform usage will halve, but general app usage wont change) once we improve unified memory handling
<d1b2>
<azonenberg> Just a matter of someone having time to implement and test
<_whitenotifier-7>
[scopehal] azonenberg 5af1f19 - Merge pull request #850 from d235j/sigcxx-and-cairomm-new-api Support sigcxx 2 and 3 API, and cairomm 1 and 1.16 API
<d1b2>
<azonenberg> ok so thats merged, i think next in line is the scaling one
<_whitenotifier-7>
[scopehal] azonenberg f4a84df - Fixed missing break in switch
<d1b2>
<hansemro> We can close PR for VideoTrigger as I mostly worked on it to familiarize myself with Siglent SCPI and scopehal API. It was a sort of an experiment to see how we can support a new trigger. Nothing I needed practically. If anyone needs it, they are free to pick up it up the PR.
<azonenberg>
Ok then please close for now unless you think it's polished enough to merge as-is