diff options
author | Aqua-sama <aqua@iserlohn-fortress.net> | 2017-08-18 09:28:21 +0200 |
---|---|---|
committer | Aqua-sama <aqua@iserlohn-fortress.net> | 2017-08-18 09:28:21 +0200 |
commit | 5019340c4e319f48122a4d7a14a310f8092e8ed7 (patch) | |
tree | f9b94f47d955e3aed6fd243b37b2fa79b7fbcf39 /docs | |
parent | Changed the filter format (diff) | |
download | smolbote-5019340c4e319f48122a4d7a14a310f8092e8ed7.tar.xz |
Updated documentation
Diffstat (limited to 'docs')
-rw-r--r-- | docs/DESIGN.md | 79 | ||||
-rw-r--r-- | docs/manual.md | 19 |
2 files changed, 79 insertions, 19 deletions
diff --git a/docs/DESIGN.md b/docs/DESIGN.md new file mode 100644 index 0000000..8e88200 --- /dev/null +++ b/docs/DESIGN.md @@ -0,0 +1,79 @@ +# smolbote Design Document + +### Version 1.0 +* Profiles + - Application-level profile manager + - System-level and user-level profile config, with per-profile overrides [todo] +* Configuration + - Default system-level config and user-level overrides [todo] +* Cookies + - Filter list similar to the URL filter list [todo] +* Tabs + - Moving tabs between windows [todo] + - Tab context menu [todo] +* Page actions + - Search [todo] + - Zoom [todo] + - Print [todo] +* Navigation toolbar + - Back and Forward history [todo] + +## Overall design of smolbote + +The aim of smolbote is to be a lightweight and fast, to the point web browser. + +### How smolbote works [TODO] + +0. Launch +1. Check for other instance, unless otherwise specified + - If other instance is found, pass the parameters to it and quit + - Else, create a new instance +2. Create application object + - Read configuration + _ Create profiles +3. Pass parameters to application object + - Create main window if there isn't one + - open URLs + +### main() and smolmain() [TODO] + +The main() function should contain all code to start up, check for another +running instance, and if necessary pass the parameters to the other instance. + +The smolmain() function should contain code to create a new instance based on +the parameters passed. + +IPC should be done with QLocalSocket. + +### Dockable windows + +### Folder structure + +- data/ - Any resource files (defaults, icons, etc) +- docs/ - Where all the documentation lives +- src/ - Source code +- test/ - Testing grounds +- tools/ - Hooks, qbs helpers, updater + +### Libraries used +All 3rd-party libraries should be placed in src/3rd-party/library-name, together +with their corresponding license file. The license file should start with the +library name and repository location. + +- tinytoml + +## Components + +### Bookmarks [TODO] + +- [TODO] Bookmark location should be read from profile, with a default in the config +- [TODO] Split off xbel implementation into a library +- [TODO] BookmarksLibrary API + +### History + +History is managed by QtWebEngine. + +### Cookies + +Cookies are managed by QtWebEngine. diff --git a/docs/manual.md b/docs/manual.md index 971ba94..2c827fd 100644 --- a/docs/manual.md +++ b/docs/manual.md @@ -10,22 +10,3 @@ --new-instance | Skip instance check on startup | --in-new-window | Open URL in a new window | --in-new-tab | Open URL in a new tab | - - -### Version 1.0 -* Profiles - - Application-level profile manager - - System-level and user-level profile config, with per-profile overrides [todo] -* Configuration - - Default system-level config and user-level overrides [todo] -* Cookies - - Filter list similar to the URL filter list [todo] -* Tabs - - Moving tabs between windows [todo] - - Tab context menu [todo] -* Page actions - - Search [todo] - - Zoom [todo] - - Print [todo] -* Navigation toolbar - - Back and Forward history [todo] |