Commits


implement persistent tab history The session file is now overloaded with the history info, that means that upon startup telescope can repopulate each tab history! The price to pay is that one can't start an old telescope with a new session file, otherwise will get a lot of fancy '<' and '>' tabs...


reuse struct session_tab when saving the session


move parse_last_session to the fs process ~/.telescope/session was parsed in the main process before dropping in the sandbox: that's no good. This moves the initialization of the ui events later in ui_main_loop and makes so that the fs process, after entering the sandbox, parses and sends the content of the last session back to the main process; when it's done the ui gets loaded and telescope is back rocking. I'm plannig to re-use the struct session_tab during the save session operation soon.


sort includes


extract keymap-related stuff to its own header


extract the key matching logic to its own function


switch to our new struct download for the downloads


add download and download.* line styles


add side window for downloads


move declarations from telescope.h in fs.h and while there also publish various path. It's easier and better to have all of them exported from here instead of hardcoding them in other files (such as sandbox.c)


add a safe/sandbox mode When enabled with the -S (or --safe) flag, prevent telescope from writing files to the disk.


add some heuristics to interpret user-provided URLs


move more stuff outta telescope.c


move load_url_in_tab, switch_to_tab, new_tab{,_id} to telescope.c


add autosave timer for the session This is achieved by calling `autosave_hook' in interesting places, like new_tab or free_tab. It'll set up a timer to later persist the session. This is particularly useful to avoid loosing tabs on the event of a crash or unexpected system halt, or other similar event.