KML icon indicating copy to clipboard operation
KML copied to clipboard

No GUI on Mono under Linux

Open Ruedii opened this issue 8 years ago • 12 comments

Since this is a .Net program, it should be fairly easy to limit it's subset of .Net routines in order to run on Linux and Mac, thus allowing just about anyone using KSP to run the program.

So fixing this by replacing any calls not support by Mono with those that can be would allow players on any platform to run this tool.

Ruedii avatar May 28 '17 21:05 Ruedii

The .Net part would run on mono but the GUI is made with WPF and would not run. Would need a complete GUI rework with some other toolset. I read about wxWidgets but never used it. As I didn't finish version 1.0 so far, this gets to the end of the wishlist. Any contribution welcome.

my-th-os avatar Jul 20 '17 17:07 my-th-os

Check out https://github.com/AvaloniaUI/Avalonia

pamidur avatar May 04 '18 19:05 pamidur

Thanks @pamidur that looks promising. Although being close to XAML, this may need a complete rework. Sadly I don't have much time for this.

my-th-os avatar May 05 '18 11:05 my-th-os

Last week I ran into an SFS issue and used it as an excuse to take .NET Core C# for a spin (https://github.com/kfsone/sfsed - it's a cli compared to kml, major kudos), only to also run into finding I seemingly couldn't target non-windows environments. Wat? https://devblogs.microsoft.com/dotnet/net-core-3-and-support-for-windows-desktop-applications/ (so I rolled back my .net core conversion since it seemed pointless).

I'm going to have to try creating a Hello world ui and see if I can get it to run on Linux.

kfsone avatar Apr 19 '20 19:04 kfsone

@kfsone interesting… I also have in mind to rebuild the whole thing (probably KSP2 will have a total different file format) and use Avalonia or whatever platform independent solution. And as you said, better get some experience with some Hello worlds first. But that lacks time and interest at the moment.

But I did clone and run your SFSEd. That is a good starting point! :)

my-th-os avatar Apr 19 '20 20:04 my-th-os

Everything I've read said that .net core 3 has xplat winforms, so I tried a hello world (github.com/kfsone/buildme) which is explicitly .net core winforms, not desktop, but I think you need to use 2019 preview build to get a .net core winforms build and github, bitbucket and even azure kept telling me I needed "windows to build desktop".I'll leave sfsed there just incase I ever need a text-tree manipulator again, but in the morning I'm going to add a kml link as the readme :) 

kfsone avatar Apr 20 '20 08:04 kfsone

The GUI is still WPF only, but with v0.9 I introduced a CLI and a separate binary that can do CLI only and does run on Mono.

That GUI rebuild might still be a topic for the future.

my-th-os avatar Mar 05 '21 15:03 my-th-os

I would like to note that Wine-Mono has been working on a port of WPF for mono. I don't know if it runs on Linux directly yet as a substitute DirectX stack is needed for it.

On Fri, Mar 5, 2021, 10:23 AM Mythos [email protected] wrote:

The GUI is still WPF only, but with v0.9 I introduced a CLI and a separate binary that can do CLI only and does run on Mono.

That GUI rebuild might still be a topic for the future.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/my-th-os/KML/issues/2#issuecomment-791487520, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAYFL2MTNS4QHKPBF5OFKRTTCDZNLANCNFSM4DNDBL3Q .

Ruedii avatar Mar 05 '21 21:03 Ruedii

"Doesn't currently run on Mono under Linux" is no longer true. Let's say the issue is "No GUI on Mono under Linux" to not forget about that.

I also checked for any news about WPF in Mono, but I only found "not supported, and not planned". Checking again about "Wine-Mono" (is this a different project?), I couldn't find any information.

my-th-os avatar Mar 06 '21 10:03 my-th-os

Yes, Wine-Mono is a very different project.

It is a version of Mono specifically targeting Wine.

That said their WPF version is a variant of the Open Source version released by Microsoft. They patched the one issue issue that limits running on Mono under Win64 and Win32, but some of the libraries it uses are not available on Linux yet.

Ruedii avatar Mar 18 '21 16:03 Ruedii

As a note the GUI needs improvement anyway.

Reworking in something cross-platform like GTK# could really make it look a lot nicer. Remember, never use the default skin for GTK# on Windows. It sucks.

Ruedii avatar Mar 18 '21 16:03 Ruedii

Reworking in something cross-platform like GTK# could really make it look a lot nicer. Remember, never use the default skin for GTK# on Windows. It sucks.

The hitler-bunker scene could entirely be a guy discovering the team accidentally released an app using the default gtk# skin on windows.

kfsone avatar Mar 18 '21 18:03 kfsone