GNOME for Mac (Intel)Zip, 1.6 MB: Version 1.3.11. Requires Mac OS 10.6 or higher. Download User's Manualand Location Files.
Integration
Gtk-mac-integration/GtkOSXApplication
Theming
Docky is a theme for GNOME Do that behaves much like the Mac OS X dock. Unlike GNOME Do's traditional interface, Docky can be set to one of three modes for hiding: None - Docky is always visible. Autohide - Docky is normally hidden, and appears when the mouse pointer reaches Docky's (unseen) edge at the lower/upper edge of the screen.
All macOS and iOS releases appearances from System 4 to macOS Catalina.
GNOME settings are stored in a number of hidden directories in your home directory:.fonts.cache-1.gconf.gconfd.gnome.gnome2.gnome2private.gtkrc-1.2-gnome2.nautilus On MacPorts. The GNOME ports are currently updated to the GNOME 2.26.3 stable release versions, although not all packages in the release have been ported as of yet.
Gnome will run on ANY computer with Mac OS, System 6.0.7 or later. It needs about 100K of RAM (or less) in order to run. Trust me, it'll run on your Mac. FEATURES Keeps accurate time!
Even though regular GTK+ applications work on the Mac, it is nice to be able to integrate with the native desktop and make it feel more like a Mac application. The integration library described here will help you with that.
Ubuntu Gnome For Mac
Gtk-mac-integration/GtkOSXApplication
The integration library libgtkmacintegration.dylib contains two implementations, the original one using Carbon (gtk-mac-integration) and a new one using Cocoa (GtkOSXApplication). Since Apple has deprecated Carbon in OSX 10.6 (Snow Leopard), gtk-mac-integration is also now deprecated and should not be used in new code. Furthermore, maintainers of existing Gtk-OSX ports which use gtk-mac-integration are strongly encouraged to convert to GtkOSXApplication. In addition to being 64-bit compatible, it also fixes some glaring bugs in gtk-mac-menu when using multiple windows.
Gnome For Mac
Naming Note: Gtk-mac-integration is the name of both the project and the deprecated implementation. It was called ige-mac-integration before being moved to Gnome from Github, and you will find older repositories on Github still using that name.
Gtk+-3.4 added built-in quartz menu integration without documentation. This page is not about that feature.
Documentation
GtkOSXApplication is fully documented via gtk-doc. To build the documentation in your installation, pass --enable-gtk-doc to configure. A current copy of the documentation can also be found here.
There is limited documentation for gtk-mac-integration below.
You'll find a test program at src/test-integration.c which exercises most of the features of each interface (depending on macro settings at the top of the file) which you can study.
Localization
GtkOSXApplication adds two menus, the Application menu (the one on the left with the application's name for a title) and optionally the Window menu, which include some standard menu items. Localization of these items is accomplished using the OSX method, with a GtkOSXApplication.strings file in each lang.lproj directory installed in $PREFIX/share/strings. If you install those directories in the Resources directory of your application bundle, the labels will be localized according to the user's language settings in System Preferences. I made the translations using Google Translate on just the labels, so it's likely that the translations are not idiomatic. Bug reports with better translations are most welcome.
Python
Both interfaces have PyGtk bindings which will be installed automatically if pygtk is detected. There are elementary test files in the respective bindings/python directories. GtkOSXApplication will set up pygobject introspection bindings instead if it detects Gtk+-3.
Haskell
Hamish Mackenzie has implemented Haskell bindings for GtkOSXApplication.
Apple Events
Support for Apple Events is not included in gtk-mac-integration. This means that it is not possible to have a GTK-OSX application opening files when clicked from the Finder.
GtkOSXApplication, on the other hand, provides a signal, NSApplicationOpenFile, to which you can connect to allow opening files from Finder.
Gedit has implemented an Application Delegate which handles the OpenFiles message from LaunchServices. This approach handles the file opening directly instead of emitting a signal; on the other hand, it requires more code in the application.
Alternatively, if developing a Python-based Gtk application, Apple Events can be accessed from MacPython, see MacPython Applescript. Be careful with MacPython, and stay away from anything that might start an event loop.
Menu Accelerators
The automatic conversion of control-foo menu accelerators to command-foo has not been carried over to GtkOSXApplication, though a new facility is provided in Gtk+ (as of this writing it is in Git for Gtk+-2.24, and released in Gtk+-3.2.0) to use the <Primary> descriptor in place of <Control> for accelerators and bindings. This will map the accelerator to Command on OSX and to Control for anything else. Otherwise, you can load an accelerator map with the OSX standard key codes. A template map file is provided in data/template_accel_map; you'll need to edit it to match the accel paths in your application. Instructions are in the comments.
It may be easier to insert gtk_accel_map_save('path')} at the point where you would put gtk_accel_map_load('path'), compile, and run once. That will give you a template accel-map file that you can edit (just replace every instance of <ctrl> with <meta> and uncomment the changed lines: The file is Scheme, so the leading ';' is the comment token).
GStreamer
There is also a video sink that works with GTK+ on OS X available on Github.
Theming
The gtk-quartz-engine provided a more mac-like appearance to applications windows, but it had some major holes in what it rendered. Unfortunately, it is based on Carbon's HITheme interface (and parts of it still use the even-more-deprecated AppearanceManager). We can't recommend that you use it, and because of major changes to the theming architecture it doesn't work in Gtk+-3.
Fortunately, there are a great number of themes and engines available. The common engines can be installed by building meta-gtk-osx-themes. Add any themes you want to $PREFIX/share/themesbefore bundling, and they'll get copied into the bundle's Resources/share/themes directory. Then you (or your user) need only edit Resources/etc/gtk-2.0/gtkrc to include the line gtk-theme-name = 'foo', where 'foo' is the name of a subdirectory in Resources/share/themes containing the theme that you like.
Building
Gnome Evolution For Mac
There's already a module for it, so just
Installation in a Bundle
Add something like this to your bundle file (see [wiki:Bundle]):
Everything will be copied into the right places.
If you're not going to bundle the application, you can just copy the gtkrc above to ~/.gtkrc.
Documentation for the Carbon gtk-mac-integration functions
Here is a simple example for setting up the menu bar:
This connects the application menubar to the mac menu bar (the one across the top of the screen). So long as you don't hide top-level menus in the menubar, changes to your menus in GTK will automatically be reflected in your Mac menus.
If you do hide and show top level menu items, then you need to call
every time you hide or unhide a top-level menu item.
To make the menu structure feel more native, you can rearrange menu items a bit:
This moves the Quit, About, and Preferences items to the application menu, where most Mac applications put those.
If for some reason you're writing code that's going to run in a non-quartz environment, you may find it useful to wrap the above code with
and to include something like
in your configure.ac and mention ${GTK_MAC_CFLAGS} and ${GTK_MAC_LIBS} in the appropriate locations of the appropriate Makefile.am.
This code won't work on GTK > 3.0; instead, use the macro provided with GTK to check which backends are supported:
For more examples, see the code in the source, test-integration.c. In addition the the menu bar integration, the API currently contains some hooks for the dock, and application bundles.
A MAC address is the unique identifier that is assigned by the manufacturer to a piece of network hardware (like a wireless card or an ethernet card). MAC stands for Media Access Control, and each identifier is intended to be unique to a particular device.
Gnome Mac Os Theme
A MAC address consists of six sets of two characters, each separated by a colon. 00:1B:44:11:3A:B7 is an example of a MAC address.
To identify the MAC address of your own network hardware:
Open the Activities overview and start typing Network.
Click on Network to open the panel.
Choose which device, Wi-Fi or Wired, from the left pane.
The MAC address for the wired device will be displayed as the Hardware Address on the right.
Click the button to see the MAC address for the wireless device displayed as the Hardware Address in the Details panel.
In practice, you may need to modify or “spoof” a MAC address. For example, some internet service providers may require that a specific MAC address be used to access their service. If the network card stops working, and you need to swap a new card in, the service won’t work anymore. In such cases, you would need to spoof the MAC address.