My Daily Apps

Table of contents

This list does not mean to say that the foo app is better than the baz app, every app has its audience. Other than that, I keep this list to know what app I have to consider myself to donate.

If you spot the pattern, it all started with the GUI app then I replaced them with a terminal app or Emacs extensions. I did this to make faster operation using a keyboard, fewer dependencies, and easier to re-install in another machine. Since they only rely on dotfiles configs which I fully understand and track.

Music Player

audacious (3 years) ⇨ cmus (1 year) ⇨ MPV

I like the tabbed playlist UI from audacious, and I think this is the only music player in GNU/Linux that has a tabbed-playlist. Then I move to cmus, and now mpv.

I invoke mpv within Dired Emacs, so I can choose to play one song repeatedly, or whole songs in a particular directory or a playlist defined in plain text.

Audio Editing


This is enough for my needs.


LibreCalc (1 year) ⇨ hledger (2 years) ⇨ GnuCash (1 year) ⇨ Firefly III

hledger integrated well with emacs. Sadly, I do most transactions while holding my mobile phone, not my laptop. So it is easier for me to add transactions to GNUCash Android immediately, then sync it with GNUCash on my laptop.

I use GnuCash for a year on and off, unfortunately, It’s very hard to recall what I bought (where was my money) after some days. It’s very hard to make a daily entry. I switch to GnuCash for android.

It works well for me. I can make an entry directly after purchase. Besides being unmaintained and buggy, I have no other choice. I keep using it for a year. Until I have so many debits/withdraw. I keep asking:

  • How much of my salary goes to the foo account?
  • How many percent this foo account takes my money this month?
  • tl;dr: GnuCash is limited in its report. It looks like just an add-on for me. I need a more detailed and interactive report.

Firefly III also releasing many features (while keeping its principle) often. So I thought it will be easy if I need a more complex report.

I self-host my Firefly, so it's accessible anywhere using any device I owned

Chat Clients

Quassel (2 years) ⇨ Hexchat (1 year) ⇨ Irssi (1 year) ⇨ ERC (3 years)

Lately, I use SourceHut extensively. Most communication is done through IRC. I need always on IRC. So I self-host thelounge.

Data Backup & Recovery

DejaDup (past 1 year) ⇨ Borgbackup

I love how BorgBackup handle diffs, compression, pruning old archive, and mounting backup archive when I deleted a certain file by accident. I run a daily backup using a script that is executed automatically using anacron.

Desktop customization

Theme: Arc Theme
Cursor: La Capitaine Icon Theme
Icons: Papirus Icon Theme


IDE: Geany / Kate ⇨ Emacs
Notes: Kjot ⇨ Emacs

I start using Geany and Kate as my first text editor for software development, and Kjot for taking notes. I love KJots for its ability to put a timestamp in the notes. But I need a lot of custom action for taking notes and managing them. Then I look into Emacs, a truly customizable editor.

I learn to use it back in 2016. It's truly customizable that I have a lot of custom functions for all my daily activities. I use it for nearly everything -- coding, notes, todo, playing musing, checking Github notifications, Pomodoro, etc -- now.


Mutt ⇨ Mu4e

I self-host my Email using mail-in-a-box and use mu4e to access it.

File Manager

Nemo (2 years) ⇨ Dolphin (2 years) ⇨ Midnight Commander (1 year)
Dired Emacs and Thunar

I use Dired Emacs all the time and Thunar occasionally. I've many customs functions for Dired such as opening new tmux pane, play music in mpv, etc.

Graphics Creation

Vector: Inkscape
Raster: GIMP

Image Viewer

Gwenview (1 year) ⇨ feh ⇨ xsiv (5 years) ⇨ nomacs

feh does not support displaying GIF, so I move to xsiv. xsiv is very limited, I even can't zoom and move around the zoomed image using the cursor easily. So I moved to nomacs.

Screen Recorder



KScrenshot (1 year) ⇨ scrot ⇨ maim ⇨ flameshot

I used to take all the screenshots using main and my custom script. I use GIMP to annotate image -- put text or arrow --, turns out using flameshot is 5x faster to annotate images. Love it.


Silentcast (2 years) ⇨ Peek

I move to Silientcast because previously Peek is so horrible. Producing a short GIF with a huge Gigabyte size even for short recording. After two years I move back to Peek since it's easier for me to start and stop, and the previous bug was fixed.

Video editor


KDEnlive pulls a huge amount of KDE dependencies which I dislike, because I don't use KDE. But this is the only good libre-software video editor that I find in the wild. I've tried others but they lack functionalities and hung for long times on many occasions.

I've tried using X, the UI is simple, with no KDE dependencies. But I need 2-3 hours more just to wait for it hanging.



Love its mission.


LibreOffice, Org-mode, LaTeX

I use LibreOffice to view documents given by others or to collaborate with them. For my documents, I use org-mode for light documents and LaTeX for complex documents.

PDF Tools


I have tried other libre-licensed PDF tools. Okular is still the winner.


keepassX ⇨ Emacs Org with GnuPG and pass


Konsole (2 years) ⇨ Uxrvt ⇨ St

I just need a super simple terminal, since it's only become a host for my tmux.


Gramps genealogy software


I use Syncthing to sync ebooks and org files from my mobile phone to my laptop.


I use this to sync configs, code, files across my machine.

Dukto ⇨ Nitroshare

I use Nitroshare when someone asks for big files from my machine, I use it with a crossover LAN cable. Dukto was slow to detect a pair, so I moved to Nitroshare.


Octopress ⇨ Pelican ⇨ Eleventy

Octopress is huge and I don't even know what a certain file for. Then move to Pelican. I want to have an app that I can fully understand and control. There are many static generator apps out there. I choose Pelican mainly because I work mostly with Python.

I need a complex and unique structure for my current blog. Only Eleventy can do it.



Window Manager

WM: i3-gaps
Bar: Py3status ⇨ i3status-rust

There was a window manager that was built with lisp so that it's very extensible from the ground up. But I choose to stay with i3wm since I don't want to invest more time to learn new WM and port my configs. For now, i3wm is enough for me.

I use my tools in i3status-rust. Mainly zman to display year progress, bilal to display salah schedule.