The GTK2 Software Directory


This page was created 10/09/25

This page was last modified 05/04/26



Introduction


Expect this page to become a full directory for GTK2 software (and some GTK3 software that looks good on GTK2 themes). Also stay tuned for forks of older applications that will work on more modern systems. These forks will provide fixes for the applications, but do not expect any guarantees for stability and security (outdated applications may have unpatched vulnerabilities that I am unable to detect/fix).

My current GTK2 desktop:

What is GTK2?

GTK2 is a free open-source widget toolkit for creating graphical user interfaces targeted at Linux and specifically GNOME (though with some use in other desktop environments, such as XFCE and MATE). Esentially, it is a way that applications can display themselves. When you look at a GTK application, it is essentially just a bunch of widgets and buttons drawn using GTK.

Example code:

static void on_activate (GtkApplication *app) {
  // Create a new window
  GtkWidget *window = gtk_application_window_new (app);
  // Create a new button
  GtkWidget *button = gtk_button_new_with_label ("Hello, World!");
  // When the button is clicked, close the window passed as an argument
  g_signal_connect_swapped (button, "clicked", G_CALLBACK (gtk_window_close), window);
  gtk_window_set_child (GTK_WINDOW (window), button);
  gtk_window_present (GTK_WINDOW (window));
}

int main (int argc, char *argv[]) {
  // Create a new application
  GtkApplication *app = gtk_application_new ("com.example.GtkApplication",
                                             G_APPLICATION_DEFAULT_FLAGS);
  g_signal_connect (app, "activate", G_CALLBACK (on_activate), NULL);
  return g_application_run (G_APPLICATION (app), argc, argv);
}

Why?

Compared with GTK3/4, it is much more stable and less full of bugs, not to mention having many more features. GTK3 has many bad features, such as Client Side Decorations, which enable the program to decide how it is themed and use a nasty interface. Ideally, you want all your applications to follow the same system theme, so that they don't look out of place, e.g. Chrome with its rounded interface. That way, when you change the system theme, all your applications automatically follow the new one. Modern GTK is also much heavier and more bloated, which decreases performance and makes these programs more tedious to use. Not to mention that everything in GTK4 is rounded, a massive waste of screen real estate, and that the lead developer (Emannuele Bassi / ebussy) is rude, unhelpful and annoying (>usecase for that feature?). The GNOME website is all you have to look at to have a reason not to use it. Just look how soulless it is, with flat and globohomo design throughout: link (archived). It seems as though GNOME is trying to become a shitty MacOS clone.

It should've never been phased out

Unfortunately, what we see these days with GTK4 is that the GNOME developers want to appeal to users that do not even exist. Statistically, most Linux users just use a laptop screen or computer monitor. The number of people using a phone or tablet on Linux is very low, and not what the actual operating system was designed for. GTK2 is designed only for non-touch monitors (though you can use touch, the buttons are just a bit smaller) which is what the majority of people use Linux for. People on a phone or tablet will be using Android. So in my opinion, there are a few things that could've solved this problem:

But what if someone is using linux in their car touchscreen? What about digital artists? What about using "desktop" linux on a phone? Well nothing! Suiting an operating system to multiple devices will inevitably fail. You either have to have different entire graphical toolkits/interfaces or just use an entirely different operating system in general (Android was made for a reason and even supports desktop linux applications anyway, and vice versa).

The end of the road?

It is sadly to be removed in Debian 14 (archived), but at the end of the day that is Debians problem, and there will be a way to continue using it for decades to come.

The end goal

We cannot let GTK2 die, so here are some goals I have for it:

How do you even use or "rice" it?

See this (archived) article on the Furude Shrine (archived) website. It goes into depth on how to "rice" (customise) the XFCE4 desktop, explaining how to install themes and so on.

I have a few articles in the works on how to create your own GTK2 theme/modify an existing one, and how to make/fork GTK2 software.

AppImages - the saviour of GTK2 applications?

After trying and failing to fork Gajim 0.16.9 from Python2 to Python3, I was stumped. What could I possibly do to make it work on modern versions of Linux? Well, I was looking at GIMP and how to run the GTK2 version of that on a modern Linux system, since it also used Python2. And since GIMP is a much more popular program, there was a lot more interest from people in running the older image. I stumbled upon a forum post (archived) of a guy who had built an AppImage from a DEB file of Gimp 2.10.38 (the last GTK2 version), with success. I ran the AppImage and it indeed worked even without Python2 installed on my system. The coolest thing about AppImages is that they can bundle all dependencies to make the program run on any system. The GIMP package is only 85mb in size, which is pretty impressive for a full program!

This is a very valuable lesson and shows that AppImages are the way forward for GTK2 programs which are too difficult to be forked to make them usable on modern systems.

GTK2 Applications


ATTENTION: Right now, some applications here are GTK3/4 only in their current versions, but older ones work with GTK2. I will add version numbers, some precompiled binaries, and instructions on how to build. If you choose to install them, most of them will look fine (GTK3), but some may use GTK4 and look bad.

Browsers

Pale Moon

Pale Moon or Basilisk is the best browser you could use these days. Unlike Firefox or Chrome, it is lightweight, has powerful addons, etc. The only caveat being that modern soydev made sites such as YouTube, Pisscord (discord), or other massive 20mb JavaScript tracking pages/reactjs websites do not run that fast. It uses by far less RAM than chrome or firefox, consuming only 100mb on startup, which is about half or even a third that of the rest of the browsers. When I have about 10 tab groups open with each 5 tabs on average, it consumes 600mb ram in contrast to firefox, chrome & forks which use in the several gigabytes. It's really amazing that the other browsers are so bad, because even pale moon has its issues and is far, far better than the competition. I guess you could look at google's tight grip on the web development standards in place, and then you start to see the issues. Because the issues with browsers mainly stem from issues with web developemt. Bad webdev leads to a worse browser, which is actually a major reason why firefox and chrome are so bad, and why it is so hard to develop a new browser engine. You'd have to ensure compatability with the zillions of slop web standards which are used these days.

I think that Pale Moon could support even better GTK2 theming. In SeaLion, the interface looks more in line with the rest of the system. Still, this is a very minor complaint because Pale Moon looks amazing. It can even be completely redesigned using the themes available in the addons store. Unlike firefox or chrome, which just apply a different colour to the browser, you can completely change the icons, ui, etc with just one theme. If you want real customisability, then this is your browser of choice.

Basilisk

BadWolf

Here is BadWolf displaying YouTube! This is possible because although BadWolf is incredibly lightweight, it uses WebKitGTK which means that it can display modern websites just fine.

BrassMonkey suite

BrassMonkey is a fork of SeaMonkey and sits on top of the Pale Moon UXP plaform. It contains a browser, email client, HTML editor, chat client, and address book. It is quite the tool!

SeaLion

SeaLion is pretty much just the standalone browser that comes with BrassMonkey, if you do not desire all the extra applications.

NetSurf

A web browser focusing on being lightweight. Uses about 50mb ish of RAM when booted up. Does not support more modern websites obviously, but still a gem to keep in mind when using very old hardware. Again, this is the fault of web developers, not the actual browser. For example, well written websites such as mine work perfectly.

Liferea RSS reader

Chat clients

Pidgin

Looks really nice with its GTK2 theme, AND it supports many other chat clients such as IRC, DISCORD, etc. But unfortunately it has no proper OMEMO support so can be considered useless for private chats. Does not support MAM either which means that group chats can also be considered pretty useless if they have MAM enabled (you want to look at chat history on the server without constantly having Pidgin open). The next Pidgin version (3.0.0) will use GTK3/4 and support OMEMO, MAM, etc, but will probably look like garbage on GTK2 themes. Too bad!

Gajim

I am developing a Gajim fork which will retain the good old user interface but contain the modern, easy to use XMPP specification. So far, I have packaged version 0.16.9 into an AppImage which works on most Linux distributions without configuration (the AppImage contains the necessary Python2 files). However, I am focusing my efforts on Gajim 1.3.3 which is the last version with a decent UI (albeit not containing the separated window UI seen in 0.16.9 and Pidgin) which uses Python3. 1.3.3 is newer and way more easy to compile (than 0.16.9), but lacks some features and the beautiful windowed interface of 0.16.9. It could more easily be adapted to suit modern features but modifying it to GTK2 may be impossible. It would be better to just replicate the interface with GTK3 maybe? Also it doesn't support OTR encryption so that would need to be added, adding to the complexity of the project. Despite its shortcomings, 1.3.3 is the better option to fork; Gajim 0 has the nicer UI, but is way harder to distribute and compile on modern systems, bordering on impossible. You have to distribute it as an AppImage, which will reduce the amount of people it is available. Hence, developing a fork of that would be pretty unfeasible and leave it stuck on the past.

HexChat

Email

Claws mail

Claws mail is a decent looking email client, at least if you have a light theme activated. Using my DarkCold theme, the application has some areas that just look off. Might just be an error with my system though. Apart from this shortcoming, it has some crazy features:

Despite all of these features, I still prefer and use Epyrus as my main email client. You will find out why in that section of this article.

Screenshot of Claws Mail taken running as root, hence not all icons are representative of my theme.

Epyrus

Epyrus is my email client of choice, however I may consider switching back to Claws Mail if I ever figure out how to set it up properly. Epyrus may not pass 100% of the security checks like Claws Mail does, which is a bummer, since I prefer the way Epyrus functions. It has a very strong addons selection, as it is based on older UXP versions of Thunderbird.

Screenshots of Epyrus taken running as root, hence not all icons are representative of my theme.



BrassMonkey

File sharing

Transmission

Transmission is the lightest torrent client with a GUI. It can be used as a GUI or in the terminal.

I have updated and fixed Transmission version 3.00 (specifically 3.00 because it was simply the first version I tried), with an updated tray icon (libayatana-appindicator) which makes it more compatible with some GTK themes. I also packaged it into a debian package so that it is easier to install on debian-based systems - previously, you had to compile it with meson which displayed a bunch of errors. A normal tarball with install script will be released soon.

I will see if other versions are suited for a fork, but this is a GTK3 application that at least looks decent on GTK2 themes.

Download will be available soon!

Deluge

aMule

Nicotine+

Nicotine+ (plus) is a GTK3 client for the popular SoulSeek music and file sharing network. It by default displays the terrible window decoration, but that can be disabled in the preferences: File -> Preferences -> User Interface -> Use header bar (on/off).

FTP

gFTP

FileZilla

Image viewers

Mirage image viewer

Eye Of Mate image viewer

Viewnior image viewer

Very lightweight and easy to use image viewer. Looks like modern versions are GTK3 whilst older ones are GTK2 (DONT TRUST ME ON THIS ONE).

Video players

Kino

I tried to find a GTK2 media player for linux, but didn't find any. So, of course, I made my own.



It runs on libmpv as a backend, and is written in C using proper GTK2 theming. In version 1, I have added support for all basic MPV features such as subtitles, audio tracks, screenshot, seeking, Lua scripting, and conf files (mpv supports these already).

The application already works better than GNOME Celluloid, in every possible way. Pretty crazy how I, with zero funding, was able to make a better player than experienced developers.

As with my other programs (I should make a "motto" with design principles I believe in), config stuff is stored in ~/.config, and I use plugins to add support for features which not everyone needs (hence keeping the application lightweight).

You can download the source from my git repository, but beware that you need libgtk2.0-dev to compile it. Compiled builds will be available soon.

Music players

QuodLibet music player

