surf is a simple Web browser based on WebKit/GTK+.
Surf now supports native Wayland rendering in addition to X11. This provides better integration with Wayland compositors and improved security.
To build surf with Wayland support:
To build with X11 support:
If you're running in a Wayland environment, surf will automatically detect and use the Wayland backend if compiled with Wayland support.
- Window Identification: Uses instance IDs instead of X11 window IDs
- External Tools: Communicates via D-Bus instead of X11 properties
- Embedding: XEmbed is not supported on Wayland (see tabbing alternatives)
- Automation: Use surf-dbus.sh instead of xprop-based scripts
- D-Bus interface for external tool integration
- Process-based tabbing alternative
- Improved security through Wayland isolation
- Better integration with modern desktop environments
In order to build surf you need GTK+ and Webkit/GTK+ header files. For Wayland support, you also need wayland-client, wayland-cursor, and dbus-1 development packages.
In order to use the functionality of the url-bar, also install dmenu[0].
Edit config.mk to match your local setup (surf is installed into the /usr/local namespace by default).
Afterwards enter the following command to build and install surf (if necessary as root):
run surf [URI]
See the manpage for further options.
For running surf in tabbed[1] there is a script included in the distribution, which is run like this:
Further invocations of the script will run surf with the specified URI in this instance of tabbed.
For Wayland, you can use the process-based tabbing alternative:
For Wayland environments, use the D-Bus interface:
See MIGRATION.md for detailed migration instructions from X11 to Wayland.
[0] http://tools.suckless.org/dmenu [1] http://tools.suckless.org/tabbed
.png)

