-
-
Notifications
You must be signed in to change notification settings - Fork 347
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
quirky GUI on OSX #760
Comments
Not sure if this is feasible, but could you just signal mono to redraw the gui after every big change (change of tab, check box, etc)? That might help resolve the issue |
Looks like the tab issue is a long standing bug in Mono's Carbon-based WinForms driver: https://bugzilla.novell.com/show_bug.cgi?id=509245 / https://bugzilla.xamarin.com/show_bug.cgi?id=3124 I tried getting it to run in X11 instead to work around the issue but recent versions of the OSX Mono distribution don't have that compiled in. I'm getting a development environment set up so I'll see if I can find a workaround like the one calebmennen mentioned. |
Manually setting visibility on the TabPage / controls in the TabPage works pretty well, but there's a case where the mod list doesn't reappear immediately after using the refresh button. It flashes on screen for a second but then disappears until it redraws again, not sure exactly what's going on there. The search box behavior appears to be a combination of adding even a single row to a DataGridView being really slow and this key handling bug: http://mono.1490590.n4.nabble.com/Incorrect-missing-and-duplicate-keypress-events-td4658863.html Unless there's a way to address one of those directly, the best work around I can think of would be to wait until the user finishes typing to update the table. |
Found another, more minor UI glitch: if you right click near where the column headers would be for the mod list, while on a different tab, the mod list gets shown on your current tab. Also having an issue with the Change Set ListView drawing / taking clicks even when it's set to invisible and on a different tab. Aside from that issue, setting control visibility just about works to solve the issue. Not sure how to make the ListView stop drawing though. WinForms is definitely a bit of a mess on OS X. :O Also, Platform.isMac doesn't seem to work to identify when CKAN is running on a Mac; apparently Mono hasn't started differentiating Mac and Unix yet because they have too much legacy code? |
TabController now manually sets the visibility of controls in tabs when they are selected and deselected. It also manually refreshes the mod list SplitContainer since something draws over top of it when switching back to the mod list tab after refreshing repositories. This mostly fixes things drawing on the wrong tab, but not entirely; particularly, list views don't seem to stop drawing even when their visibility is false, and it also doesn't do anything to views that are children of children of a tab.
Workarounds for KSP-CKAN/CKAN#760, UI quirks on OS X
Tweaks to the workaround for KSP-CKAN/CKAN#760
@savagerose : Just here to say thank you for the fixes. They're super appreciated! (And now released) |
For me the gui does not work at all :-/
Nothing shows up. Terminal version works somehow ok. |
Is the CKAN icon visible? |
Not at all. I see only |
Looks like this was fixed in KSP-CKAN/CKAN-GUI#118 and KSP-CKAN/CKAN-GUI#124. |
Hey!
The GUI has some annoying bugs on OS X (for me). I can't say if this is CKAN or Monos behavior.
I understand that the regular Hotkeys work the windows way (CTRL-* instead of CMD-*).
But whenever I try to enter something into the search field I have to type really really slow because otherwise letter are being dropped or doubled.
And the Interface doesn't update itself. e.g. "updating": The tabs switches to "Updating repositories" and then switches back to "Manage mods" when it is done. Although the tab "Manage mods" is then being active, the UI still shows the "Updating repositories" part where the list of the mods should be… I then have to switch tabs manually again to reset the view.
The text was updated successfully, but these errors were encountered: