| 
				 | 
			||
|---|---|---|
| plugins | ||
| screenshots | ||
| user-scripts | ||
| .clang-format | ||
| .gitignore | ||
| build.sh | ||
| compile_flags.txt | ||
| config.def.h | ||
| config.h | ||
| install.sh | ||
| license | ||
| README.md | ||
| rose-mklink | ||
| rose.c | ||
| style.css | ||
Rosenrot
A small browser forked from rose.
- Rose is a minimal browser based on webkit2gtk which aims to be a "basement for creating your own browser using [the] gtk and webkit libraries".
 - Rosenrot is my fork from rose. It has accumulated cruft that I like, like a "readability" plugin that simplifies annoying websites like Matt Levine's Money Stuff newsletter.
 - Rosenrot is also a song by the German hardcore rock band Rammstein.
 
You can see some screenshots in the screenshots folder.
Features
- tabs, cookies, caching
 - minimal ui, autohiding elements
 - ~467L core code (the rose.c file), plus plugins
 - custom gtk and websites css
 - builtin rose-mklink script for in-shell static links
 - A few quality of life improvements.
 
👐 Contribute
- Contribute upstream to github.com/mini-rose/rose for core functionality changes.
 - Contribute here by sending a pull request on Github.
 
To do
- Look at using relative rather than absolute paths
 - Figure out if downloading files is doable.
 - Figure out better way to have plugins
 - Double check newtab/next-tab behavior
- Document stand_in.c better
 
 - Find out what each of the css elements refers to.
 - Use something other than Whatsapp as an example syslink.
 - Set 
webkit_web_context_set_sandbox_enabled(https://webkitgtk.org/reference/webkit2gtk/2.36.8/WebKitWebContext.html#webkit-web-context-set-sandbox-enabled), as recommended here: https://blogs.gnome.org/mcatanzaro/2022/11/04/stop-using-qtwebkit/. - Fix bug about distorted audio. Maybe related to https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1547
 - Mask user agent
 
Done:
- Launch with more than one tab from command line
 - Figure out merge with upstream
 - String substitution on uri in order to redirect to better frontends.
 - Present "standard" browser keybindings as an alternative.
 - Fix zoom in new tab
 - Reader mode
 - Add reader mode to config.def.
 - Make tab bar slightly prettier.
 - Add "open in new window" functionality.
- Useful for opening links in new tab when clicking on them and selecting that option
 - And for actually opening links with the href new_tab option.
 - Links: https://docs.gtk.org/gobject/func.signal_connect.html, https://webkitgtk.org/reference/webkit2gtk/2.37.90/signal.AutomationSession.create-web-view.html, https://webkitgtk.org/reference/webkit2gtk/2.26.0/WebKitWebView.html#WebKitWebView-create https://stackoverflow.com/questions/40180757/webkit2gtk-get-new-window-link
 
 
Known bugs
- Doesn't work with when Spanish is selected as the language, for some reason.