I don't like QuodLibet because it is a Python program and they SUCK! Python should only be used for programs a couple hundred kilobytes in size at MOST, otherwise they just end up not working well. Not to mention what happened when Python3 came out and all unmaintained Python2 programs stopped working!

Audacious music player

Audacious, on the other hand, is an really cool program. I have a few minor nitpicks with it, but it works really well overall.

Image and video editors

I don't have much experience video or photo editing so this section will focus on ease of use/interface and style.

GIMP - photo editing

Only looks good once you make it use the system theme - Edit -> Preferences -> Interface -> Theme -> Select Theme -> System

Newer versions use GTK3, but look fine when using the System theme as mentioned above. You can find old versions using GTK2 which work just fine here (archived). They are Appimages which bundle Python2 and thus allow you to run the older GIMP versions without having Python2 installed on your system.

This is what modern GIMP looks like:



Compared to old GTK2 GIMP:



As you can see, the older GIMP clearly uses GTK2 which makes it look a bit nicer. GTK3 GIMP looks decent as well though, so it is a matter of preference.

Avidemux

Modern versions of Avidemux (after 2.5.6) use Qt as their interface. I wanted to test out the GTK2 version (2.5.6), so I tried to compile it and ran into a heap of errors. I have made some modifications to the code to make it run once more.

Kino editor

LiVES

Cinelerra

GNOME drawing

A good painting program that is the most similar to MS Paint that I could find.

Inkscape

The most advanced GTK2 painting software, has all the features you would ever need (unless you are maybe a professional digital artist)

88x31 Button Maker

I made a simple 88x31 button generator that works using ImageMagick. It is written in Python, though I may attempt a C rewrite at some point because Python kinda sucks.

You can download this program from the git. Just go to commit -> download. Proper easy to download releases will be available soon.

Here's a button I made with it to showcase its features:

And the JSON which you can import into the program to edit it here:

88x31-maker.json

I have also made these cool buttons using it:



Office software - Notes, Writing, Presentations...

LibreOffice GTK

I didn't think that LibreOffice had a GTK3 compatible version, so it was a surprise to me after I spent ages trying to find alternative software. It looks pretty good on my theme (with some very minor placement issues), and obviously contains the full LibreOffice suite which is amazing. What can I say, it is nicer than Microsoft Office and has a ton of customisability. The only good office suite for Linux.

Update 04-04-26

I was looking for the last GTK2 LibreOffice version and it turned out to be roughly around version 6.0.7.3. It wasn't super difficult to install for Debian, but there were a few things to watch out for. To install it:

First, remove existing LibreOffice:

sudo apt remove --purge libreoffice*
sudo apt autoremove

Then, get the LibreOffice files and extract them:

cd ~/Downloads
wget https://downloadarchive.documentfoundation.org/libreoffice/old/6.0.7.3/deb/x86_64/LibreOffice_6.0.7.3_Linux_x86-64_deb.tar.gz
tar -xvf LibreOffice_6.0.7.3_Linux_x86-64_deb.tar.gz
cd LibreOffice_6.0.7.3_Linux_x86-64_deb/DEBS/

Then, install LibreOffice and the GTK integration:

sudo dpkg -i --force-all *.deb
sudo dpkg -i libreoffice6.0-debian-menus_6.0.7-3_all.deb

Then, make sure it uses GTK:

sudo nano /etc/environment

Scroll to the bottom of the file and add:

SAL_USE_VCLPLUGIN=gtk

Launch the application, and go to Help -> About LibreOffice and confirm it says "VCL: gtk2"

I don't think this is worth it to the average person considering that GTK3 LibreOffice looks good, has more features, and is a lot easier to install. The GTK2 version may be a bit faster though, I've noticed.

Gnumeric

Requires an actual review but at first glance, it looks pretty good as a spreadsheet editor.

AbiWord

A standalone word processor. I wouldn't recommend using it because it is pretty sluggish and doesn't work well (has a lot of bugs).

