surf is a
minimalist web browser
A web browser, often shortened to browser, is an application for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's scr ...
developed by
suckless.org. The
user interface
In the industrial design field of human–computer interaction, a user interface (UI) is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine fro ...
does not include any
graphical control element
A graphical widget (also graphical control element or control) in a graphical user interface is an element of interaction, such as a button or a scroll bar. Controls are software components that a computer user interacts with through direct m ...
s; it is controlled via
keyboard shortcuts
In computing, a keyboard shortcut (also hotkey/hot key or key binding) is a software-based assignment of an action to one or more keys on a computer keyboard. Most Operating system, operating systems and Application software, applications come ...
or external tools, which may manipulate its behavior by setting its
window's properties.
Features
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
WebKit is a browser engine primarily used in Apple's Safari web browser, as well as all web browsers on iOS and iPadOS. WebKit is also used by the PlayStation consoles starting with the PS3, the Tizen mobile operating systems, the Amazon Kindle ...
library, and the rest of the program only provides a window and a set of
XProperties to control its behavior. While surf supports
cookies
A cookie is a sweet biscuit with high sugar and fat content. Cookie dough is softer than that used for other types of biscuit, and they are cooked longer at lower temperatures. The dough typically contains flour, sugar, egg, and some type of ...
, it does not include some other common features of web browsers such as
tabbed browsing
In interface design, a tab is a graphical user interface object that allows multiple documents or Panel (computer software), panels to be contained within a single window (computing), window, using tabs as a navigational widget for switching be ...
,
bookmarks or
ad filtering
Ad blocking (or ad filtering) is a software capability for blocking or altering online advertising in a web browser, an application or a network. This may be done using browser extensions or other methods or browsers with inside blocking.
Hist ...
, though all can be implemented with patches, scripts, or external programs, with instructions available in surf's homepage. Instead of an
address bar
In a web browser, the address bar (also location bar or URL bar) is the element that shows the current URL. The user can type a URL into it to navigate to a chosen website. In most modern browsers, non-URLs are automatically sent to a search eng ...
, the
_SURF_URI
XProperty has to be set to user-requested
uniform resource locator
A uniform resource locator (URL), colloquially known as an address on the World Wide Web, Web, is a reference to a web resource, resource that specifies its location on a computer network and a mechanism for retrieving it. A URL is a specific t ...
(''URL'') for the browser to follow it. By default, surf's configuration includes a
keyboard shortcut
In computing, a keyboard shortcut (also hotkey/hot key or key binding) is a software-based assignment of an action to one or more keys on a computer keyboard. Most Operating system, operating systems and Application software, applications come ...
for calling the
dmenu program to prompt the user for a URL.
Most configuration of surf is performed by editing its configuration
header file
An include directive instructs a text file processor to replace the directive text with the content of a specified file.
The act of including may be logical in nature. The processor may simply process the include file content at the location of ...
in its
source code
In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer.
Since a computer, at base, only ...
, and then (re)
compiling
In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs tha ...
it. Some settings can be changed without recompiling, via
command-line argument
A command-line interface (CLI) is a means of interacting with software via command (computing), commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user ...
s or hotkeys.
See also
*
Uzbl (discontinued)
*
xombrero (discontinued)
*
qutebrowser
References
External links
*
{{web browsers
2010 software
Free software programmed in C
Free web browsers
POSIX web browsers
Software based on WebKit
Web browsers that use GTK
Software using the MIT license