pond icon indicating copy to clipboard operation
pond copied to clipboard

Windows support

Open ghost opened this issue 10 years ago • 9 comments

IMHO, a lot of Windows users would enjoy Pond.

@agl do you think Pond may be ported easily (including dependencies) on Windows ? Do you plan to do it ?

ghost avatar Jul 01 '14 11:07 ghost

The GUI would be a lot of work, but the CLI might work with some sort of terminal compat. Maybe Cygwin provides one?

I've no plans to do that myself.

agl avatar Jul 03 '14 23:07 agl

Ain't touching this one myself, but it's worth mentioning that GTK+3 has a Windows port, making the GUI doable : http://blogs.gnome.org/mclasen/2013/10/28/gtk-3-on-windows/

burdges avatar Oct 26 '14 14:10 burdges

There is a relevant answer on SO here : http://stackoverflow.com/a/17042596/667457

burdges avatar Mar 15 '15 21:03 burdges

I've made some progress on Windows compatibility in the following fork using GTK+3, Go 1.3rc2, and MinGW (all 32 bit). Here are my current notes - https://github.com/saltthefries/pond/blob/master/README_WINDOWS.md My fork is here-- https://github.com/saltthefries/pond

saltthefries avatar Apr 04 '15 02:04 saltthefries

README_WINDOWS.md notes link is dead, can you please update with a current one?

sysfu avatar Apr 25 '15 00:04 sysfu

Sorry @sysfu, I reorganized this into a branch "windows". https://github.com/saltthefries/pond/blob/windows/README_WINDOWS.md

This now compiles in Windows, but it's not working yet and it's a mess. There is more to do with GTK. I'll try and do some cleanup and learn some more Go to push this further over the weekend.

saltthefries avatar Apr 25 '15 00:04 saltthefries

I did some more digging on this and I'm not able to compile demo.go in @agl's agl/go-gtk fork on Windows using Go 1.4.2 (latest). I am able to compile demo.go the upstream (mattn/go-gtk). I see that @burdges is working on merging @agl's fork back into the upstream here https://github.com/mattn/go-gtk/issues/225

I upgraded to Go 1.4.2 on my Windows environment as 1.3rc2 wasn't working for either. I have GTK+3 bundle v3.6.4 and GTK+2 bundle v2.24.10 installed.

Here's what I get in Windows 7 with Go 1.4.2 when trying to build demo.go:

E:\gopath\src\github.com\agl\go-gtk\example\demo>go build
# github.com/agl/go-gtk/example/demo
.\demo.go:12: undefined: gtk.GtkMenuItem
.\demo.go:14: undefined: gtk.GTK_WINDOW_TOPLEVEL
.\demo.go:15: undefined: gtk.GTK_WIN_POS_CENTER
.\demo.go:25: too many arguments to conversion to gtk.VBox: gtk.VBox(false, 1)
.\demo.go:30: missing argument to conversion to gtk.MenuBar: gtk.MenuBar()
.\demo.go:36: missing argument to conversion to gtk.VPaned: gtk.VPaned()
.\demo.go:42: cannot convert "Demo" (type string) to type gtk.Frame
.\demo.go:43: too many arguments to conversion to gtk.VBox: gtk.VBox(false, 1)
.\demo.go:46: cannot convert "Demo" (type string) to type gtk.Frame
.\demo.go:47: too many arguments to conversion to gtk.VBox: gtk.VBox(false, 1)
.\demo.go:47: too many errors

saltthefries avatar May 16 '15 20:05 saltthefries

There is no clean way to merge agl/go-gtk into mattn/go-gtk becuase Go lacks the conditional compliation directives needed to deal with significant variation in foreign libraries. Yet another reason Go is not a system programming lagnauge.

I/we could finish pulling/bastardizing agl's changes into mattn's most recent branch, thus giving proper error reporting for GTK, which might simplify your life.

Have you built much from mattn/go-gtk successfully? Are there any big fixes there for windows users? If so, that's another possible benifit.

If you do not still need mattn/go-gtk, then I should mention : There are no GTK v2 calls used in Pond so unless your confident in your pkg-config skillz you might benifit from uninstalling it. I donno about Windows but under MacPorts on OS X you can encounter wierd dependencies of GTK 3 components on packages that depend on GTK 2 components if you build GTK 3 as an X11 library. I resolved it by building GTK 3 as a native Quartz library. I donno anything about how pkg-config works on windows.

Feel free to jabber me at [email protected] or to get a mutual friend to put us in contact through pond or whatever.

burdges avatar Jun 01 '15 21:06 burdges

Anyway, there is no garantee that gopath\src\github.com\agl\go-gtk\example\demo should build becuase @agl did not necessarily fix the demos when he ported go-gtk from GTK 2 to GTK 3.

It does not Build on my debian system with only GTK 3 but no GTK 2. In fact, it depends on mattn/go-gtk which probably moved on since the version @agl forked. I can try building it on OS X with GTK 2 and mattn/go-gtk instealled to see if I get the same errors if you like. lol

burdges avatar Jun 01 '15 21:06 burdges