Re: EasyTAG on OS X



Hi David,

On Sun, Aug 18, 2013 at 9:23 PM, David King <amigadave amigadave com> wrote:
Hi Tony


On 2013-08-18 11:33, Tony Young <tony rfw name> wrote:

On Sun, Aug 18, 2013 at 6:34 AM, David King <amigadave amigadave com>
wrote:

On 2013-08-17 22:54, Tony Young <tony rfw name> wrote:

I assume you're talking about http://marcoschuh.de/wp/?page_id=411 --
I took a look at it and it seems to do roughly the same things I did
(except without ifdefs for non-OS X).


Oops, I did mean that, yes. Good to know, thanks.


Is there any chance that the menu and primary (Control/Meta) changes
would
not be needed with a port to GTK+ 3 and GtkApplication? If so, I would
much
rather do that and avoid having ifdefs that I will rarely test. I would
be
happy to do the associated cleanup and refactoring for good GTK+ 3
integration (GAction and GMenu support, mostly).


There isn't any automatic support for OS X menus in GTK3 either, so
unfortunately there needs to be ifdef'd sections for proper OS X
support -- the application can build without the optional menu
support, but just looks really out of place on OS X.


That does not seem to be true, as the GtkApplication documentation shows Mac
OS X menu integration:

https://developer.gnome.org/gtk3/stable/GtkApplication.html#GtkApplication.description

Presumably, the GTK+ application menu is used as the menu structure for the
application menu in OS X.


Ah, I wasn't aware of that. I've mostly been looking at the
GtkosxApplication documentation[1] which doesn't mention anything
about GtkApplication. I'll take a look into it -- I haven't really
worked with GTK before and I just wanted to get something running
natively on OS X, so sorry for all the futzing around!

1. http://www.grisbi.org/download/devel/MacOSX/Sources/gtk-doc/gtk-mac-integration-0.9/GtkosxApplication.html


There's a function in `GtkosxApplication` called
`gtk_osxapplication_set_use_quartz_accelerators` that implies that it
would fix the shortcuts appropriately -- but doesn't, so I don't
believe gtk-mac-integration has support for modifying key bindings
automatically.



I think that with GTK+ 3 "<Primary>" can be used rather than "<Ctrl>" or
"<Meta>", and the platform-specific modifier will be used. This even seems
to be supported in recent versions of GTK+ 2, since 2.24.7.


Ah, right you are! Thanks.


The GTK dependencies were all pulled in from jhbuild and the libraries
for media files (libogg, libid3tag etc.) were from Brew. There doesn't
seem to be any problem with linking libraries in both places and, when
bundling, gtk-mac-bundler pulls libraries from both locations into the
app bundle.


Thanks. Is there any way to cross-compile for Mac OS X or is a Mac required?
I have access to a Mac, but I am curious how difficult it would be for
others to reproduce the setup.


I believe that you would need to compile on OS X due to dependencies
with Cocoa and OS X system libraries. I'm not aware of anything that
lets you cross-compile to OS X from Linux (but I could be wrong).


Building for GTK3 on OS X is painful and requires a lot of fiddling
around with dependencies and patches for installing
gnome-themes-standard so users aren't stuck with Raleigh, but when
better support for GTK3 in jhbuild arrives, it should build fairly
painlessly.


That is a shame, but I look forward to better support in jhbuild.

There might be a proper way to do it, but I haven't managed to figure it out.

On Sun, Aug 18, 2013 at 10:11 PM, David King <amigadave amigadave com> wrote:
On 2013-08-18 10:23, David King <amigadave amigadave com> wrote:

I think that with GTK+ 3 "<Primary>" can be used rather than "<Ctrl>" or
"<Meta>", and the platform-specific modifier will be used. This even
seems to be supported in recent versions of GTK+ 2, since 2.24.7.


I made EasyTAG use "Primary" as an accelerator modifier in master:

https://git.gnome.org/browse/easytag/commit/?id=1f15ebcf47d58b9511309445f8f7e910f147f469

This works fine on X11, but testing on Mac OS X would be appreciated.


This works fine on OS X too :)

Cheers,
Tony


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]