.. Generated automatically by doc/tools/makerst.py in Godot's source tree. .. DO NOT EDIT THIS FILE, but the OS.xml source instead. .. The source is found in doc/classes or modules//doc_classes. .. _class_OS: OS == **Inherits:** :ref:`Object` **Category:** Core Brief Description ----------------- Operating System functions. Member Functions ---------------- +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`alert` **(** :ref:`String` text, :ref:`String` title="Alert!" **)** | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`can_draw` **(** **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`can_use_threads` **(** **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`center_window` **(** **)** | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`delay_msec` **(** :ref:`int` msec **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`delay_usec` **(** :ref:`int` usec **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`dump_memory_to_file` **(** :ref:`String` file **)** | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`dump_resources_to_file` **(** :ref:`String` file **)** | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`execute` **(** :ref:`String` path, :ref:`PoolStringArray` arguments, :ref:`bool` blocking, :ref:`Array` output=[ ] **)** | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`find_scancode_from_string` **(** :ref:`String` string **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_audio_driver_count` **(** **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_audio_driver_name` **(** :ref:`int` arg0 **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PoolStringArray` | :ref:`get_cmdline_args` **(** **)** | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Dictionary` | :ref:`get_date` **(** :ref:`bool` utc=false **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Dictionary` | :ref:`get_datetime` **(** :ref:`bool` utc=false **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Dictionary` | :ref:`get_datetime_from_unix_time` **(** :ref:`int` unix_time_val **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_dynamic_memory_usage` **(** **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_environment` **(** :ref:`String` environment **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_executable_path` **(** **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_latin_keyboard_variant` **(** **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_locale` **(** **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_model_name` **(** **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_name` **(** **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_power_percent_left` **(** **)** | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_power_seconds_left` **(** **)** | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_power_state` **(** **)** | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_process_id` **(** **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_processor_count` **(** **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`get_real_window_size` **(** **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_scancode_string` **(** :ref:`int` code **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_screen_count` **(** **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_screen_dpi` **(** :ref:`int` screen=-1 **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`get_screen_position` **(** :ref:`int` screen=-1 **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`get_screen_size` **(** :ref:`int` screen=-1 **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_splash_tick_msec` **(** **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_static_memory_peak_usage` **(** **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_static_memory_usage` **(** **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_system_dir` **(** :ref:`int` dir **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_system_time_secs` **(** **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_ticks_msec` **(** **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Dictionary` | :ref:`get_time` **(** :ref:`bool` utc=false **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Dictionary` | :ref:`get_time_zone_info` **(** **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_unique_id` **(** **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_unix_time` **(** **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_unix_time_from_datetime` **(** :ref:`Dictionary` datetime **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_user_data_dir` **(** **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_virtual_keyboard_height` **(** **)** | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_environment` **(** :ref:`String` environment **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_feature` **(** :ref:`String` tag_name **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_touchscreen_ui_hint` **(** **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_virtual_keyboard` **(** **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`hide_virtual_keyboard` **(** **)** | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_debug_build` **(** **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_ok_left_and_cancel_right` **(** **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_scancode_unicode` **(** :ref:`int` code **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_stdout_verbose` **(** **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_userfs_persistent` **(** **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_window_always_on_top` **(** **)** const | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`kill` **(** :ref:`int` pid **)** | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`native_video_is_playing` **(** **)** | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`native_video_pause` **(** **)** | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`native_video_play` **(** :ref:`String` path, :ref:`float` volume, :ref:`String` audio_track, :ref:`String` subtitle_track **)** | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`native_video_stop` **(** **)** | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`native_video_unpause` **(** **)** | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`print_all_resources` **(** :ref:`String` tofile="" **)** | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`print_all_textures_by_size` **(** **)** | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`print_resources_by_type` **(** :ref:`PoolStringArray` types **)** | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`print_resources_in_use` **(** :ref:`bool` short=false **)** | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`request_attention` **(** **)** | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_icon` **(** :ref:`Image` icon **)** | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_ime_position` **(** :ref:`Vector2` position **)** | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`set_thread_name` **(** :ref:`String` name **)** | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_use_file_access_save_and_swap` **(** :ref:`bool` enabled **)** | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_window_always_on_top` **(** :ref:`bool` enabled **)** | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_window_title` **(** :ref:`String` title **)** | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`shell_open` **(** :ref:`String` uri **)** | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`show_virtual_keyboard` **(** :ref:`String` existing_text="" **)** | +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Member Variables ---------------- .. _class_OS_clipboard: - :ref:`String` **clipboard** - The clipboard from the host OS. Might be unavailable on some platforms. .. _class_OS_current_screen: - :ref:`int` **current_screen** - The current screen index (starting from 0). .. _class_OS_exit_code: - :ref:`int` **exit_code** - The exit code passed to the OS when the main loop exits. .. _class_OS_keep_screen_on: - :ref:`bool` **keep_screen_on** - If ``true`` the engine tries to keep the screen on while the game is running. Useful on mobile. .. _class_OS_low_processor_usage_mode: - :ref:`bool` **low_processor_usage_mode** - If ``true`` the engine optimizes for low processor usage by only refreshing the screen if needed. Can improve battery consumption on mobile. .. _class_OS_screen_orientation: - :ref:`ScreenOrientation` **screen_orientation** - The current screen orientation. .. _class_OS_vsync_enabled: - :ref:`bool` **vsync_enabled** - If ``true`` vertical synchronization (Vsync) is enabled. .. _class_OS_window_borderless: - :ref:`bool` **window_borderless** - If ``true`` removes the window frame. .. _class_OS_window_fullscreen: - :ref:`bool` **window_fullscreen** - If ``true`` the window is fullscreen. .. _class_OS_window_maximized: - :ref:`bool` **window_maximized** - If ``true`` the window is maximized. .. _class_OS_window_minimized: - :ref:`bool` **window_minimized** - If ``true`` the window is minimized. .. _class_OS_window_position: - :ref:`Vector2` **window_position** - The window position relative to the screen, the origin is the top left corner, +Y axis goes to the bottom and +X axis goes to the right. .. _class_OS_window_resizable: - :ref:`bool` **window_resizable** - If ``true``, the window is resizable by the user. .. _class_OS_window_size: - :ref:`Vector2` **window_size** - The size of the window (without counting window manager decorations). Enums ----- .. _enum_OS_SystemDir: enum **SystemDir** - **SYSTEM_DIR_DESKTOP** = **0** --- Desktop directory path. - **SYSTEM_DIR_DCIM** = **1** --- DCIM (Digital Camera Images) directory path. - **SYSTEM_DIR_DOCUMENTS** = **2** --- Documents directory path. - **SYSTEM_DIR_DOWNLOADS** = **3** --- Downloads directory path. - **SYSTEM_DIR_MOVIES** = **4** --- Movies directory path. - **SYSTEM_DIR_MUSIC** = **5** --- Music directory path. - **SYSTEM_DIR_PICTURES** = **6** --- Pictures directory path. - **SYSTEM_DIR_RINGTONES** = **7** --- Ringtones directory path. .. _enum_OS_ScreenOrientation: enum **ScreenOrientation** - **SCREEN_ORIENTATION_LANDSCAPE** = **0** --- Landscape screen orientation. - **SCREEN_ORIENTATION_PORTRAIT** = **1** --- Portrait screen orientation. - **SCREEN_ORIENTATION_REVERSE_LANDSCAPE** = **2** --- Reverse landscape screen orientation. - **SCREEN_ORIENTATION_REVERSE_PORTRAIT** = **3** --- Reverse portrait screen orientation. - **SCREEN_ORIENTATION_SENSOR_LANDSCAPE** = **4** --- Uses landscape or reverse landscape based on the hardware sensor. - **SCREEN_ORIENTATION_SENSOR_PORTRAIT** = **5** --- Uses portrait or reverse portrait based on the hardware sensor. - **SCREEN_ORIENTATION_SENSOR** = **6** --- Uses most suitable orientation based on the hardware sensor. .. _enum_OS_PowerState: enum **PowerState** - **POWERSTATE_UNKNOWN** = **0** --- Unknown powerstate. - **POWERSTATE_ON_BATTERY** = **1** --- Unplugged, running on battery. - **POWERSTATE_NO_BATTERY** = **2** --- Plugged in, no battery available. - **POWERSTATE_CHARGING** = **3** --- Plugged in, battery charging. - **POWERSTATE_CHARGED** = **4** --- Plugged in, battery fully charged. .. _enum_OS_Weekday: enum **Weekday** - **DAY_SUNDAY** = **0** --- Sunday. - **DAY_MONDAY** = **1** --- Monday. - **DAY_TUESDAY** = **2** --- Tuesday. - **DAY_WEDNESDAY** = **3** --- Wednesday. - **DAY_THURSDAY** = **4** --- Thursday. - **DAY_FRIDAY** = **5** --- Friday. - **DAY_SATURDAY** = **6** --- Saturday. .. _enum_OS_Month: enum **Month** - **MONTH_JANUARY** = **1** --- January. - **MONTH_FEBRUARY** = **2** --- February. - **MONTH_MARCH** = **3** --- March. - **MONTH_APRIL** = **4** --- April. - **MONTH_MAY** = **5** --- May. - **MONTH_JUNE** = **6** --- June. - **MONTH_JULY** = **7** --- July. - **MONTH_AUGUST** = **8** --- August. - **MONTH_SEPTEMBER** = **9** --- September. - **MONTH_OCTOBER** = **10** --- October. - **MONTH_NOVEMBER** = **11** --- November. - **MONTH_DECEMBER** = **12** --- December. Description ----------- Operating System functions. OS Wraps the most common functionality to communicate with the host Operating System, such as: mouse grabbing, mouse cursors, clipboard, video mode, date and time, timers, environment variables, execution of binaries, command line, etc. Member Function Description --------------------------- .. _class_OS_alert: - void **alert** **(** :ref:`String` text, :ref:`String` title="Alert!" **)** Displays a modal dialog box utilizing the host OS. .. _class_OS_can_draw: - :ref:`bool` **can_draw** **(** **)** const Returns ``true`` if the host OS allows drawing. .. _class_OS_can_use_threads: - :ref:`bool` **can_use_threads** **(** **)** const Returns ``true`` if the current host platform is using multiple threads. .. _class_OS_center_window: - void **center_window** **(** **)** Centers the window on the screen if in windowed mode. .. _class_OS_delay_msec: - void **delay_msec** **(** :ref:`int` msec **)** const Delay execution of the current thread by given milliseconds. .. _class_OS_delay_usec: - void **delay_usec** **(** :ref:`int` usec **)** const Delay execution of the current thread by given microseconds. .. _class_OS_dump_memory_to_file: - void **dump_memory_to_file** **(** :ref:`String` file **)** Dumps the memory allocation ringlist to a file (only works in debug). Entry format per line: "Address - Size - Description". .. _class_OS_dump_resources_to_file: - void **dump_resources_to_file** **(** :ref:`String` file **)** Dumps all used resources to file (only works in debug). Entry format per line: "Resource Type : Resource Location". At the end of the file is a statistic of all used Resource Types. .. _class_OS_execute: - :ref:`int` **execute** **(** :ref:`String` path, :ref:`PoolStringArray` arguments, :ref:`bool` blocking, :ref:`Array` output=[ ] **)** Execute the file at the given path, optionally blocking until it returns. Platform path resolution will take place. The resolved file must exist and be executable. Returns a process id. For example: :: var output = [] var pid = OS.execute('ls', [], true, output) If you wish to access a shell built-in or perform a composite command, a platform specific shell can be invoked. For example: :: var pid = OS.execute('CMD.exe', ['/C', 'cd %TEMP% && dir'], true, output) .. _class_OS_find_scancode_from_string: - :ref:`int` **find_scancode_from_string** **(** :ref:`String` string **)** const Returns the scancode of the given string (e.g. "Escape") .. _class_OS_get_audio_driver_count: - :ref:`int` **get_audio_driver_count** **(** **)** const Returns the total number of available audio drivers. .. _class_OS_get_audio_driver_name: - :ref:`String` **get_audio_driver_name** **(** :ref:`int` arg0 **)** const Returns the audio driver name for the given index. .. _class_OS_get_cmdline_args: - :ref:`PoolStringArray` **get_cmdline_args** **(** **)** Returns the command line arguments passed to the engine. .. _class_OS_get_date: - :ref:`Dictionary` **get_date** **(** :ref:`bool` utc=false **)** const Returns current date as a dictionary of keys: year, month, day, weekday, dst (daylight savings time). .. _class_OS_get_datetime: - :ref:`Dictionary` **get_datetime** **(** :ref:`bool` utc=false **)** const Returns current datetime as a dictionary of keys: year, month, day, weekday, dst (daylight savings time), hour, minute, second. .. _class_OS_get_datetime_from_unix_time: - :ref:`Dictionary` **get_datetime_from_unix_time** **(** :ref:`int` unix_time_val **)** const Get a dictionary of time values when given epoch time. Dictionary Time values will be a union of values from :ref:`get_time` and :ref:`get_date` dictionaries (with the exception of dst = day light standard time, as it cannot be determined from epoch). .. _class_OS_get_dynamic_memory_usage: - :ref:`int` **get_dynamic_memory_usage** **(** **)** const Returns the total amount of dynamic memory used (only works in debug). .. _class_OS_get_environment: - :ref:`String` **get_environment** **(** :ref:`String` environment **)** const Returns an environment variable. .. _class_OS_get_executable_path: - :ref:`String` **get_executable_path** **(** **)** const Returns the path to the current engine executable. .. _class_OS_get_latin_keyboard_variant: - :ref:`String` **get_latin_keyboard_variant** **(** **)** const Returns the current latin keyboard variant as a String. Possible return values are: "QWERTY", "AZERTY", "QZERTY", "DVORAK", "NEO", "COLEMAK" or "ERROR". .. _class_OS_get_locale: - :ref:`String` **get_locale** **(** **)** const Returns the host OS locale. .. _class_OS_get_model_name: - :ref:`String` **get_model_name** **(** **)** const Returns the model name of the current device. .. _class_OS_get_name: - :ref:`String` **get_name** **(** **)** const Returns the name of the host OS. Possible values are: "Android", "Haiku", "iOS", "HTML5", "OSX", "Server", "Windows", "UWP", "X11". .. _class_OS_get_power_percent_left: - :ref:`int` **get_power_percent_left** **(** **)** Returns the amount of battery left in the device as a percentage. .. _class_OS_get_power_seconds_left: - :ref:`int` **get_power_seconds_left** **(** **)** Returns the time in seconds before the device runs out of battery. .. _class_OS_get_power_state: - :ref:`int` **get_power_state** **(** **)** Returns the current state of the device regarding battery and power. See ``POWERSTATE_*`` constants. .. _class_OS_get_process_id: - :ref:`int` **get_process_id** **(** **)** const Returns the game process ID .. _class_OS_get_processor_count: - :ref:`int` **get_processor_count** **(** **)** const Returns the number of cores available in the host machine. .. _class_OS_get_real_window_size: - :ref:`Vector2` **get_real_window_size** **(** **)** const Returns the window size including decorations like window borders. .. _class_OS_get_scancode_string: - :ref:`String` **get_scancode_string** **(** :ref:`int` code **)** const Returns the given scancode as a string (e.g. Return values: "Escape", "Shift+Escape"). .. _class_OS_get_screen_count: - :ref:`int` **get_screen_count** **(** **)** const Returns the number of displays attached to the host machine. .. _class_OS_get_screen_dpi: - :ref:`int` **get_screen_dpi** **(** :ref:`int` screen=-1 **)** const Returns the dots per inch density of the specified screen. On Android Devices, the actual screen densities are grouped into six generalized densities: ldpi - 120 dpi mdpi - 160 dpi hdpi - 240 dpi xhdpi - 320 dpi xxhdpi - 480 dpi xxxhdpi - 640 dpi .. _class_OS_get_screen_position: - :ref:`Vector2` **get_screen_position** **(** :ref:`int` screen=-1 **)** const Returns the position of the specified screen by index. If no screen index is provided, the current screen will be used. .. _class_OS_get_screen_size: - :ref:`Vector2` **get_screen_size** **(** :ref:`int` screen=-1 **)** const Returns the dimensions in pixels of the specified screen. .. _class_OS_get_splash_tick_msec: - :ref:`int` **get_splash_tick_msec** **(** **)** const .. _class_OS_get_static_memory_peak_usage: - :ref:`int` **get_static_memory_peak_usage** **(** **)** const Returns the max amount of static memory used (only works in debug). .. _class_OS_get_static_memory_usage: - :ref:`int` **get_static_memory_usage** **(** **)** const Returns the amount of static memory being used by the program in bytes. .. _class_OS_get_system_dir: - :ref:`String` **get_system_dir** **(** :ref:`int` dir **)** const Returns the actual path to commonly used folders across different platforms. Available locations are specified in OS.SystemDir. .. _class_OS_get_system_time_secs: - :ref:`int` **get_system_time_secs** **(** **)** const Returns the epoch time of the operating system in seconds. .. _class_OS_get_ticks_msec: - :ref:`int` **get_ticks_msec** **(** **)** const Returns the amount of time passed in milliseconds since the engine started. .. _class_OS_get_time: - :ref:`Dictionary` **get_time** **(** :ref:`bool` utc=false **)** const Returns current time as a dictionary of keys: hour, minute, second. .. _class_OS_get_time_zone_info: - :ref:`Dictionary` **get_time_zone_info** **(** **)** const Returns the current time zone as a dictionary with the keys: bias and name. .. _class_OS_get_unique_id: - :ref:`String` **get_unique_id** **(** **)** const Returns a string that is unique to the device. Currently only works on Android and iOS. Returns empty string on other platforms. .. _class_OS_get_unix_time: - :ref:`int` **get_unix_time** **(** **)** const Returns the current unix epoch timestamp. .. _class_OS_get_unix_time_from_datetime: - :ref:`int` **get_unix_time_from_datetime** **(** :ref:`Dictionary` datetime **)** const Get an epoch time value from a dictionary of time values. ``datetime`` must be populated with the following keys: year, month, day, hour, minute, second. You can pass the output from :ref:`get_datetime_from_unix_time` directly into this function. Daylight savings time (dst), if present, is ignored. .. _class_OS_get_user_data_dir: - :ref:`String` **get_user_data_dir** **(** **)** const Returns the absolute directory path where user data is written (``user://``). On Linux, this is ``~/.local/share/godot/app_userdata/[project_name]``, or ``~/.local/share/[custom_name]`` if ``use_custom_user_dir`` is set. On macOS, this is ``~/Library/Application Support/Godot/app_userdata/[project_name]``, or ``~/Library/Application Support/[custom_name]`` if ``use_custom_user_dir`` is set. On Windows, this is ``%APPDATA%/Godot/app_userdata/[project_name]``, or ``%APPDATA%/[custom_name]`` if ``use_custom_user_dir`` is set. If the project name is empty, ``user://`` falls back to ``res://``. .. _class_OS_get_virtual_keyboard_height: - :ref:`int` **get_virtual_keyboard_height** **(** **)** Returns the on-screen keyboard's height in pixels. Returns 0 if there is no keyboard or it is currently hidden. .. _class_OS_has_environment: - :ref:`bool` **has_environment** **(** :ref:`String` environment **)** const Returns ``true`` if an environment variable exists. .. _class_OS_has_feature: - :ref:`bool` **has_feature** **(** :ref:`String` tag_name **)** const Returns ``true`` if the feature for the given feature tag is supported in the currently running instance, depending on platform, build etc. Can be used to check whether you're currently running a debug build, on a certain platform or arch, etc. See feature tags documentation. .. _class_OS_has_touchscreen_ui_hint: - :ref:`bool` **has_touchscreen_ui_hint** **(** **)** const Returns ``true`` if the device has a touchscreen or emulates one. .. _class_OS_has_virtual_keyboard: - :ref:`bool` **has_virtual_keyboard** **(** **)** const Returns ``true`` if the platform has a virtual keyboard, ``false`` otherwise. .. _class_OS_hide_virtual_keyboard: - void **hide_virtual_keyboard** **(** **)** Hides the virtual keyboard if it is shown, does nothing otherwise. .. _class_OS_is_debug_build: - :ref:`bool` **is_debug_build** **(** **)** const Returns ``true`` if the build is a debug build. Returns ``true`` when running in the editor. Returns ``false`` if the build is a release build. .. _class_OS_is_ok_left_and_cancel_right: - :ref:`bool` **is_ok_left_and_cancel_right** **(** **)** const Returns ``true`` if the "Okay" button should appear on the left and "Cancel" on the right. .. _class_OS_is_scancode_unicode: - :ref:`bool` **is_scancode_unicode** **(** :ref:`int` code **)** const Returns ``true`` if the input code has a unicode character. .. _class_OS_is_stdout_verbose: - :ref:`bool` **is_stdout_verbose** **(** **)** const Returns ``true`` if the engine was executed with -v (verbose stdout). .. _class_OS_is_userfs_persistent: - :ref:`bool` **is_userfs_persistent** **(** **)** const If ``true``, the ``user://`` file system is persistent, so that its state is the same after a player quits and starts the game again. Relevant to the HTML5 platform, where this persistence may be unavailable. .. _class_OS_is_window_always_on_top: - :ref:`bool` **is_window_always_on_top** **(** **)** const Returns ``true`` if the window should always be on top of other windows. .. _class_OS_kill: - :ref:`int` **kill** **(** :ref:`int` pid **)** Kill a process ID (this method can be used to kill processes that were not spawned by the game). .. _class_OS_native_video_is_playing: - :ref:`bool` **native_video_is_playing** **(** **)** Returns ``true`` if native video is playing. .. _class_OS_native_video_pause: - void **native_video_pause** **(** **)** Pauses native video playback. .. _class_OS_native_video_play: - :ref:`int` **native_video_play** **(** :ref:`String` path, :ref:`float` volume, :ref:`String` audio_track, :ref:`String` subtitle_track **)** Plays native video from the specified path, at the given volume and with audio and subtitle tracks. .. _class_OS_native_video_stop: - void **native_video_stop** **(** **)** Stops native video playback. .. _class_OS_native_video_unpause: - void **native_video_unpause** **(** **)** Resumes native video playback. .. _class_OS_print_all_resources: - void **print_all_resources** **(** :ref:`String` tofile="" **)** Shows all resources in the game. Optionally the list can be written to a file. .. _class_OS_print_all_textures_by_size: - void **print_all_textures_by_size** **(** **)** Shows the list of loaded textures sorted by size in memory. .. _class_OS_print_resources_by_type: - void **print_resources_by_type** **(** :ref:`PoolStringArray` types **)** Shows the number of resources loaded by the game of the given types. .. _class_OS_print_resources_in_use: - void **print_resources_in_use** **(** :ref:`bool` short=false **)** Shows all resources currently used by the game. .. _class_OS_request_attention: - void **request_attention** **(** **)** Request the user attention to the window. It'll flash the taskbar button on Windows or bounce the dock icon on OSX. .. _class_OS_set_icon: - void **set_icon** **(** :ref:`Image` icon **)** Sets the game's icon. .. _class_OS_set_ime_position: - void **set_ime_position** **(** :ref:`Vector2` position **)** .. _class_OS_set_thread_name: - :ref:`int` **set_thread_name** **(** :ref:`String` name **)** Sets the name of the current thread. .. _class_OS_set_use_file_access_save_and_swap: - void **set_use_file_access_save_and_swap** **(** :ref:`bool` enabled **)** Enables backup saves if ``enabled`` is ``true``. .. _class_OS_set_window_always_on_top: - void **set_window_always_on_top** **(** :ref:`bool` enabled **)** Sets whether the window should always be on top. .. _class_OS_set_window_title: - void **set_window_title** **(** :ref:`String` title **)** Sets the window title to the specified string. .. _class_OS_shell_open: - :ref:`int` **shell_open** **(** :ref:`String` uri **)** Requests the OS to open a resource with the most appropriate program. For example. ``OS.shell_open("C:\\Users\name\Downloads")`` on Windows opens the file explorer at the downloads folders of the user. ``OS.shell_open("http://godotengine.org")`` opens the default web browser on the official Godot website. .. _class_OS_show_virtual_keyboard: - void **show_virtual_keyboard** **(** :ref:`String` existing_text="" **)** Shows the virtual keyboard if the platform has one. The *existing_text* parameter is useful for implementing your own LineEdit, as it tells the virtual keyboard what text has already been typed (the virtual keyboard uses it for auto-correct and predictions).