1
0
Fork
You've already forked sunstone
0
The Sunstone web browser
  • Vala 86.6%
  • CSS 4%
  • C 3.4%
  • HTML 2.7%
  • Meson 2.5%
  • Other 0.8%
2026年06月14日 21:54:34 -04:00
data Add page navigation to history; Use correct scheme for host field in 2026年04月11日 00:25:49 -04:00
po Renamed from swb to sunstone 2026年02月22日 18:37:49 -05:00
src Sidebar bookmarks fixes 2026年06月14日 21:54:34 -04:00
.gitignore Vertical tabs mostly working 2026年03月17日 03:19:26 -04:00
compile_flags.txt Fix bugs and deficiencies in bookmark search; Begin using resources as 2026年03月11日 17:13:03 -04:00
LICENSE.md Add license and readme 2026年02月05日 11:17:21 -05:00
meson.build Fix bugs and deficiencies in bookmark search; Begin using resources as 2026年03月11日 17:13:03 -04:00
org.codeberg.jeang3nie.sunstone.json Fix first-run issues and flatpak build 2026年04月06日 23:30:32 -04:00
README.md Add menu item and shortcut for opening web inspector; Add missing 2026年04月01日 16:16:01 -04:00

Sunstone Web Browser

Contents

Introduction

Sunstone Web Browser is an attempt to create a simple and easy to use web browser from freely available components like Gtk+ and WebKit. While there are no doubt many choices available in this space, the overall dominance of Blink based browsers coupled with the troubling state of Mozilla has many Free Software enthusiasts worried about the future of the web. Sunstone aims to be easy to use while providing features that can streamline workflows such as a tag-based bookmarking system, short aliases for web search engines and bookmarks and the ability to hide most or all of the interface. That particular quality makes Sunstone better suited for smaller, low-resolution laptop screens than many other options.

Overal Philosofy

  • Simplicity is great, but can be taken too far if it makes a tool more difficult or annoying to use.
  • All users deserve good tools. That includes new users, but it also includes "power users" or those with decades of computing experience. Catering to the latter is often denigrated as elitism, but they are just another type of user and deserving of consideration.
  • Low-spec hardware is commonly used in the real world. Developers must consider how a program looks and performs on a Black Friday laptop with a 720p screen at least as much as they consider "proper" machines.
  • Perfect is the enemy of the good. Release often, accept that bugs exist in all software. Choose a language and tooling that are good enough while allowing you to be productive.

Building

Prerequisites

  • Tooling
    • The Vala compiler, valac
    • meson
    • ninja
    • a c23 compatible C compiler
  • Libraries and headers
    • libgee-0.8
    • gtk+ version 4
    • webkitgtk-6.0
    • libadwaita
    • sqlite
    • json-glib
# Setup the build directory
meson setup build
# Build the program
ninja -C build

Usage

Keyboard Shortcuts

For the moment, keyboard shortcuts are not configurable. In the future they will be.

Action Shortcut
app.quit <Ctrl>q
win.new_tab <Ctrl>t
win.close_tab <Ctrl>w
win.open_file <Ctrl>o
win.save_page <Ctrl>s
win.save_as <Ctrl><Shift>s
win.bookmark_page <Ctrl>d
win.open_bookmarks <Ctrl><Shift>d
win.reload <Ctrl>r
win.go_back <Alt>Left
win.go_forward <Alt>Right
win.previous_tab <Ctrl>Left
win.next_tab <Ctrl>Right
win.bookmark_page <Ctrl>d
win.toggle_sidebar <Ctrl><Shift>z
win.toggle_tabBar <Ctrl><Shift>t
win.focus_addrBar <Ctrl>g
win.toggle_cmdBar <Ctrl><Shift>g
win.open_overview <Ctrl><Shift>o
win.zoom_in <Ctrl>plus
win.zoom_out <Ctrl>minus
win.zoom_reset <Ctrl>0
win.open_inspector <Ctrl><Shift>i

Contributing

By submitting pull requests you agree to license your contributions as GPLv3. Also note that there is a strict policy against LLM generated or assisted contributions.

Coding style

  • four space indent, no tabs
  • class names are CamelCase, variable and function names are snake_case
  • break lines if they are much over 80 characters
  • prefer clarity over conciseness
  • comment your code if something isn't really obvious

Code of Conduct

  • We (the project creators) are committed to providing a friendly, safe and welcoming environment for all, regardless of level of experience, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, nationality, or other similar characteristic.
  • Please avoid using overtly sexual aliases or other nicknames that might detract from a friendly, safe and welcoming environment for all.
  • Please be kind and courteous. There’s no need to be mean or rude.
  • We will exclude you from interaction if you insult, demean or harass anyone participating in the project, whether that harrassment is public or private.
  • Likewise any spamming, trolling, flaming, baiting or other attention-stealing behavior is not welcome.
  • Likewise, public behavior that insults, demeans, belittles or shames others not directly associated with the project may get you banned. We have no desire to associate with known fascists, racists, or bigots even if you keep those sentiments to yourself in the context of the project.

Roadmap

Short Term Goals

  • Working proof of concept web browser
  • Integrate bookmark and search engine aliases into url resolving from the address bar
  • Make the interface mostly usable mouse-free, providing keyboard shortcuts to show/hide interface tools such as address and tab bars

Medium Term Goals

  • Provide a multi-function panel with tabs for history, settings, bookmarks, etc.

Long Term Goals

  • Explore using Servo as an alternate redering engine