Sign in Join
Wiki copytemporary

GTK1 Interface: what changed

Revision 3 to 4. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11*(GTK+ only)*
22
33> **Warning:** Gtk 1 development has been discontinued. The [[GTK2 Interface]] is now the default interface for *nix. Patches however are still accepted to fix compilation when Gtk1 breaks. There are no core Lazarus developers that still use the gtk1 interface. The information below may be outdated.
44
55## Introduction
66
77The gtk1 widgetset is quite stable. There are still some bugs and missing properties.
88
99The documentation can be found [here](http://www.gtk.org/).
1010
1111The minimum Gtk 1 version supported is Gtk 1.2.18
1212
1313## Using the Gtk1 interface under macOS
1414
1515If you want to build gtk1 applications on macOS you need X11 and GTK 1.2 too:
1616
1717Apple X11: On a new system: choose "Customize" in the install dialog, check "X11".
1818
1919On an already installed system:
2020
2121MacOSX 10.3: download at:
2222
2323
2424<http://www.apple.com/downloads/macosx/apple/x11formacosx.html>
2525
2626MacOSX 10.4: install X11 from the DVD.
2727
2828GTK 1.2: Downloading the GTK packages and installing them properly can be a time consuming task. Therefore there are various package managers. One of them is fink:
2929
3030
3131Download fink from <http://fink.sourceforge.net/download/index.php?phpLang=en>; follow the install instructions.
3232
3333In the Terminal, run
3434
35-`       sudo /sw/bin/apt-get install gdk-pixbuf gtk+ gtk+-data gtk+-shlibs gtk-doc gtk-engines`
35+```text
36+ sudo /sw/bin/apt-get install gdk-pixbuf gtk+ gtk+-data gtk+-shlibs gtk-doc gtk-engines
37+```
3638
3739The X11 application is in /Applications/Utilities/X11. You can drag and drop it on the dock so you can start it with one click. X11 on Leopard (10.5) is different and starting X11.app is not recommended.
3840
3941Tip: Most X11 programs, including Lazarus, expect to receive focus when the user clicks on a window. Under macOS this is deactivated. You can activate it for all X11 applications by typing in the terminal:
4042
41-`       defaults write com.apple.x11 wm_click_through -bool true`
43+```text
44+ defaults write com.apple.x11 wm_click_through -bool true
45+```
4246
4347When compiling GTK-related software, you need to add two lines to the fpc.cfg file, to enable use of libraries:
4448
45-`-Fl/sw/lib`\
46-`-Fl/usr/X11R6/lib`
49+```text
50+-Fl/sw/lib
51+-Fl/usr/X11R6/lib
52+```
4753
4854### Required software
4955
5056- Install Apple´s X11, available on your Installation Disk.
5157
5258For **Jaguar 10.2.x** you can download X11 on source forge at the [X11 on Mac](http://sourceforge.net/projects/xonx) Project.
5359
5460For **Panther 10.3.x** (but not for any other version!) also at [Apple](http://www.apple.com/downloads/macosx/apple/x11formacosx.html).
5561
5662For **Tiger 10.4** you must install X11 from your tiger DVD. This is to be able to display X11 programs. Tip: Drag the X11-Icon from /Applications/Utilities/X11 into the Dock for convenient starting.
5763
5864- Install Apple´s XCode, available on your Mac Installation Disk or at [Apple Developer Connection](http://connect.apple.com/) (requires creation of account, but the free online program is enough). This installs the XCode IDE and all the developer stuff.
5965- Install fink, available at [Sourceforge](http://fink.sourceforge.net/). This is a Mac 'apt-get'esque package system.
6066- Check if installation was successful, open a Terminal and type:
6167
62-` echo $PATH`
68+```text
69+ echo $PATH
70+```
6371
6472This should give you:
6573
66-` /sw/sbin:/bin:/sbin:/usr/bin:/usr/sbin`\
74+```text
75+ /sw/sbin:/bin:/sbin:/usr/bin:/usr/sbin
76+```
6777
6878- After successfull installation of the above, open a Terminal and type:
6979
7080 sudo apt-get update
7181 sudo apt-get install glib glib-shlibs gtk+-shlibs gdk-pixbuf gdk-pixbuf-shlibs
7282
7383This installs GTK.
7484
7585- Install [fpc and Lazarus](http://sourceforge.net/project/showfiles.php?group_id=89339) as .dmg for Mac. Now your´re ready to run.
7686
7787====If you decide not to use Fink or if your Fink installation is customized==== If you install `gdk-pixbuf`, `gtk`, and `glib` libraries not using Fink, or if your Fink installation is customized to install under other than `/sw` directory, then make sure that the environment variable `DYLD_LIBRARY_PATH` point to where the libraries are. For instance, it you use [MacPorts](http://www.macports.org/), the command below should do the trick:
7888
79-`export DYLD_FALLBACK_LIBRARY_PATH="/opt/local/lib:$DYLD_FALLBACK_LIBRARY_PATH"`
89+```text
90+export DYLD_FALLBACK_LIBRARY_PATH="/opt/local/lib:$DYLD_FALLBACK_LIBRARY_PATH"
91+```
8092
8193The environment variable should be setup every time before running lazarus, or should be run from shell startup script.
8294
8395### How to get going
8496
8597- Start X11.
8698- You get your XTerm. Focus it and type
8799
88100 cd /usr/local/share/lazarus/
89101 ./lazarus
90102
91103### Lazarus as Icon
92104
93105You can drag and drop the X11 app onto your dock to have a one-click way of starting X11.
94106
95107To simplify starting Lazarus, in X11, choose Applications \| Customize Menu, then click Add. Under Menu Name enter Lazarus, under Command enter the following:
96108
97-`/usr/local/share/lazarus/lazarus`
109+```text
110+/usr/local/share/lazarus/lazarus
111+```
98112
99113Click Done to close. Now you can start Lazarus from X11 simply by choosing Applications \| Lazarus.
100114
101115BEWARE: if you use the below svn, then use
102116
103-` open -a /Users/yourname/pascal/lazarus/lazarus`
117+```text
118+ open -a /Users/yourname/pascal/lazarus/lazarus
119+```
104120
105121---
106122*From the Free Pascal wiki, page "GTK1 Interface", as it stood on 2019-12-22 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
107123Category: GTK Widgetsets
108124Category: Lazarus
109125Category: macOS

Back to history