GTK1 Interface
From Lazarus-ccr
Contents |
[edit] Introduction
The gtk1 widgetset is quite stable. There are still som bugs and missing properties.
The documentation can be found here.
The minimum Gtk 1 version supported is Gtk 1.2.18
[edit] Other Interfaces
- Lazarus known issues (things that will never be fixed) - A list of interface compatibility issues
- Win32/64 Interface - The winapi interface for Windows 95/98/Me/2K/XP/Vista, but not CE
- GTK1 Interface - The gtk1 for Unixes, Mac OS X, Windows
- GTK2 Interface - The gtk2 for Unixes, Mac OS X, Windows
- Carbon Interface - The Carbon Interface for Mac OS X
- Qt Interface - The Qt 4 Interface for Unixes, Mac OS X and linux-based PDAs
- Windows CE Interface - For Pocket PC and Smartphones
- fpGUI Interface - A widgetset completely written in Object Pascal
- Cocoa Interface - The Cocoa Interface for Mac OS X
[edit] Platform specific Tips
- OS X Programming Tips - Lazarus installation, useful tools, Unix commands, and more...
- WinCE Programming Tips - Using the telephone API, sending SMSes, and more...
- Windows Programming Tips - Desktop Windows programming tips.
[edit] Interfaces Development Articles
- Carbon interface internals - If you want to help improving the Carbon interface
- Windows CE Development Notes - For Pocket PC and Smartphones
- Adding a new interface - How to add a new widget set interface
- LCL Defines - Choosing the right options to recompile LCL
[edit] Using the Gtk1 interface under Mac OS X
If you want to build gtk1 applications on Mac OS X you need X11 and GTK 1.2 too:
Apple X11: On a new system: choose "Customize" in the install dialog, check "X11".
On an already installed system:
MacOSX 10.3: download at:
MacOSX 10.4: install X11 from the DVD.
GTK 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:
- Download fink from http://fink.sourceforge.net/download/index.php?phpLang=en; follow the install instructions.
In the Terminal, run
sudo /sw/bin/apt-get install gdk-pixbuf gtk+ gtk+-data gtk+-shlibs gtk-doc gtk-engines
The 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 Mac OS X 10.5 (Leopard) is different and starting X11.app is not recommended.
Tip: Most X11 programs, including Lazarus, expect to receive focus when the user clicks on a window. Under Mac OS X this is deactivated. You can activate it for all X11 applications by typing in the terminal:
defaults write com.apple.x11 wm_click_through -bool true
When compiling GTK-related software, you need to add two lines to the fpc.cfg file, to enable use of libraries:
-Fl/sw/lib -Fl/usr/X11R6/lib
[edit] Required software
- Install Apple´s X11, available on your Mac OS X Installation Disk.
For Mac OS X 10.2.x you can download X11 on source forge at the X11 on Mac OS X Project.
For Mac OS X 10.3.x (but not for any other Mac OS X version!) also at Apple.
For Mac OS X 10.4 Tiger you must install X11 from your tiger DVD. This is for OS X to be able to display X11 programs. Tip: Drag the X11-Icon from /Applications/Utilities/X11 into the Dock for convenient starting.
- Install Apple´s XCode, available on your Mac OS X Installation Disk or at Apple Developer Connection (requires creation of account, but the free online program is enough). This installs the XCode IDE and all the developer stuff.
- Install fink, available at Sourceforge. This is an OS X 'apt-get'esque package system.
- Check if installation was successful, open a Terminal and type:
echo $PATH
This should give you:
/sw/sbin:/bin:/sbin:/usr/bin:/usr/sbin
- After successfull installation of the above, open a Terminal and type:
sudo apt-get update sudo apt-get install glib glib-shlibs gtk+-shlibs gdk-pixbuf gdk-pixbuf-shlibs
This installs GTK.
- Install fpc and Lazarus as .dmg for Mac OS X. Now your´re ready to run.
| 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, the command below should do the trick: export DYLD_FALLBACK_LIBRARY_PATH="/opt/local/lib:$DYLD_FALLBACK_LIBRARY_PATH" The environment variable should be setup every time before running lazarus, or should be run from shell startup script. |
[edit] How to get going
- Start X11.
- You get your XTerm. Focus it and type
cd /usr/local/share/lazarus/ ./lazarus
[edit] Lazarus as Icon
You can drag and drop the X11 app onto your dock to have a one-click way of starting X11.
To simplify starting Lazarus, in X11, choose Applications | Customize Menu, then click Add. Under Menu Name enter Lazarus, under Command enter the following:
/usr/local/share/lazarus/lazarus
Click Done to close. Now you can start Lazarus from X11 simply by choosing Applications | Lazarus.
BEWARE: if you use the below svn, then use
open -a /Users/yourname/pascal/lazarus/lazarus
