TODO.md (4882B)
1 # To do 2 3 - [ ] Move to a later C standard (C11?) and use safer string handling functions provided by it. 4 - The thing is, I kinda feel attached to C89-C99 5 - [ ] Consider 6 - See make lint for purported insecurities 7 - [ ] Document creating new applications, e.g., as in [Asana for Linux](https://git.nunosempere.com/NunoSempere/asana-for-linux) 8 - [ ] This time, use something other than Whatsapp as an example syslink. 9 - [ ] Fix bug about distorted audio. Maybe related to [this pipewire issue](<https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1547>)? 10 - See whether it even exists at all 11 - [ ] Finish cleaning up GTK4 version 12 - [ ] Think about best way of having GTK4 version alongside 13 - [ ] Shortcut to resize window 14 15 # Previously done 16 17 - [x] Check that this compiles with the c99 standard 18 - [x] Add minimalist version of rosenrot to its own branch 19 - [x] Fix PageUp/PageDown shortcuts. 20 - ~~[ ] 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/>)~~. Irrelevant with upgrade to libsoup3. 21 - [x] Update to webkit2gtk-4.1 22 - [x] Change README and point to last Ubuntu 20.04 commit 23 - [x] Add list of similar projects: <https://github.com/qutebrowser/qutebrowser#similar-projects> 24 - [x] Add comparisons against rose & surf 25 - [x] Compare against rose 26 - [x] Compare against surf 27 - [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. 28 - [x] Add css for js alerts 29 - [x] Add custom alert whose css can be customized 30 - [ ] ~~Debug problems, e.g., this version is non-blocking.~~ => will leave as is 31 - [x] Figure out better way to have plugins => stand_in code seems superfluous 32 - [x] Double check newtab/next-tab behavior => custom style now loading correctly. 33 - [x] Add a shortcut for hiding the search tab. => Already exists: Ctrl+K 34 - [x] Find out what each of the css elements refers to. => done, see make inspect 35 - [x] Figure out if downloading files is doable. => it is 36 - [x] Look at using relative rather than absolute paths for configuration. => now makefile is a bit smarter 37 - [x] Streamline installation a bit 38 - [x] Substitute paths in makefile 39 - [x] Create cache directory automatically 40 - [x] Add an installation video walkthrough. Done, [here](https://video.nunosempere.com/w/t3oAvJLPHTSAMViQ6zbwTV) 41 - [x] Document `stand_in.c` better 42 - [x] Use a makefile. 43 - [x] Add clean, uninstall to makefile 44 - [x] Mask user agent 45 - [x] Launch with more than one tab from command line 46 - [x] Figure out merge with upstream 47 - [x] String substitution on uri in order to redirect to better frontends. 48 - [x] Present "standard" browser keybindings as an alternative. 49 - [x] Fix zoom in new tab 50 - [x] Reader mode 51 - [x] Add reader mode to config.def. 52 - [x] Make tab bar slightly prettier. 53 - [x] Add "open in new window" functionality. 54 - Useful for opening links in new tab when clicking on them and selecting that option 55 - And for actually opening links with the href new_tab option. 56 - Links: [1](<https://docs.gtk.org/gobject/func.signal_connect.html>), [2](<https://webkitgtk.org/reference/webkit2gtk/2.37.90/signal.AutomationSession.create-web-view.html>), [3](<https://webkitgtk.org/reference/webkit2gtk/2.26.0/WebKitWebView.html#WebKitWebView-create>), [4](<https://stackoverflow.com/questions/40180757/webkit2gtk-get-new-window-link>) 57 - [x] Upgrade to GTK-4 / Webkitgtk 6.0? Will take a fair amount of time, since GTK4 redesigns the application model somewhat. 58 - Instructions for webkit-6.0 [here](https://github.com/WebKit/WebKit/blob/ed1422596dce5ff012e64a38faf402ac1674fc7e/Source/WebKit/gtk/migrating-to-webkitgtk-6.0.md) 59 - Instructions for GTK-4 [here](https://docs.gtk.org/gtk4/migrating-3to4.html) 60 - [x] Prepare for GTK-3 to GTK-4 transition 61 - [x] Understand wtf is going on with signals and events: <https://docs.gtk.org/gtk4/migrating-3to4.html#stop-using-gtkwidget-event-signals>. <https://github.com/mini-rose/rose-browser/blob/288bf060d095c4895946669ae50d14193168b69c/src/window.c#L42> 62 - [x] Stop using direct access to GdkEvent structs 63 - [ ] ~~Remove webkit2gtk-4.1 and download webkit2gtk-6.0~~ => Actually just use both 64 - [x] Attempt to compile 65 - Notes for others: 66 - Searching github 67 - Creating a minimal version, e.g., having only one signal going on 68 - Looking at how https://github.com/mini-rose/rose-browser/ does things 69 - Printf statements 70 - GTK ressources: https://docs.gtk.org/gtk4, https://docs.gtk.org/gobject/, https://docs.gtk.org/gdk4/