* Added asynchronous logging library
Did some rudimentary testing, might need more for safety.
Fixes#316 at least in part
* Included missing stdbool include
* Added console logging (in addition to file logging)
* Force a file flush at every write
This might be useful if we want to analyze the cause of a crash, if we
don't flush the file, one to several log lines might be missing.
* Added default log settings for release and debug versions
* Added LOG_*F formattable logging functions
* Allow the main thread to close the logger
Or LS will keep on logging from a detached thread.
* Empty the logger queue on thread exit.
This should remove the possibility of losing messages on exit.
* Add timestamps to logs and avoid double newlines
* Put the log file in XDG_DATA_DIR/libresplit
* Default LogLevel at Warns + Errors
Debug LogLevel stays at "everything"
* Bunch'o'statics
* Move prctl to the beginning of the logging thread code
* Add a decimals parameter
Somewhat crudely fixes#178. Tends to hit onto the settings struct at
30/60/whatever times a second, but allows to have the decimals update
immediately after changing in the settings window.
* Allow to hide all digits from timers
The detailed timer will still show all 6 digits if "0" is used.
* Added basic help dialog
Is probably missing some destructor logic and might leak memory, idk
Co-authored-by: Pedro Montes Alcalde <pedro.montes.alcalde@gmail.com>
* Settings dialog experiments
* Make sections into tabs
* Present settings to the user
* Create a new CFG_KEYBIND setting
It's a copy of the string setting, but it can be used for special
treatment in the settings GUI
* Make the context menu more pleasing to the eye
* Allow to hide sections from the GUI
* Try to avoid writing to null pointer
* Try to fix the int->char issue for GUI
* Try to tie the actual settings to the GTK widgets
* Added missing saving code for KEYBIND settings
* Added settings saving
* Fix some jank, do some cleanup
* Insert hatred for auto-importer here
* Apply suggestions
* Remove settings_number from global scope
* Delete duplicate code
---------
Co-authored-by: Pedro Montes Alcalde <pedro.montes.alcalde@gmail.com>
* Add run history feature
* Added error handling, forgot to handle error
* Run clang-format
* Don't ls_run_save on reset if run finishes
* Save split segment time
* Reworked split structure, better handle skipped splits