1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465 |
- :github_url: hide
- .. 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/<name>/doc_classes.
- .. _class_OS:
- OS
- ==
- **Inherits:** :ref:`Object<class_Object>`
- **Category:** Core
- Brief Description
- -----------------
- Operating System functions.
- Properties
- ----------
- +-------------------------------+-------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`clipboard<class_OS_property_clipboard>` |
- +-------------------------------+-------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`current_screen<class_OS_property_current_screen>` |
- +-------------------------------+-------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`exit_code<class_OS_property_exit_code>` |
- +-------------------------------+-------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`keep_screen_on<class_OS_property_keep_screen_on>` |
- +-------------------------------+-------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`low_processor_usage_mode<class_OS_property_low_processor_usage_mode>` |
- +-------------------------------+-------------------------------------------------------------------------------------------------------+
- | _OS.ScreenOrientation | :ref:`screen_orientation<class_OS_property_screen_orientation>` |
- +-------------------------------+-------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`vsync_enabled<class_OS_property_vsync_enabled>` |
- +-------------------------------+-------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`window_borderless<class_OS_property_window_borderless>` |
- +-------------------------------+-------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`window_fullscreen<class_OS_property_window_fullscreen>` |
- +-------------------------------+-------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`window_maximized<class_OS_property_window_maximized>` |
- +-------------------------------+-------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`window_minimized<class_OS_property_window_minimized>` |
- +-------------------------------+-------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`window_per_pixel_transparency_enabled<class_OS_property_window_per_pixel_transparency_enabled>` |
- +-------------------------------+-------------------------------------------------------------------------------------------------------+
- | :ref:`Vector2<class_Vector2>` | :ref:`window_position<class_OS_property_window_position>` |
- +-------------------------------+-------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`window_resizable<class_OS_property_window_resizable>` |
- +-------------------------------+-------------------------------------------------------------------------------------------------------+
- | :ref:`Vector2<class_Vector2>` | :ref:`window_size<class_OS_property_window_size>` |
- +-------------------------------+-------------------------------------------------------------------------------------------------------+
- Methods
- -------
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`alert<class_OS_method_alert>` **(** :ref:`String<class_String>` text, :ref:`String<class_String>` title="Alert!" **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`can_draw<class_OS_method_can_draw>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`can_use_threads<class_OS_method_can_use_threads>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`center_window<class_OS_method_center_window>` **(** **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`close_midi_inputs<class_OS_method_close_midi_inputs>` **(** **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`delay_msec<class_OS_method_delay_msec>` **(** :ref:`int<class_int>` msec **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`delay_usec<class_OS_method_delay_usec>` **(** :ref:`int<class_int>` usec **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`dump_memory_to_file<class_OS_method_dump_memory_to_file>` **(** :ref:`String<class_String>` file **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`dump_resources_to_file<class_OS_method_dump_resources_to_file>` **(** :ref:`String<class_String>` file **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`execute<class_OS_method_execute>` **(** :ref:`String<class_String>` path, :ref:`PoolStringArray<class_PoolStringArray>` arguments, :ref:`bool<class_bool>` blocking, :ref:`Array<class_Array>` output=[ ] **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`find_scancode_from_string<class_OS_method_find_scancode_from_string>` **(** :ref:`String<class_String>` string **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_audio_driver_count<class_OS_method_get_audio_driver_count>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`get_audio_driver_name<class_OS_method_get_audio_driver_name>` **(** :ref:`int<class_int>` driver **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`PoolStringArray<class_PoolStringArray>` | :ref:`get_cmdline_args<class_OS_method_get_cmdline_args>` **(** **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`PoolStringArray<class_PoolStringArray>` | :ref:`get_connected_midi_inputs<class_OS_method_get_connected_midi_inputs>` **(** **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`VideoDriver<enum_OS_VideoDriver>` | :ref:`get_current_video_driver<class_OS_method_get_current_video_driver>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Dictionary<class_Dictionary>` | :ref:`get_date<class_OS_method_get_date>` **(** :ref:`bool<class_bool>` utc=false **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Dictionary<class_Dictionary>` | :ref:`get_datetime<class_OS_method_get_datetime>` **(** :ref:`bool<class_bool>` utc=false **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Dictionary<class_Dictionary>` | :ref:`get_datetime_from_unix_time<class_OS_method_get_datetime_from_unix_time>` **(** :ref:`int<class_int>` unix_time_val **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_dynamic_memory_usage<class_OS_method_get_dynamic_memory_usage>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`get_environment<class_OS_method_get_environment>` **(** :ref:`String<class_String>` environment **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`get_executable_path<class_OS_method_get_executable_path>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Vector2<class_Vector2>` | :ref:`get_ime_selection<class_OS_method_get_ime_selection>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`get_ime_text<class_OS_method_get_ime_text>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`get_latin_keyboard_variant<class_OS_method_get_latin_keyboard_variant>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`get_locale<class_OS_method_get_locale>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`get_model_name<class_OS_method_get_model_name>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`get_name<class_OS_method_get_name>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_power_percent_left<class_OS_method_get_power_percent_left>` **(** **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_power_seconds_left<class_OS_method_get_power_seconds_left>` **(** **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`PowerState<enum_OS_PowerState>` | :ref:`get_power_state<class_OS_method_get_power_state>` **(** **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_process_id<class_OS_method_get_process_id>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_processor_count<class_OS_method_get_processor_count>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Vector2<class_Vector2>` | :ref:`get_real_window_size<class_OS_method_get_real_window_size>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`get_scancode_string<class_OS_method_get_scancode_string>` **(** :ref:`int<class_int>` code **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_screen_count<class_OS_method_get_screen_count>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_screen_dpi<class_OS_method_get_screen_dpi>` **(** :ref:`int<class_int>` screen=-1 **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Vector2<class_Vector2>` | :ref:`get_screen_position<class_OS_method_get_screen_position>` **(** :ref:`int<class_int>` screen=-1 **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Vector2<class_Vector2>` | :ref:`get_screen_size<class_OS_method_get_screen_size>` **(** :ref:`int<class_int>` screen=-1 **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_splash_tick_msec<class_OS_method_get_splash_tick_msec>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_static_memory_peak_usage<class_OS_method_get_static_memory_peak_usage>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_static_memory_usage<class_OS_method_get_static_memory_usage>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`get_system_dir<class_OS_method_get_system_dir>` **(** :ref:`SystemDir<enum_OS_SystemDir>` dir **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_system_time_msecs<class_OS_method_get_system_time_msecs>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_system_time_secs<class_OS_method_get_system_time_secs>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_ticks_msec<class_OS_method_get_ticks_msec>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_ticks_usec<class_OS_method_get_ticks_usec>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Dictionary<class_Dictionary>` | :ref:`get_time<class_OS_method_get_time>` **(** :ref:`bool<class_bool>` utc=false **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Dictionary<class_Dictionary>` | :ref:`get_time_zone_info<class_OS_method_get_time_zone_info>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`get_unique_id<class_OS_method_get_unique_id>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_unix_time<class_OS_method_get_unix_time>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_unix_time_from_datetime<class_OS_method_get_unix_time_from_datetime>` **(** :ref:`Dictionary<class_Dictionary>` datetime **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`get_user_data_dir<class_OS_method_get_user_data_dir>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_video_driver_count<class_OS_method_get_video_driver_count>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`get_video_driver_name<class_OS_method_get_video_driver_name>` **(** :ref:`VideoDriver<enum_OS_VideoDriver>` driver **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_virtual_keyboard_height<class_OS_method_get_virtual_keyboard_height>` **(** **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Rect2<class_Rect2>` | :ref:`get_window_safe_area<class_OS_method_get_window_safe_area>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`has_environment<class_OS_method_has_environment>` **(** :ref:`String<class_String>` environment **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`has_feature<class_OS_method_has_feature>` **(** :ref:`String<class_String>` tag_name **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`has_touchscreen_ui_hint<class_OS_method_has_touchscreen_ui_hint>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`has_virtual_keyboard<class_OS_method_has_virtual_keyboard>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`hide_virtual_keyboard<class_OS_method_hide_virtual_keyboard>` **(** **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_debug_build<class_OS_method_is_debug_build>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_ok_left_and_cancel_right<class_OS_method_is_ok_left_and_cancel_right>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_scancode_unicode<class_OS_method_is_scancode_unicode>` **(** :ref:`int<class_int>` code **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_stdout_verbose<class_OS_method_is_stdout_verbose>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_userfs_persistent<class_OS_method_is_userfs_persistent>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_window_always_on_top<class_OS_method_is_window_always_on_top>` **(** **)** const |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Error<enum_@GlobalScope_Error>` | :ref:`kill<class_OS_method_kill>` **(** :ref:`int<class_int>` pid **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`move_window_to_foreground<class_OS_method_move_window_to_foreground>` **(** **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`native_video_is_playing<class_OS_method_native_video_is_playing>` **(** **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`native_video_pause<class_OS_method_native_video_pause>` **(** **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Error<enum_@GlobalScope_Error>` | :ref:`native_video_play<class_OS_method_native_video_play>` **(** :ref:`String<class_String>` path, :ref:`float<class_float>` volume, :ref:`String<class_String>` audio_track, :ref:`String<class_String>` subtitle_track **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`native_video_stop<class_OS_method_native_video_stop>` **(** **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`native_video_unpause<class_OS_method_native_video_unpause>` **(** **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`open_midi_inputs<class_OS_method_open_midi_inputs>` **(** **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`print_all_resources<class_OS_method_print_all_resources>` **(** :ref:`String<class_String>` tofile="" **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`print_all_textures_by_size<class_OS_method_print_all_textures_by_size>` **(** **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`print_resources_by_type<class_OS_method_print_resources_by_type>` **(** :ref:`PoolStringArray<class_PoolStringArray>` types **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`print_resources_in_use<class_OS_method_print_resources_in_use>` **(** :ref:`bool<class_bool>` short=false **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`request_attention<class_OS_method_request_attention>` **(** **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`request_permission<class_OS_method_request_permission>` **(** :ref:`String<class_String>` name **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_icon<class_OS_method_set_icon>` **(** :ref:`Image<class_Image>` icon **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_ime_active<class_OS_method_set_ime_active>` **(** :ref:`bool<class_bool>` active **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_ime_position<class_OS_method_set_ime_position>` **(** :ref:`Vector2<class_Vector2>` position **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Error<enum_@GlobalScope_Error>` | :ref:`set_thread_name<class_OS_method_set_thread_name>` **(** :ref:`String<class_String>` name **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_use_file_access_save_and_swap<class_OS_method_set_use_file_access_save_and_swap>` **(** :ref:`bool<class_bool>` enabled **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_window_always_on_top<class_OS_method_set_window_always_on_top>` **(** :ref:`bool<class_bool>` enabled **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_window_title<class_OS_method_set_window_title>` **(** :ref:`String<class_String>` title **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Error<enum_@GlobalScope_Error>` | :ref:`shell_open<class_OS_method_shell_open>` **(** :ref:`String<class_String>` uri **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`show_virtual_keyboard<class_OS_method_show_virtual_keyboard>` **(** :ref:`String<class_String>` existing_text="" **)** |
- +-----------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- Enumerations
- ------------
- .. _enum_OS_VideoDriver:
- .. _class_OS_constant_VIDEO_DRIVER_GLES2:
- .. _class_OS_constant_VIDEO_DRIVER_GLES3:
- enum **VideoDriver**:
- - **VIDEO_DRIVER_GLES2** = **1** --- The GLES2 rendering backend. It uses OpenGL ES 2.0 on mobile devices, OpenGL 2.1 on desktop platforms and WebGL 1.0 on the web.
- - **VIDEO_DRIVER_GLES3** = **0** --- The GLES3 rendering backend. It uses OpenGL ES 3.0 on mobile devices, OpenGL 3.3 on desktop platforms and WebGL 2.0 on the web.
- ----
- .. _enum_OS_Weekday:
- .. _class_OS_constant_DAY_SUNDAY:
- .. _class_OS_constant_DAY_MONDAY:
- .. _class_OS_constant_DAY_TUESDAY:
- .. _class_OS_constant_DAY_WEDNESDAY:
- .. _class_OS_constant_DAY_THURSDAY:
- .. _class_OS_constant_DAY_FRIDAY:
- .. _class_OS_constant_DAY_SATURDAY:
- 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:
- .. _class_OS_constant_MONTH_JANUARY:
- .. _class_OS_constant_MONTH_FEBRUARY:
- .. _class_OS_constant_MONTH_MARCH:
- .. _class_OS_constant_MONTH_APRIL:
- .. _class_OS_constant_MONTH_MAY:
- .. _class_OS_constant_MONTH_JUNE:
- .. _class_OS_constant_MONTH_JULY:
- .. _class_OS_constant_MONTH_AUGUST:
- .. _class_OS_constant_MONTH_SEPTEMBER:
- .. _class_OS_constant_MONTH_OCTOBER:
- .. _class_OS_constant_MONTH_NOVEMBER:
- .. _class_OS_constant_MONTH_DECEMBER:
- 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.
- ----
- .. _enum_OS_ScreenOrientation:
- .. _class_OS_constant_SCREEN_ORIENTATION_LANDSCAPE:
- .. _class_OS_constant_SCREEN_ORIENTATION_PORTRAIT:
- .. _class_OS_constant_SCREEN_ORIENTATION_REVERSE_LANDSCAPE:
- .. _class_OS_constant_SCREEN_ORIENTATION_REVERSE_PORTRAIT:
- .. _class_OS_constant_SCREEN_ORIENTATION_SENSOR_LANDSCAPE:
- .. _class_OS_constant_SCREEN_ORIENTATION_SENSOR_PORTRAIT:
- .. _class_OS_constant_SCREEN_ORIENTATION_SENSOR:
- 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_SystemDir:
- .. _class_OS_constant_SYSTEM_DIR_DESKTOP:
- .. _class_OS_constant_SYSTEM_DIR_DCIM:
- .. _class_OS_constant_SYSTEM_DIR_DOCUMENTS:
- .. _class_OS_constant_SYSTEM_DIR_DOWNLOADS:
- .. _class_OS_constant_SYSTEM_DIR_MOVIES:
- .. _class_OS_constant_SYSTEM_DIR_MUSIC:
- .. _class_OS_constant_SYSTEM_DIR_PICTURES:
- .. _class_OS_constant_SYSTEM_DIR_RINGTONES:
- 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_PowerState:
- .. _class_OS_constant_POWERSTATE_UNKNOWN:
- .. _class_OS_constant_POWERSTATE_ON_BATTERY:
- .. _class_OS_constant_POWERSTATE_NO_BATTERY:
- .. _class_OS_constant_POWERSTATE_CHARGING:
- .. _class_OS_constant_POWERSTATE_CHARGED:
- 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.
- Description
- -----------
- Operating System functions. OS Wraps the most common functionality to communicate with the host Operating System, such as: clipboard, video mode, date and time, timers, environment variables, execution of binaries, command line, etc.
- Property Descriptions
- ---------------------
- .. _class_OS_property_clipboard:
- - :ref:`String<class_String>` **clipboard**
- +----------+----------------------+
- | *Setter* | set_clipboard(value) |
- +----------+----------------------+
- | *Getter* | get_clipboard() |
- +----------+----------------------+
- The clipboard from the host OS. Might be unavailable on some platforms.
- ----
- .. _class_OS_property_current_screen:
- - :ref:`int<class_int>` **current_screen**
- +----------+---------------------------+
- | *Setter* | set_current_screen(value) |
- +----------+---------------------------+
- | *Getter* | get_current_screen() |
- +----------+---------------------------+
- The current screen index (starting from 0).
- ----
- .. _class_OS_property_exit_code:
- - :ref:`int<class_int>` **exit_code**
- +----------+----------------------+
- | *Setter* | set_exit_code(value) |
- +----------+----------------------+
- | *Getter* | get_exit_code() |
- +----------+----------------------+
- The exit code passed to the OS when the main loop exits.
- ----
- .. _class_OS_property_keep_screen_on:
- - :ref:`bool<class_bool>` **keep_screen_on**
- +----------+---------------------------+
- | *Setter* | set_keep_screen_on(value) |
- +----------+---------------------------+
- | *Getter* | is_keep_screen_on() |
- +----------+---------------------------+
- If ``true``, the engine tries to keep the screen on while the game is running. Useful on mobile.
- ----
- .. _class_OS_property_low_processor_usage_mode:
- - :ref:`bool<class_bool>` **low_processor_usage_mode**
- +----------+-------------------------------------+
- | *Setter* | set_low_processor_usage_mode(value) |
- +----------+-------------------------------------+
- | *Getter* | is_in_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_property_screen_orientation:
- - _OS.ScreenOrientation **screen_orientation**
- +----------+-------------------------------+
- | *Setter* | set_screen_orientation(value) |
- +----------+-------------------------------+
- | *Getter* | get_screen_orientation() |
- +----------+-------------------------------+
- The current screen orientation.
- ----
- .. _class_OS_property_vsync_enabled:
- - :ref:`bool<class_bool>` **vsync_enabled**
- +----------+----------------------+
- | *Setter* | set_use_vsync(value) |
- +----------+----------------------+
- | *Getter* | is_vsync_enabled() |
- +----------+----------------------+
- If ``true``, vertical synchronization (Vsync) is enabled.
- ----
- .. _class_OS_property_window_borderless:
- - :ref:`bool<class_bool>` **window_borderless**
- +----------+------------------------------+
- | *Setter* | set_borderless_window(value) |
- +----------+------------------------------+
- | *Getter* | get_borderless_window() |
- +----------+------------------------------+
- If ``true``, removes the window frame.
- ----
- .. _class_OS_property_window_fullscreen:
- - :ref:`bool<class_bool>` **window_fullscreen**
- +----------+------------------------------+
- | *Setter* | set_window_fullscreen(value) |
- +----------+------------------------------+
- | *Getter* | is_window_fullscreen() |
- +----------+------------------------------+
- If ``true``, the window is fullscreen.
- ----
- .. _class_OS_property_window_maximized:
- - :ref:`bool<class_bool>` **window_maximized**
- +----------+-----------------------------+
- | *Setter* | set_window_maximized(value) |
- +----------+-----------------------------+
- | *Getter* | is_window_maximized() |
- +----------+-----------------------------+
- If ``true``, the window is maximized.
- ----
- .. _class_OS_property_window_minimized:
- - :ref:`bool<class_bool>` **window_minimized**
- +----------+-----------------------------+
- | *Setter* | set_window_minimized(value) |
- +----------+-----------------------------+
- | *Getter* | is_window_minimized() |
- +----------+-----------------------------+
- If ``true``, the window is minimized.
- ----
- .. _class_OS_property_window_per_pixel_transparency_enabled:
- - :ref:`bool<class_bool>` **window_per_pixel_transparency_enabled**
- +----------+--------------------------------------------------+
- | *Setter* | set_window_per_pixel_transparency_enabled(value) |
- +----------+--------------------------------------------------+
- | *Getter* | get_window_per_pixel_transparency_enabled() |
- +----------+--------------------------------------------------+
- ----
- .. _class_OS_property_window_position:
- - :ref:`Vector2<class_Vector2>` **window_position**
- +----------+----------------------------+
- | *Setter* | set_window_position(value) |
- +----------+----------------------------+
- | *Getter* | get_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_property_window_resizable:
- - :ref:`bool<class_bool>` **window_resizable**
- +----------+-----------------------------+
- | *Setter* | set_window_resizable(value) |
- +----------+-----------------------------+
- | *Getter* | is_window_resizable() |
- +----------+-----------------------------+
- If ``true``, the window is resizable by the user.
- ----
- .. _class_OS_property_window_size:
- - :ref:`Vector2<class_Vector2>` **window_size**
- +----------+------------------------+
- | *Setter* | set_window_size(value) |
- +----------+------------------------+
- | *Getter* | get_window_size() |
- +----------+------------------------+
- The size of the window (without counting window manager decorations).
- Method Descriptions
- -------------------
- .. _class_OS_method_alert:
- - void **alert** **(** :ref:`String<class_String>` text, :ref:`String<class_String>` title="Alert!" **)**
- Displays a modal dialog box utilizing the host OS.
- ----
- .. _class_OS_method_can_draw:
- - :ref:`bool<class_bool>` **can_draw** **(** **)** const
- Returns ``true`` if the host OS allows drawing.
- ----
- .. _class_OS_method_can_use_threads:
- - :ref:`bool<class_bool>` **can_use_threads** **(** **)** const
- Returns ``true`` if the current host platform is using multiple threads.
- ----
- .. _class_OS_method_center_window:
- - void **center_window** **(** **)**
- Centers the window on the screen if in windowed mode.
- ----
- .. _class_OS_method_close_midi_inputs:
- - void **close_midi_inputs** **(** **)**
- ----
- .. _class_OS_method_delay_msec:
- - void **delay_msec** **(** :ref:`int<class_int>` msec **)** const
- Delay execution of the current thread by given milliseconds.
- ----
- .. _class_OS_method_delay_usec:
- - void **delay_usec** **(** :ref:`int<class_int>` usec **)** const
- Delay execution of the current thread by given microseconds.
- ----
- .. _class_OS_method_dump_memory_to_file:
- - void **dump_memory_to_file** **(** :ref:`String<class_String>` file **)**
- Dumps the memory allocation ringlist to a file (only works in debug).
- Entry format per line: "Address - Size - Description".
- ----
- .. _class_OS_method_dump_resources_to_file:
- - void **dump_resources_to_file** **(** :ref:`String<class_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_method_execute:
- - :ref:`int<class_int>` **execute** **(** :ref:`String<class_String>` path, :ref:`PoolStringArray<class_PoolStringArray>` arguments, :ref:`bool<class_bool>` blocking, :ref:`Array<class_Array>` output=[ ] **)**
- Execute the file at the given path with the arguments passed as an array of strings. Platform path resolution will take place. The resolved file must exist and be executable.
- The arguments are used in the given order and separated by a space, so ``OS.execute('ping', ['-w', '3', 'godotengine.org'], false)`` will resolve to ``ping -w 3 godotengine.org`` in the system's shell.
- This method has slightly different behavior based on whether the ``blocking`` mode is enabled.
- When ``blocking`` is enabled, the Godot thread will pause its execution while waiting for the process to terminate. The shell output of the process will be written to the ``output`` array as a single string. When the process terminates, the Godot thread will resume execution.
- When ``blocking`` is disabled, the Godot thread will continue while the new process runs. It is not possible to retrieve the shell output in non-blocking mode, so ``output`` will be empty.
- The return value also depends on the blocking mode. When blocking, the method will return -2 (no process ID information is available in blocking mode). When non-blocking, the method returns a process ID, which you can use to monitor the process (and potentially terminate it with :ref:`kill<class_OS_method_kill>`). If the process forking (non-blocking) or opening (blocking) fails, the method will return -1.
- Example of blocking mode and retrieving the shell output:
- ::
- var output = []
- OS.execute('ls', ['-l', '/tmp'], true, output)
- Example of non-blocking mode, running another instance of the project and storing its process ID:
- ::
- var pid = OS.execute(OS.get_executable_path(), [], false)
- If you wish to access a shell built-in or perform a composite command, a platform-specific shell can be invoked. For example:
- ::
- OS.execute('CMD.exe', ['/C', 'cd %TEMP% && dir'], true, output)
- ----
- .. _class_OS_method_find_scancode_from_string:
- - :ref:`int<class_int>` **find_scancode_from_string** **(** :ref:`String<class_String>` string **)** const
- Returns the scancode of the given string (e.g. "Escape")
- ----
- .. _class_OS_method_get_audio_driver_count:
- - :ref:`int<class_int>` **get_audio_driver_count** **(** **)** const
- Returns the total number of available audio drivers.
- ----
- .. _class_OS_method_get_audio_driver_name:
- - :ref:`String<class_String>` **get_audio_driver_name** **(** :ref:`int<class_int>` driver **)** const
- Returns the audio driver name for the given index.
- ----
- .. _class_OS_method_get_cmdline_args:
- - :ref:`PoolStringArray<class_PoolStringArray>` **get_cmdline_args** **(** **)**
- Returns the command line arguments passed to the engine.
- ----
- .. _class_OS_method_get_connected_midi_inputs:
- - :ref:`PoolStringArray<class_PoolStringArray>` **get_connected_midi_inputs** **(** **)**
- ----
- .. _class_OS_method_get_current_video_driver:
- - :ref:`VideoDriver<enum_OS_VideoDriver>` **get_current_video_driver** **(** **)** const
- Returns the currently used video driver, using one of the values from :ref:`VideoDriver<enum_OS_VideoDriver>`.
- ----
- .. _class_OS_method_get_date:
- - :ref:`Dictionary<class_Dictionary>` **get_date** **(** :ref:`bool<class_bool>` utc=false **)** const
- Returns current date as a dictionary of keys: year, month, day, weekday, dst (daylight savings time).
- ----
- .. _class_OS_method_get_datetime:
- - :ref:`Dictionary<class_Dictionary>` **get_datetime** **(** :ref:`bool<class_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_method_get_datetime_from_unix_time:
- - :ref:`Dictionary<class_Dictionary>` **get_datetime_from_unix_time** **(** :ref:`int<class_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<class_OS_method_get_time>` and :ref:`get_date<class_OS_method_get_date>` dictionaries (with the exception of dst = day light standard time, as it cannot be determined from epoch).
- ----
- .. _class_OS_method_get_dynamic_memory_usage:
- - :ref:`int<class_int>` **get_dynamic_memory_usage** **(** **)** const
- Returns the total amount of dynamic memory used (only works in debug).
- ----
- .. _class_OS_method_get_environment:
- - :ref:`String<class_String>` **get_environment** **(** :ref:`String<class_String>` environment **)** const
- Returns an environment variable.
- ----
- .. _class_OS_method_get_executable_path:
- - :ref:`String<class_String>` **get_executable_path** **(** **)** const
- Returns the path to the current engine executable.
- ----
- .. _class_OS_method_get_ime_selection:
- - :ref:`Vector2<class_Vector2>` **get_ime_selection** **(** **)** const
- Returns IME cursor position (currently edited portion of the string) relative to the characters in the composition string.
- :ref:`MainLoop.NOTIFICATION_OS_IME_UPDATE<class_MainLoop_constant_NOTIFICATION_OS_IME_UPDATE>` is sent to the application to notify it of changes to the IME cursor position.
- ----
- .. _class_OS_method_get_ime_text:
- - :ref:`String<class_String>` **get_ime_text** **(** **)** const
- Returns IME intermediate composition string.
- :ref:`MainLoop.NOTIFICATION_OS_IME_UPDATE<class_MainLoop_constant_NOTIFICATION_OS_IME_UPDATE>` is sent to the application to notify it of changes to the IME composition string.
- ----
- .. _class_OS_method_get_latin_keyboard_variant:
- - :ref:`String<class_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_method_get_locale:
- - :ref:`String<class_String>` **get_locale** **(** **)** const
- Returns the host OS locale.
- ----
- .. _class_OS_method_get_model_name:
- - :ref:`String<class_String>` **get_model_name** **(** **)** const
- Returns the model name of the current device.
- ----
- .. _class_OS_method_get_name:
- - :ref:`String<class_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_method_get_power_percent_left:
- - :ref:`int<class_int>` **get_power_percent_left** **(** **)**
- Returns the amount of battery left in the device as a percentage.
- ----
- .. _class_OS_method_get_power_seconds_left:
- - :ref:`int<class_int>` **get_power_seconds_left** **(** **)**
- Returns the time in seconds before the device runs out of battery.
- ----
- .. _class_OS_method_get_power_state:
- - :ref:`PowerState<enum_OS_PowerState>` **get_power_state** **(** **)**
- Returns the current state of the device regarding battery and power. See :ref:`PowerState<enum_OS_PowerState>` constants.
- ----
- .. _class_OS_method_get_process_id:
- - :ref:`int<class_int>` **get_process_id** **(** **)** const
- Returns the game process ID
- ----
- .. _class_OS_method_get_processor_count:
- - :ref:`int<class_int>` **get_processor_count** **(** **)** const
- Returns the number of cores available in the host machine.
- ----
- .. _class_OS_method_get_real_window_size:
- - :ref:`Vector2<class_Vector2>` **get_real_window_size** **(** **)** const
- Returns the window size including decorations like window borders.
- ----
- .. _class_OS_method_get_scancode_string:
- - :ref:`String<class_String>` **get_scancode_string** **(** :ref:`int<class_int>` code **)** const
- Returns the given scancode as a string (e.g. Return values: "Escape", "Shift+Escape").
- ----
- .. _class_OS_method_get_screen_count:
- - :ref:`int<class_int>` **get_screen_count** **(** **)** const
- Returns the number of displays attached to the host machine.
- ----
- .. _class_OS_method_get_screen_dpi:
- - :ref:`int<class_int>` **get_screen_dpi** **(** :ref:`int<class_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_method_get_screen_position:
- - :ref:`Vector2<class_Vector2>` **get_screen_position** **(** :ref:`int<class_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_method_get_screen_size:
- - :ref:`Vector2<class_Vector2>` **get_screen_size** **(** :ref:`int<class_int>` screen=-1 **)** const
- Returns the dimensions in pixels of the specified screen.
- ----
- .. _class_OS_method_get_splash_tick_msec:
- - :ref:`int<class_int>` **get_splash_tick_msec** **(** **)** const
- Returns the amount of time in milliseconds it took for the boot logo to appear.
- ----
- .. _class_OS_method_get_static_memory_peak_usage:
- - :ref:`int<class_int>` **get_static_memory_peak_usage** **(** **)** const
- Returns the max amount of static memory used (only works in debug).
- ----
- .. _class_OS_method_get_static_memory_usage:
- - :ref:`int<class_int>` **get_static_memory_usage** **(** **)** const
- Returns the amount of static memory being used by the program in bytes.
- ----
- .. _class_OS_method_get_system_dir:
- - :ref:`String<class_String>` **get_system_dir** **(** :ref:`SystemDir<enum_OS_SystemDir>` dir **)** const
- Returns the actual path to commonly used folders across different platforms. Available locations are specified in :ref:`SystemDir<enum_OS_SystemDir>`.
- ----
- .. _class_OS_method_get_system_time_msecs:
- - :ref:`int<class_int>` **get_system_time_msecs** **(** **)** const
- Returns the epoch time of the operating system in milliseconds.
- ----
- .. _class_OS_method_get_system_time_secs:
- - :ref:`int<class_int>` **get_system_time_secs** **(** **)** const
- Returns the epoch time of the operating system in seconds.
- ----
- .. _class_OS_method_get_ticks_msec:
- - :ref:`int<class_int>` **get_ticks_msec** **(** **)** const
- Returns the amount of time passed in milliseconds since the engine started.
- ----
- .. _class_OS_method_get_ticks_usec:
- - :ref:`int<class_int>` **get_ticks_usec** **(** **)** const
- Returns the amount of time passed in microseconds since the engine started.
- ----
- .. _class_OS_method_get_time:
- - :ref:`Dictionary<class_Dictionary>` **get_time** **(** :ref:`bool<class_bool>` utc=false **)** const
- Returns current time as a dictionary of keys: hour, minute, second.
- ----
- .. _class_OS_method_get_time_zone_info:
- - :ref:`Dictionary<class_Dictionary>` **get_time_zone_info** **(** **)** const
- Returns the current time zone as a dictionary with the keys: bias and name.
- ----
- .. _class_OS_method_get_unique_id:
- - :ref:`String<class_String>` **get_unique_id** **(** **)** const
- Returns a string that is unique to the device.
- Returns empty string on HTML5 and UWP which are not supported yet.
- ----
- .. _class_OS_method_get_unix_time:
- - :ref:`int<class_int>` **get_unix_time** **(** **)** const
- Returns the current unix epoch timestamp.
- ----
- .. _class_OS_method_get_unix_time_from_datetime:
- - :ref:`int<class_int>` **get_unix_time_from_datetime** **(** :ref:`Dictionary<class_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<class_OS_method_get_datetime_from_unix_time>` directly into this function. Daylight savings time (dst), if present, is ignored.
- ----
- .. _class_OS_method_get_user_data_dir:
- - :ref:`String<class_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. ``%APPDATA%`` expands to ``%USERPROFILE%\AppData\Roaming``.
- If the project name is empty, ``user://`` falls back to ``res://``.
- ----
- .. _class_OS_method_get_video_driver_count:
- - :ref:`int<class_int>` **get_video_driver_count** **(** **)** const
- Returns the number of video drivers supported on the current platform.
- ----
- .. _class_OS_method_get_video_driver_name:
- - :ref:`String<class_String>` **get_video_driver_name** **(** :ref:`VideoDriver<enum_OS_VideoDriver>` driver **)** const
- Returns the name of the video driver matching the given ``driver`` index. This index is a value from :ref:`VideoDriver<enum_OS_VideoDriver>`, and you can use :ref:`get_current_video_driver<class_OS_method_get_current_video_driver>` to get the current backend's index.
- ----
- .. _class_OS_method_get_virtual_keyboard_height:
- - :ref:`int<class_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_method_get_window_safe_area:
- - :ref:`Rect2<class_Rect2>` **get_window_safe_area** **(** **)** const
- Returns unobscured area of the window where interactive controls should be rendered.
- ----
- .. _class_OS_method_has_environment:
- - :ref:`bool<class_bool>` **has_environment** **(** :ref:`String<class_String>` environment **)** const
- Returns ``true`` if an environment variable exists.
- ----
- .. _class_OS_method_has_feature:
- - :ref:`bool<class_bool>` **has_feature** **(** :ref:`String<class_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. Refer to the `Feature Tags <https://docs.godotengine.org/en/latest/getting_started/workflow/export/feature_tags.html>`_ documentation for more details.
- Note that tag names are case-sensitive.
- ----
- .. _class_OS_method_has_touchscreen_ui_hint:
- - :ref:`bool<class_bool>` **has_touchscreen_ui_hint** **(** **)** const
- Returns ``true`` if the device has a touchscreen or emulates one.
- ----
- .. _class_OS_method_has_virtual_keyboard:
- - :ref:`bool<class_bool>` **has_virtual_keyboard** **(** **)** const
- Returns ``true`` if the platform has a virtual keyboard, ``false`` otherwise.
- ----
- .. _class_OS_method_hide_virtual_keyboard:
- - void **hide_virtual_keyboard** **(** **)**
- Hides the virtual keyboard if it is shown, does nothing otherwise.
- ----
- .. _class_OS_method_is_debug_build:
- - :ref:`bool<class_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_method_is_ok_left_and_cancel_right:
- - :ref:`bool<class_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_method_is_scancode_unicode:
- - :ref:`bool<class_bool>` **is_scancode_unicode** **(** :ref:`int<class_int>` code **)** const
- Returns ``true`` if the input code has a unicode character.
- ----
- .. _class_OS_method_is_stdout_verbose:
- - :ref:`bool<class_bool>` **is_stdout_verbose** **(** **)** const
- Returns ``true`` if the engine was executed with -v (verbose stdout).
- ----
- .. _class_OS_method_is_userfs_persistent:
- - :ref:`bool<class_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_method_is_window_always_on_top:
- - :ref:`bool<class_bool>` **is_window_always_on_top** **(** **)** const
- Returns ``true`` if the window should always be on top of other windows.
- ----
- .. _class_OS_method_kill:
- - :ref:`Error<enum_@GlobalScope_Error>` **kill** **(** :ref:`int<class_int>` pid **)**
- Kill (terminate) the process identified by the given process ID (``pid``), e.g. the one returned by :ref:`execute<class_OS_method_execute>` in non-blocking mode.
- Note that this method can also be used to kill processes that were not spawned by the game.
- ----
- .. _class_OS_method_move_window_to_foreground:
- - void **move_window_to_foreground** **(** **)**
- Moves the window to the front.
- ----
- .. _class_OS_method_native_video_is_playing:
- - :ref:`bool<class_bool>` **native_video_is_playing** **(** **)**
- Returns ``true`` if native video is playing.
- ----
- .. _class_OS_method_native_video_pause:
- - void **native_video_pause** **(** **)**
- Pauses native video playback.
- ----
- .. _class_OS_method_native_video_play:
- - :ref:`Error<enum_@GlobalScope_Error>` **native_video_play** **(** :ref:`String<class_String>` path, :ref:`float<class_float>` volume, :ref:`String<class_String>` audio_track, :ref:`String<class_String>` subtitle_track **)**
- Plays native video from the specified path, at the given volume and with audio and subtitle tracks.
- Note: This method is only implemented on Android and iOS, and the current Android implementation does not support the ``volume``, ``audio_track`` and ``subtitle_track`` options.
- ----
- .. _class_OS_method_native_video_stop:
- - void **native_video_stop** **(** **)**
- Stops native video playback.
- ----
- .. _class_OS_method_native_video_unpause:
- - void **native_video_unpause** **(** **)**
- Resumes native video playback.
- ----
- .. _class_OS_method_open_midi_inputs:
- - void **open_midi_inputs** **(** **)**
- ----
- .. _class_OS_method_print_all_resources:
- - void **print_all_resources** **(** :ref:`String<class_String>` tofile="" **)**
- Shows all resources in the game. Optionally the list can be written to a file.
- ----
- .. _class_OS_method_print_all_textures_by_size:
- - void **print_all_textures_by_size** **(** **)**
- Shows the list of loaded textures sorted by size in memory.
- ----
- .. _class_OS_method_print_resources_by_type:
- - void **print_resources_by_type** **(** :ref:`PoolStringArray<class_PoolStringArray>` types **)**
- Shows the number of resources loaded by the game of the given types.
- ----
- .. _class_OS_method_print_resources_in_use:
- - void **print_resources_in_use** **(** :ref:`bool<class_bool>` short=false **)**
- Shows all resources currently used by the game.
- ----
- .. _class_OS_method_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_method_request_permission:
- - :ref:`bool<class_bool>` **request_permission** **(** :ref:`String<class_String>` name **)**
- At the moment this function is only used by ``AudioDriverOpenSL`` to request permission for ``RECORD_AUDIO`` on Android.
- ----
- .. _class_OS_method_set_icon:
- - void **set_icon** **(** :ref:`Image<class_Image>` icon **)**
- Sets the game's icon.
- ----
- .. _class_OS_method_set_ime_active:
- - void **set_ime_active** **(** :ref:`bool<class_bool>` active **)**
- Sets whether IME input mode should be enabled.
- ----
- .. _class_OS_method_set_ime_position:
- - void **set_ime_position** **(** :ref:`Vector2<class_Vector2>` position **)**
- Sets position of IME suggestion list popup (in window coordinates).
- ----
- .. _class_OS_method_set_thread_name:
- - :ref:`Error<enum_@GlobalScope_Error>` **set_thread_name** **(** :ref:`String<class_String>` name **)**
- Sets the name of the current thread.
- ----
- .. _class_OS_method_set_use_file_access_save_and_swap:
- - void **set_use_file_access_save_and_swap** **(** :ref:`bool<class_bool>` enabled **)**
- Enables backup saves if ``enabled`` is ``true``.
- ----
- .. _class_OS_method_set_window_always_on_top:
- - void **set_window_always_on_top** **(** :ref:`bool<class_bool>` enabled **)**
- Sets whether the window should always be on top.
- ----
- .. _class_OS_method_set_window_title:
- - void **set_window_title** **(** :ref:`String<class_String>` title **)**
- Sets the window title to the specified string.
- ----
- .. _class_OS_method_shell_open:
- - :ref:`Error<enum_@GlobalScope_Error>` **shell_open** **(** :ref:`String<class_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("https://godotengine.org")`` opens the default web browser on the official Godot website.
- ----
- .. _class_OS_method_show_virtual_keyboard:
- - void **show_virtual_keyboard** **(** :ref:`String<class_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).
|