virtualx-engine/core/os
Rémi Verschelde 32c12a92a5 Add initial support for the XDG Base Directory spec
Spec version 0.7 from https://standards.freedesktop.org/basedir-spec/basedir-spec-0.7.html
(latest as of this commit).

Three virtual methods are added to OS for the various XDG paths we will use:
- OS::get_data_path gives XDG_DATA_HOME, or if missing:
  ~/.local/share on X11, ~/Library/Application Support/ on macOS and %APPDATA% on Windows
- OS::get_config_path gives XDG_CONFIG_HOME, or if missing:
  ~/.config on X11, ~/Library/Application Support/ on macOS and %APPDATA% on Windows
- OS::get_cache_path gives XDG_CACHE_HOME, or if missing:
  ~/.cache on X11, ~/Library/Caches on macOS and %APPDATA% on Windows

So for Windows there are no changes, for Linux we follow the full split spec
and for macOS stuff will move from ~/.godot to ~/Library/Application Support/Godot.

Support for system-wide installation of templates on Unix was removed for now,
as it's a bit hackish and I don't think anyone uses it.

user:// will still be OS::get_data_path() + "/godot/app_userdata/$name" by
default, but when using the application/config/use_shared_user_dir option
it will now use XDG_DATA_HOME/$name, e.g. ~/.local/share/MyGame.

For now everything still goes in EditorSettings::get_settings_dir(), but
this will be changed in a later commit to make use of the new splitting
where relevant.

Part of #3513.
2017-11-19 20:54:24 +01:00
..
copymem.h Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
dir_access.cpp Rename OS::get_data_dir to OS::get_user_data_dir 2017-11-17 20:55:09 +01:00
dir_access.h Fix x11 exported executables not getting the +x flag 2017-09-17 14:40:58 -03:00
file_access.cpp Rename OS::get_data_dir to OS::get_user_data_dir 2017-11-17 20:55:09 +01:00
file_access.h Extract logging logic 2017-09-25 16:19:21 +07:00
input.cpp Input: expose joy_connection_changed() 2017-10-11 18:55:57 +02:00
input.h Rename pos to position in user facing methods and variables 2017-09-20 13:11:10 +02:00
input_event.cpp Fix InputEventJoypadMotion::action_match for 0 axis values. 2017-10-21 16:06:24 +11:00
input_event.h Increase joystick axis from 8 to 10 2017-11-08 19:56:30 +11:00
keyboard.cpp Add Colemak keybindings to editor for osx 2017-10-30 22:51:02 +01:00
keyboard.h Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
main_loop.cpp Bind MainLoop.notif_wm_go_back_request 2017-10-22 14:07:24 +07:00
main_loop.h Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
memory.cpp Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
memory.h Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
mutex.cpp Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
mutex.h Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
os.cpp Add initial support for the XDG Base Directory spec 2017-11-19 20:54:24 +01:00
os.h Add initial support for the XDG Base Directory spec 2017-11-19 20:54:24 +01:00
rw_lock.cpp Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
rw_lock.h Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
SCsub style: Fix PEP8 whitespace issues in Python files 2016-11-01 00:35:16 +01:00
semaphore.cpp Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
semaphore.h Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
shell.cpp Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
shell.h Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
thread.cpp Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
thread.h Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
thread_dummy.cpp Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
thread_dummy.h Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
thread_safe.cpp Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
thread_safe.h Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00