|Original author(s)||Christoph Lohmann|
|Developer(s)||Christoph Lohmann, Enno Boland, Troels Henriksen, et al.|
|Initial release||10 September 2009|
2.1 / 8 May 2021
|Type||Minimalist web browser|
surf is a minimalist web browser developed by suckless.org. The user interface of this browser does not include any graphical control elements; it is controlled via keyboard shortcuts or external tools, which may manipulate its behavior by setting its window's properties.
surf is intentionally limited in its set of features. The only graphical elements the browser has are the page view itself and, optionally, the scrollbars. The main functionality of the browser is implemented in third-party WebKitGTK library, and the rest of the program only provides a window and a set of XProperties to control its behavior. While surf supports cookies, it does not include some other common features of web browsers such as tabbed browsing, bookmarks or ad filtering, though all can be implemented with patches, scripts or external programs, with instructions available in surf's homepage. Instead of an address bar, the
_SURF_URI XProperty has to be set to user-requested uniform resource locator (URL) for the browser to follow it. By default, surf's configuration includes a keyboard shortcut for calling the dmenu program to prompt the user for a URL.
Most configuration of surf is performed by editing its configuration header file in its source code, and then (re)compiling it. Some settings can be changed without recompiling, via command line arguments or hotkeys.