GNUcash

Zim Desktop Wiki

By default uses the cancerous Client Side Decorations, but these can be disabled in settings.

RedNotebook - Journal/Diary

Cool lightweight journalling application. Has a word cloud feature which I appreciate and just overall has the basic features that you would expect. No complaints from me, but I do not use it as paper journaling is superior.

Markdown viewer and editor

I created a GTK2 markdown viewer and editor in case anyone needs one. I just cannot be bothered to install one of the 100+mb in size programs.

Download will be available soon!

Atril PDF

The best PDF viewer for linux in my testing. The only one to support GTK2, but only in older versions it seems. It is maintained by the MATE developers and comes as standard with that desktop environment.

Veracrypt

PeaZip

xarchiver

Engrampa Archive Manager

Stardict

Calendars

Lightning calendar for UXP applications (Epyrus, SeaLion, BrassMonkey, etc)

In my opinion the best calendar for GTK2/linux. It isn't even proper GTK2 since it is just a plugin for UXP applications, yet it still manages to beat the rest of the options. It's a shame it isnt available as standalone anymore (see mozilla sunbird). Maybe, I should make a GTK2 calendar? (possibly based on lightning???)

Doesn't support my CalDAV calendar on Epyrus for some reason (haven't tested other applications). Apparently it supports it better when selfhosted - mine is NextCloud on my webhosting server.

Orage calendar

I guess it works, so I'll put it here. It barely just works enough for it to be considered a calendar. Looks viable to be forked though, which I will likely do at some point.

Evolution calendar (GNOME)

Very bad email/calendar/memo/contacts/tasks client. It is bloated (install size 85mb). Pretty bad design and by default uses the ugly GTK3 client side decorations. I have no idea how I disabled them but oh well, I guess you'll have to figure it out if you want to use this trash software!

IDEs

Geany IDE

The best IDE, what can I say. Supports all relevant features and has a lot of cool plugins, such as a Markdown viewer plugin, making it the best proper Markdown viewer on linux.

The last Geany version to support GTK2 was 1.37.1, and is still easily compiled on modern linux systems.

To make 1.37.1 use GTK2, download the source from the Geany website, and run:

./configure --enable-gtk2
make
sudo make install

Bluefish IDE

The real old-skool IDE.

Bluefish is more suited to web development opposed to Geany. It also has a plugins system which works well. Overall very good IDE.

Lazarus IDE

File managers

SpaceFM file manager

SpaceFM is a really cool file manager as mentioned

Thunar file manager

PCManFM file manager

emelfm2 file manager

Be warned, the homepage is full of gambling links

GNOME Commander

Double Commander

Terminals

XFCE Terminal, MATE Terminal, LXTerminal

These are all pretty similar. I'd say in order of features: XFCE, MATE, LXTerminal.

Terminator terminal

Terminal with split view and grouping

Lilyterm

Not tested

DJ Software

terminatorX

MIXXX (Not GTK)

General purpose

Parcellite clipboard manager

Clipman clipboard manager

Tartube

If you want to save YouTube videos for the future, in case they get taken down or your internet stops working, you should use Tartube. It has many features (almost too many, it can get complicated to use if you are an advanced user), and enables you to make a database of your videos:

You can also use it as a YT-DLP GUI as seen here in its "Classic Mode" tab.

XFCE 4.12 applications - mousepad, thunar, etc

You can setup XFCE 4.12 which includes GTK2 applications such as Mousepad, Thunar, and other system utilities. I will make a guide on how to do so with (maybe) an install script.

MATE applications - Pluma, Caja, etc

MATE also comes with GTK2 applications, similarly to XFCE.

GParted partition & disks manager

Gpick color picker

Gpick is a good color picker which uses GTK2. It is much more featureful compared to gcolor2, which is basically just the standard GTK2 color selection/picker dialog made into a program.



