# To do - [ ] Move to a later C standard (C11?) and use safer string handling functions provided by it. - The thing is, I kinda feel attached to C89-C99 - [ ] Consider - See make lint for purported insecurities - [ ] Document creating new applications, e.g., as in [Asana for Linux](https://git.nunosempere.com/NunoSempere/asana-for-linux) - [ ] This time, use something other than Whatsapp as an example syslink. - [ ] Fix bug about distorted audio. Maybe related to [this pipewire issue]()? - See whether it even exists at all - [ ] Finish cleaning up GTK4 version - [ ] Think about best way of having GTK4 version alongside - [ ] Shortcut to resize window # Previously done - [x] Check that this compiles with the c99 standard - [x] Add minimalist version of rosenrot to its own branch - [x] Fix PageUp/PageDown shortcuts. - ~~[ ] Set [`webkit_web_context_set_sandbox_enabled`](), as recommended [here]()~~. Irrelevant with upgrade to libsoup3. - [x] Update to webkit2gtk-4.1 - [x] Change README and point to last Ubuntu 20.04 commit - [x] Add list of similar projects: - [x] Add comparisons against rose & surf - [x] Compare against rose - [x] Compare against surf - [x] ~~Doesn't work with when Spanish is selected as the language, for some reason~~ => Previously misdiagnosed. The real issue was that it freezes when interacting with [Espanso](https://espanso.org/) substitutions, which I had set-up automatically on my machine when using words containing an ñ, like my own name, Nuño. - [x] Add css for js alerts - [x] Add custom alert whose css can be customized - [ ] ~~Debug problems, e.g., this version is non-blocking.~~ => will leave as is - [x] Figure out better way to have plugins => stand_in code seems superfluous - [x] Double check newtab/next-tab behavior => custom style now loading correctly. - [x] Add a shortcut for hiding the search tab. => Already exists: Ctrl+K - [x] Find out what each of the css elements refers to. => done, see make inspect - [x] Figure out if downloading files is doable. => it is - [x] Look at using relative rather than absolute paths for configuration. => now makefile is a bit smarter - [x] Streamline installation a bit - [x] Substitute paths in makefile - [x] Create cache directory automatically - [x] Add an installation video walkthrough. Done, [here](https://video.nunosempere.com/w/t3oAvJLPHTSAMViQ6zbwTV) - [x] Document `stand_in.c` better - [x] Use a makefile. - [x] Add clean, uninstall to makefile - [x] Mask user agent - [x] Launch with more than one tab from command line - [x] Figure out merge with upstream - [x] String substitution on uri in order to redirect to better frontends. - [x] Present "standard" browser keybindings as an alternative. - [x] Fix zoom in new tab - [x] Reader mode - [x] Add reader mode to config.def. - [x] Make tab bar slightly prettier. - [x] 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: [1](), [2](), [3](), [4]() - [x] Upgrade to GTK-4 / Webkitgtk 6.0? Will take a fair amount of time, since GTK4 redesigns the application model somewhat. - Instructions for webkit-6.0 [here](https://github.com/WebKit/WebKit/blob/ed1422596dce5ff012e64a38faf402ac1674fc7e/Source/WebKit/gtk/migrating-to-webkitgtk-6.0.md) - Instructions for GTK-4 [here](https://docs.gtk.org/gtk4/migrating-3to4.html) - [x] Prepare for GTK-3 to GTK-4 transition - [x] Understand wtf is going on with signals and events: . - [x] Stop using direct access to GdkEvent structs - [ ] ~~Remove webkit2gtk-4.1 and download webkit2gtk-6.0~~ => Actually just use both - [x] Attempt to compile - Notes for others: - Searching github - Creating a minimal version, e.g., having only one signal going on - Looking at how https://github.com/mini-rose/rose-browser/ does things - Printf statements - GTK ressources: https://docs.gtk.org/gtk4, https://docs.gtk.org/gobject/, https://docs.gtk.org/gdk4/