No description
  • C 97.8%
  • M4 1%
  • Makefile 0.6%
  • Python 0.3%
  • Shell 0.1%
  • Other 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-05-03 11:40:47 +02:00
.gitlab-ci Add CI for gtk-2-24 2019-10-07 15:41:30 +01:00
build build: avoid duplicate MSVC_TOOLSET definition 2026-04-29 09:40:46 +02:00
debian Revert name change 2008-07-01 22:57:50 +00:00
demos build: replace deprecated INCLUDES with AM_CPPFLAGS 2026-04-28 21:14:00 +02:00
docs Fixed missing M_PI definition in ANSI C (#7) 2026-05-02 06:20:22 +00:00
examples Don't use GTK_WIDGET_STATE in internal code anymore 2010-03-09 02:40:17 +01:00
gdk quartz: support depth-1 images and drawable sources 2026-04-30 11:29:09 +02:00
gtk gtk: add GLib version fallback for g_sort_array 2026-05-03 09:47:31 +02:00
m4 introspection.m4: Update from g-i 2011-06-22 11:09:24 -04:00
m4macros m4macros: Set a serial number 2018-04-06 11:37:07 +01:00
modules lpr: mark backend printer as accepting PDF and PostScript 2026-04-30 11:28:48 +02:00
perf build: replace deprecated INCLUDES with AM_CPPFLAGS 2026-04-28 21:14:00 +02:00
po Update Polish translation 2017-12-02 18:38:42 +01:00
po-properties Update Indonesian translation 2017-08-29 10:18:25 +00:00
tests Fix introspection and test builds with modern toolchains 2026-04-29 17:01:25 +02:00
.gitlab-ci.yml Add CI for gtk-2-24 2019-10-07 15:41:30 +01:00
acinclude.m4 configure: replace obsolete AC_HELP_STRING 2026-04-28 21:55:12 +02:00
AUTHORS small update 2006-03-24 03:09:08 +00:00
autogen.sh autogen: copy generated helper files 2026-04-28 21:13:55 +02:00
ChangeLog.gtk-async-file-chooser added ChangeLog entries from the kris-async-branch. 2006-05-02 09:58:08 +00:00
ChangeLog.gtk-printing Add ChangeLog.gtk-printing 2006-05-02 09:15:34 +00:00
ChangeLog.pre-1-0 ChangeLog split up into ChangeLog.pre-1-0 and ChangeLog. 1998-04-17 01:07:36 +00:00
ChangeLog.pre-1-2 Apply a cleanup patch by Kjartan Maraas (#341812) 2006-10-08 05:07:55 +00:00
ChangeLog.pre-2-0 Apply a cleanup patch by Kjartan Maraas (#341812) 2006-10-08 05:07:55 +00:00
ChangeLog.pre-2-2 Split ChangeLog 2002-12-28 21:24:40 +00:00
ChangeLog.pre-2-4 Move aside ChangeLog for 2.4 2004-05-04 20:12:19 +00:00
ChangeLog.pre-2-6 Split ChangeLog for 2.6 2005-01-10 15:56:14 +00:00
ChangeLog.pre-2-8 Truncate ChangeLog after moving aside 2005-08-24 18:51:56 +00:00
ChangeLog.pre-2-10 Branch for 2.10 2006-08-23 03:51:48 +00:00
ChangeLog.pre-2-12 === Branch for 2.12 === 2007-11-19 09:26:25 +00:00
ChangeLog.pre-2-14 updated version number to 2.15.0 for development. 2008-09-18 14:55:35 +00:00
ChangeLog.pre-2-16 Rename ChangeLog to ChangeLog.pre-2-20 2009-04-03 01:48:22 -04:00
config.h.win32.in Update Visual C++ compilation items 2011-07-25 12:20:21 +08:00
configure.ac configure: respect configured NM tool 2026-05-03 09:34:45 +02:00
COPYING Changed LGPL address for FSF in all .h and .c files 1998-04-13 02:02:47 +00:00
gail-uninstalled.pc.in Bug #536430. Add libgailutil.la into gail-uninstalled.pc.in. 2008-07-03 08:48:24 +00:00
gail.pc.in Integrate gail into gtk+. Bug #169488. 2007-12-18 13:51:12 +00:00
gdk-2.0-uninstalled.pc.in Bug 540529 – Remove all GIMP references 2008-07-03 05:47:22 +00:00
gdk-2.0.pc.in Adapt to the new, external gdk-pixbuf 2010-06-26 21:57:04 -04:00
git.mk git.mk: Update 2012-11-28 16:37:52 -05:00
gtk+-2.0-uninstalled.pc.in Bug 540529 – Remove all GIMP references 2008-07-03 05:47:22 +00:00
gtk+-2.0.pc.in Bug 540529 – Remove all GIMP references 2008-07-03 05:47:22 +00:00
gtk+-unix-print-2.0.pc.in Bug 540529 – Remove all GIMP references 2008-07-03 05:47:22 +00:00
gtk+.spec.in Bug Bug 703789 - gtk.immodules still referenced 2013-07-28 13:59:55 -07:00
gtk-config-2.0.in Updated. 2001-04-03 18:48:46 +00:00
gtk-engine-check-abi.sh Add a little script 2006-03-11 02:24:52 +00:00
gtk-zip.sh.in Bug Bug 703789 - gtk.immodules still referenced 2013-07-28 13:59:55 -07:00
HACKING Point to better place for git documentation 2009-05-03 23:44:01 -04:00
INSTALL.in release: update NEWS for 2.24.16 2013-02-18 13:58:50 -05:00
MAINTAINERS update file format 2007-08-08 03:11:35 +00:00
makecopyright Revert name change 2008-07-01 22:57:50 +00:00
Makefile.am Make GTK+ build against an external gdk-pixbuf 2010-06-26 02:29:29 -04:00
Makefile.decl gtk-doc.make defines EXTRA_DIST for gtk-doc reference manuals. Including 2026-04-28 21:47:11 +02:00
makefile.msc Update mscv/win32 build 2010-08-27 20:34:23 +02:00
NEWS Update NEWS and README 2026-05-03 11:40:47 +02:00
NEWS.pre-1-0 ooops, fogot this on my last commit... 1998-05-07 07:45:04 +00:00
NEWS.pre-2-24-34 docs: split legacy GTK+ 2 news into archived NEWS file 2026-05-03 09:34:45 +02:00
README.commits Update README files to refer to git 2009-03-31 19:34:23 -04:00
README.in Add notes about gobject-introspection 2010-03-23 11:41:17 -04:00
README.md Update NEWS and README 2026-05-03 11:40:47 +02:00
README.win32 Bug Bug 703789 - gtk.immodules still referenced 2013-07-28 13:59:55 -07:00
sanitize-la.sh Some people use a hacked libtool that doesn't even install .la files 2010-04-12 13:42:31 +03:00
sanity_check [ Merges from gtk-1-2 ] 1999-09-28 20:19:13 +00:00

GTK2-NG — Modern Community Fork of GTK+ 2.24

Unofficial, community-maintained fork keeping GTK2 alive and usable on modern 64-bit Linux systems.

This fork focuses on modern compatibility while preserving stability, performance, ABI compatibility, and original behavior as much as possible. X11-first, no forced Wayland migration.

Backed by the devuanusers.com community.

Highlights

  • Conservative GTK+ 2.24 maintenance with ABI compatibility as a priority
  • Modern build-system and compiler-warning cleanup
  • Compatibility fixes for current GCC, Clang, Autoconf, Automake and Libtool
  • Selected safe patches from AUR, BSDs, Gentoo, Fedora and GTK2 maintenance forks
  • Y2038-related internal time-handling improvements where ABI-safe
  • Modernized private-data handling in many GTK/GDK classes
  • Improved GtkFileChooser with optional icon view and better icon handling
  • Preserved classic list view, GTK2 theming, engines, modules and legacy paths
  • Continued focus on performance, low overhead and responsiveness

Roadmap

  • Continue removing deprecated internal API usage where safe
  • Improve file chooser responsiveness for large and network directories
  • Add best-effort thumbnail generation and optional preview support
  • Improve compatibility with traditional GTK2 themes and engines
  • Add XDG-aware config, theme and icon lookup paths while keeping legacy paths
  • Review Ardour's YTK GTK2 fork for portable, ABI-safe improvements
  • Review further GTK2 maintenance forks for useful fixes
  • Preserve CUPS/PPD printing workflows and add libppd support for newer CUPS
  • Keep GTK2 useful on modern Unix-like systems without breaking existing apps
  • Choose a better long-term project name

Build Instructions (Linux)

autoreconf -fvi
./configure --prefix=/tmp/gtk2-ng-test --with-xinput=yes
make -j$(nproc)
make install

Run apps against the test build

export GTK2_TESTDIR=/tmp/gtk2-ng-test

export LD_LIBRARY_PATH="$GTK2_TESTDIR/lib:$LD_LIBRARY_PATH"
export PKG_CONFIG_PATH="$GTK2_TESTDIR/lib/pkgconfig:$PKG_CONFIG_PATH"
export GTK_EXE_PREFIX="$GTK2_TESTDIR"
export GTK_DATA_PREFIX="$GTK2_TESTDIR"
export GTK_PATH="$GTK2_TESTDIR/lib/gtk-2.0"

leafpad   # or any other GTK2 app

System-wide install

autoreconf -fvi
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --with-xinput=yes
make -j$(nproc)
sudo make install

Dependencies (Debian/Devuan/Ubuntu)

sudo apt install build-essential autoconf automake gtk-doc-tools libtool pkg-config \
    libglib2.0-dev libpango1.0-dev libatk1.0-dev libcairo2-dev libfontconfig1-dev \
    libx11-dev libxext-dev libxrender-dev libxinerama-dev libxi-dev libxcursor-dev \
    libxrandr-dev libxfixes-dev libxcomposite-dev libxdamage-dev libgdk-pixbuf2.0-dev

(Adjust for Arch, Gentoo, etc.)

How to Contribute

Join the main discussion here:
https://devuanusers.com/thread-gtk2-revival-thread--80

Test apps, report issues, submit patches!

License

LGPL v2.1 or later (same as original GTK+)