Blog

Using Suckless Surf For a Month - May 06 2025

Introduction

I attempted to use the Suckless Surf web browser for one month and here is my blog post on using it. While it was fun, I can see why most people who use Suckless software skip over this and use something like hardened Firefox instead.

Setup

There were only a few patches I used for my setup with a few custom ones which solved a few problems I will mention later.

Custom made Patches

Unmentioned Dependencies

There are some extra dependencies I needed to download to get everything working that were not mentioned on the Suckless site. These are for Arch, so you will have to look for them on your own if you are on a different distro.

Extra Setup

I used a user script to disable adds on YT (script link here) as well as a system-wide adblocker with zerohosts. I also got suckless Tabbed, but I only changed the mod key to ALT to stop conflicts with the shortcuts in Surf and Tabbed.

The Timeline

I started with only the patches from the Suckless site and none of the unmentioned extra dependencies. All the big sites crashed the whole browser meaning I couldn't use any heavy sites. This issue meant that Canvas would occasionally crash, so I quickly found out what I needed to install from a forum post. I only downloaded the gst-plugins-good initially, so I still couldn't get YouTube to work which was a good thing as it helped break the doom-scrolling habit I gained over college. I eventually came across my big first hurdle, PDF previews. On vanilla Surf if you have a PDF preview on the site, or it links to one externally then Surf will open a new blank window instead of rendering the PDF. It took a while, but I fixed it by modifying some code inside Surf that would eventually become my custom URI fix. This sucked because I was doing a research paper that required me to open a ton of PDF files, and it wasn't fun making the fix on the fly. On the topic of the URI fix, zoom links weren't working as well along with Unity's login screen or any Steam link. I don't have Unity anymore, garbage game engine in my opinion, but I need it for class with Zoom. There was a Zoom fix on the Suckless site, but I needed other URL schemes to work as well, so I made one that let you define what URI schemes would be passed to xdg-open. Other than that I made some custom fixes like the right-click menu's new window button spawned 2 new windows that were tied to each other and crashed the browser when one was closed. Another bug I found was the cookies file would just delete itself from time to time, I couldn't figure this one out, but it was really annoying.

Browsing the Web

Some sites were inaccessible as getting past a captcha was either very difficult or impossible. Some of the heavier sites still lagged a good amount on my main computer whereas other web browsers wouldn't. Surf also rendered the page more zoomed out than other web-browser as well which hindered my experience in sites with small text. Moving around websites with the keyboard worked great and sped up my browsing, but most of the modern web relies on the mouse, so I ended up using the mouse more to move around by the end of the month. Dmenu is used for typing in URL's and was fine but if you had to type a similar website to the one you are on then Dmenu will replace the thing you were trying to go to with the URL you're already on. I think most of the issues I had came from the web2gtk engine that Surf used. I don't think it's powerful enough to work on the bloated modern web. By the end of the month, I switch back to Firefox as Surf didn't suck me in like DWM did as it just felt like a worse version of Firefox.