It even contains this very useful website color scheme tester and can export your colors to a CSS file! I'm joking, it is useless to me but I guess it's nice to have, maybe for seeing how different colors work with each other. I definately recommend this overall compared to gcolor2.

gcolor2 color picker

As mentioned before, gcolor2 is basically an the standard GTK2 color selection/picker dialog made into a program, with a few more features.

Looks like it was last updated around 2005. Same goes for the standard gcolor, which is even older and pre-GTK2 iirc.

GTKMan manual page reader

GTKMan is a simple manual page reader built on GTK2. What more could you want!

Hardinfo - old versions

meld - old versions (version control and file comparison)

I installed a modern GTK3 client side decoration version, but will soon update this with the old version. If you want to see what client side decorations look like (trash), look here:

zenmap 7.9.2 (nmap security scanner GUI)

xsane (scanner application)

gbdfed (GUI editor for the .bdf bitmap font format)

Bless Hex editor

Redshift-GTK

Redshift-GTK isn't really a full GTK2 program because it's just a script + tray-icon. However, it has been a lifesaver when it comes to my eyes because previously, even the minimum brightness setting on my laptop strained my eyes, but because of Redshift making the colour temperature a lot warmer, the screen is so much nicer to look at.

This is my configuration, which is located at "/home/YOUR-USERNAME/.config/redshift.conf"

[redshift]
temp-day=6500
temp-night=3000

transition=1

gamma=1.0

location-provider=manual

adjustment-method=randr

[manual]
lat= "YOUR LATITUDE"
lon= "YOUR LONGITUDE"

Guvcview webcam software

Decent software for using/testing your webcam, but imho not as well designed as Cheese, because it feels a bit clunky to use. Definately more feature rich, so a good candidate for a fork which improves ease of use.

Cheese camera

More user friendly than Guvcview in my opinion, too bad it forces the dumb GTK3 window decoration. I will probably make a fork to get rid of it.

Catfish file search GUI

Tray plugins/programs

XFCE4 "Time Out plugin" fork

Because Time Out is a tray plugin, it isn't really a "program". But it is still useful and I am pretty happy with my progress on it so far.

The developers of the original Time Out plugin said this about it:

[The] Xfce4-time-out-plugin makes it possible to take periodical breaks from the computer at user-configurable intervals. During breaks it locks your screen for a period specified by the user. It optionally allows you to postpone breaks for a certain time.

It is supposed to be a way for people to take breaks from their screen:

The core goal of this plugin is to automate the healthy habit of taking regular breaks from computer use. Instead of relying on manual timers or memory, the plugin handles the schedule for you, ensuring you step away from the screen at the right intervals.

I thought that it would be a good idea to convert it into more of a work/study timer, whilst still maintaining the previous functionality.

Changes I have made so far include:

Download will be available soon!

NetworkManager Applet fork

This is just a small fork I made of the NetworkManager Applet which gives it libayatana-appindicator support.

Adding libayatana-appindicator support basically means that on some themes, the tray-icon will fit in better, e.g. on the DarkCold GTK2 theme that I use.

Download will be available soon!

Not GTK2 but still useful


qBittorrent

The only torrent client with a built in search engine. Also works very well, but is more bloated than Transmission. Only better if you want a search engine built in. Otherwise just use Transmission, and if you want to search for a torrent just use Knaben.org (archived).

XFE file manager

Dillo web browser

Final thoughts


LibAyatana-AppIndicator shortcomings

Whilst working on the Audacious tray-icon fix for LibAyatana-AppIndicator, I noticed that it has a pretty serious lack of features:

This limits the amount of applications it should be applied to. For example, Audacious would not suit it well, though you could provide some workarounds to the problem, as mentioned above (qBittorrent example). For a simple panel plugin like Time Out, it is well suited. I am not sure why my theme (DarkCold/DarkBlood) requires it for proper taskbar theming. I guess it just looks better with the black borders.


Feel free to share ideas by contacting me.

Back to the front page