123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682 |
- :github_url: hide
- .. DO NOT EDIT THIS FILE!!!
- .. Generated automatically from Godot engine sources.
- .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
- .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/Window.xml.
- .. _class_Window:
- Window
- ======
- **Inherits:** :ref:`Viewport<class_Viewport>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
- **Inherited By:** :ref:`AcceptDialog<class_AcceptDialog>`, :ref:`Popup<class_Popup>`
- Base class for all windows, dialogs, and popups.
- .. rst-class:: classref-introduction-group
- Description
- -----------
- A node that creates a window. The window can either be a native system window or embedded inside another **Window** (see :ref:`Viewport.gui_embed_subwindows<class_Viewport_property_gui_embed_subwindows>`).
- At runtime, **Window**\ s will not close automatically when requested. You need to handle it manually using the :ref:`close_requested<class_Window_signal_close_requested>` signal (this applies both to pressing the close button and clicking outside of a popup).
- .. rst-class:: classref-reftable-group
- Properties
- ----------
- .. table::
- :widths: auto
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- | :ref:`bool<class_bool>` | :ref:`always_on_top<class_Window_property_always_on_top>` | ``false`` |
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- | :ref:`bool<class_bool>` | :ref:`auto_translate<class_Window_property_auto_translate>` | ``true`` |
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- | :ref:`bool<class_bool>` | :ref:`borderless<class_Window_property_borderless>` | ``false`` |
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- | :ref:`ContentScaleAspect<enum_Window_ContentScaleAspect>` | :ref:`content_scale_aspect<class_Window_property_content_scale_aspect>` | ``0`` |
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- | :ref:`float<class_float>` | :ref:`content_scale_factor<class_Window_property_content_scale_factor>` | ``1.0`` |
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- | :ref:`ContentScaleMode<enum_Window_ContentScaleMode>` | :ref:`content_scale_mode<class_Window_property_content_scale_mode>` | ``0`` |
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- | :ref:`Vector2i<class_Vector2i>` | :ref:`content_scale_size<class_Window_property_content_scale_size>` | ``Vector2i(0, 0)`` |
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- | :ref:`ContentScaleStretch<enum_Window_ContentScaleStretch>` | :ref:`content_scale_stretch<class_Window_property_content_scale_stretch>` | ``0`` |
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- | :ref:`int<class_int>` | :ref:`current_screen<class_Window_property_current_screen>` | |
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- | :ref:`bool<class_bool>` | :ref:`exclusive<class_Window_property_exclusive>` | ``false`` |
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- | :ref:`bool<class_bool>` | :ref:`extend_to_title<class_Window_property_extend_to_title>` | ``false`` |
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- | :ref:`bool<class_bool>` | :ref:`force_native<class_Window_property_force_native>` | ``false`` |
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- | :ref:`WindowInitialPosition<enum_Window_WindowInitialPosition>` | :ref:`initial_position<class_Window_property_initial_position>` | ``0`` |
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- | :ref:`bool<class_bool>` | :ref:`keep_title_visible<class_Window_property_keep_title_visible>` | ``false`` |
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- | :ref:`Vector2i<class_Vector2i>` | :ref:`max_size<class_Window_property_max_size>` | ``Vector2i(0, 0)`` |
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- | :ref:`Vector2i<class_Vector2i>` | :ref:`min_size<class_Window_property_min_size>` | ``Vector2i(0, 0)`` |
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- | :ref:`Mode<enum_Window_Mode>` | :ref:`mode<class_Window_property_mode>` | ``0`` |
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- | :ref:`bool<class_bool>` | :ref:`mouse_passthrough<class_Window_property_mouse_passthrough>` | ``false`` |
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- | :ref:`PackedVector2Array<class_PackedVector2Array>` | :ref:`mouse_passthrough_polygon<class_Window_property_mouse_passthrough_polygon>` | ``PackedVector2Array()`` |
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- | :ref:`bool<class_bool>` | :ref:`popup_window<class_Window_property_popup_window>` | ``false`` |
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- | :ref:`Vector2i<class_Vector2i>` | :ref:`position<class_Window_property_position>` | ``Vector2i(0, 0)`` |
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- | :ref:`bool<class_bool>` | :ref:`sharp_corners<class_Window_property_sharp_corners>` | ``false`` |
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- | :ref:`Vector2i<class_Vector2i>` | :ref:`size<class_Window_property_size>` | ``Vector2i(100, 100)`` |
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- | :ref:`Theme<class_Theme>` | :ref:`theme<class_Window_property_theme>` | |
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- | :ref:`StringName<class_StringName>` | :ref:`theme_type_variation<class_Window_property_theme_type_variation>` | ``&""`` |
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- | :ref:`String<class_String>` | :ref:`title<class_Window_property_title>` | ``""`` |
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- | :ref:`bool<class_bool>` | :ref:`transient<class_Window_property_transient>` | ``false`` |
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- | :ref:`bool<class_bool>` | :ref:`transient_to_focused<class_Window_property_transient_to_focused>` | ``false`` |
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- | :ref:`bool<class_bool>` | :ref:`transparent<class_Window_property_transparent>` | ``false`` |
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- | :ref:`bool<class_bool>` | :ref:`unfocusable<class_Window_property_unfocusable>` | ``false`` |
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- | :ref:`bool<class_bool>` | :ref:`unresizable<class_Window_property_unresizable>` | ``false`` |
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- | :ref:`bool<class_bool>` | :ref:`visible<class_Window_property_visible>` | ``true`` |
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- | :ref:`bool<class_bool>` | :ref:`wrap_controls<class_Window_property_wrap_controls>` | ``false`` |
- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+
- .. rst-class:: classref-reftable-group
- Methods
- -------
- .. table::
- :widths: auto
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Vector2<class_Vector2>` | :ref:`_get_contents_minimum_size<class_Window_private_method__get_contents_minimum_size>`\ (\ ) |virtual| |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`add_theme_color_override<class_Window_method_add_theme_color_override>`\ (\ name\: :ref:`StringName<class_StringName>`, color\: :ref:`Color<class_Color>`\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`add_theme_constant_override<class_Window_method_add_theme_constant_override>`\ (\ name\: :ref:`StringName<class_StringName>`, constant\: :ref:`int<class_int>`\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`add_theme_font_override<class_Window_method_add_theme_font_override>`\ (\ name\: :ref:`StringName<class_StringName>`, font\: :ref:`Font<class_Font>`\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`add_theme_font_size_override<class_Window_method_add_theme_font_size_override>`\ (\ name\: :ref:`StringName<class_StringName>`, font_size\: :ref:`int<class_int>`\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`add_theme_icon_override<class_Window_method_add_theme_icon_override>`\ (\ name\: :ref:`StringName<class_StringName>`, texture\: :ref:`Texture2D<class_Texture2D>`\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`add_theme_stylebox_override<class_Window_method_add_theme_stylebox_override>`\ (\ name\: :ref:`StringName<class_StringName>`, stylebox\: :ref:`StyleBox<class_StyleBox>`\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`begin_bulk_theme_override<class_Window_method_begin_bulk_theme_override>`\ (\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`can_draw<class_Window_method_can_draw>`\ (\ ) |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`child_controls_changed<class_Window_method_child_controls_changed>`\ (\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`end_bulk_theme_override<class_Window_method_end_bulk_theme_override>`\ (\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Vector2<class_Vector2>` | :ref:`get_contents_minimum_size<class_Window_method_get_contents_minimum_size>`\ (\ ) |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`get_flag<class_Window_method_get_flag>`\ (\ flag\: :ref:`Flags<enum_Window_Flags>`\ ) |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`LayoutDirection<enum_Window_LayoutDirection>` | :ref:`get_layout_direction<class_Window_method_get_layout_direction>`\ (\ ) |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Vector2i<class_Vector2i>` | :ref:`get_position_with_decorations<class_Window_method_get_position_with_decorations>`\ (\ ) |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Vector2i<class_Vector2i>` | :ref:`get_size_with_decorations<class_Window_method_get_size_with_decorations>`\ (\ ) |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Color<class_Color>` | :ref:`get_theme_color<class_Window_method_get_theme_color>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>` = &""\ ) |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_theme_constant<class_Window_method_get_theme_constant>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>` = &""\ ) |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`float<class_float>` | :ref:`get_theme_default_base_scale<class_Window_method_get_theme_default_base_scale>`\ (\ ) |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Font<class_Font>` | :ref:`get_theme_default_font<class_Window_method_get_theme_default_font>`\ (\ ) |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_theme_default_font_size<class_Window_method_get_theme_default_font_size>`\ (\ ) |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Font<class_Font>` | :ref:`get_theme_font<class_Window_method_get_theme_font>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>` = &""\ ) |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_theme_font_size<class_Window_method_get_theme_font_size>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>` = &""\ ) |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Texture2D<class_Texture2D>` | :ref:`get_theme_icon<class_Window_method_get_theme_icon>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>` = &""\ ) |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`StyleBox<class_StyleBox>` | :ref:`get_theme_stylebox<class_Window_method_get_theme_stylebox>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>` = &""\ ) |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_window_id<class_Window_method_get_window_id>`\ (\ ) |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`grab_focus<class_Window_method_grab_focus>`\ (\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`has_focus<class_Window_method_has_focus>`\ (\ ) |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`has_theme_color<class_Window_method_has_theme_color>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>` = &""\ ) |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`has_theme_color_override<class_Window_method_has_theme_color_override>`\ (\ name\: :ref:`StringName<class_StringName>`\ ) |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`has_theme_constant<class_Window_method_has_theme_constant>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>` = &""\ ) |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`has_theme_constant_override<class_Window_method_has_theme_constant_override>`\ (\ name\: :ref:`StringName<class_StringName>`\ ) |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`has_theme_font<class_Window_method_has_theme_font>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>` = &""\ ) |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`has_theme_font_override<class_Window_method_has_theme_font_override>`\ (\ name\: :ref:`StringName<class_StringName>`\ ) |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`has_theme_font_size<class_Window_method_has_theme_font_size>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>` = &""\ ) |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`has_theme_font_size_override<class_Window_method_has_theme_font_size_override>`\ (\ name\: :ref:`StringName<class_StringName>`\ ) |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`has_theme_icon<class_Window_method_has_theme_icon>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>` = &""\ ) |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`has_theme_icon_override<class_Window_method_has_theme_icon_override>`\ (\ name\: :ref:`StringName<class_StringName>`\ ) |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`has_theme_stylebox<class_Window_method_has_theme_stylebox>`\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>` = &""\ ) |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`has_theme_stylebox_override<class_Window_method_has_theme_stylebox_override>`\ (\ name\: :ref:`StringName<class_StringName>`\ ) |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`hide<class_Window_method_hide>`\ (\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_embedded<class_Window_method_is_embedded>`\ (\ ) |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_layout_rtl<class_Window_method_is_layout_rtl>`\ (\ ) |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_maximize_allowed<class_Window_method_is_maximize_allowed>`\ (\ ) |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_using_font_oversampling<class_Window_method_is_using_font_oversampling>`\ (\ ) |const| |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`move_to_center<class_Window_method_move_to_center>`\ (\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`move_to_foreground<class_Window_method_move_to_foreground>`\ (\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`popup<class_Window_method_popup>`\ (\ rect\: :ref:`Rect2i<class_Rect2i>` = Rect2i(0, 0, 0, 0)\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`popup_centered<class_Window_method_popup_centered>`\ (\ minsize\: :ref:`Vector2i<class_Vector2i>` = Vector2i(0, 0)\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`popup_centered_clamped<class_Window_method_popup_centered_clamped>`\ (\ minsize\: :ref:`Vector2i<class_Vector2i>` = Vector2i(0, 0), fallback_ratio\: :ref:`float<class_float>` = 0.75\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`popup_centered_ratio<class_Window_method_popup_centered_ratio>`\ (\ ratio\: :ref:`float<class_float>` = 0.8\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`popup_exclusive<class_Window_method_popup_exclusive>`\ (\ from_node\: :ref:`Node<class_Node>`, rect\: :ref:`Rect2i<class_Rect2i>` = Rect2i(0, 0, 0, 0)\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`popup_exclusive_centered<class_Window_method_popup_exclusive_centered>`\ (\ from_node\: :ref:`Node<class_Node>`, minsize\: :ref:`Vector2i<class_Vector2i>` = Vector2i(0, 0)\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`popup_exclusive_centered_clamped<class_Window_method_popup_exclusive_centered_clamped>`\ (\ from_node\: :ref:`Node<class_Node>`, minsize\: :ref:`Vector2i<class_Vector2i>` = Vector2i(0, 0), fallback_ratio\: :ref:`float<class_float>` = 0.75\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`popup_exclusive_centered_ratio<class_Window_method_popup_exclusive_centered_ratio>`\ (\ from_node\: :ref:`Node<class_Node>`, ratio\: :ref:`float<class_float>` = 0.8\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`popup_exclusive_on_parent<class_Window_method_popup_exclusive_on_parent>`\ (\ from_node\: :ref:`Node<class_Node>`, parent_rect\: :ref:`Rect2i<class_Rect2i>`\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`popup_on_parent<class_Window_method_popup_on_parent>`\ (\ parent_rect\: :ref:`Rect2i<class_Rect2i>`\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`remove_theme_color_override<class_Window_method_remove_theme_color_override>`\ (\ name\: :ref:`StringName<class_StringName>`\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`remove_theme_constant_override<class_Window_method_remove_theme_constant_override>`\ (\ name\: :ref:`StringName<class_StringName>`\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`remove_theme_font_override<class_Window_method_remove_theme_font_override>`\ (\ name\: :ref:`StringName<class_StringName>`\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`remove_theme_font_size_override<class_Window_method_remove_theme_font_size_override>`\ (\ name\: :ref:`StringName<class_StringName>`\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`remove_theme_icon_override<class_Window_method_remove_theme_icon_override>`\ (\ name\: :ref:`StringName<class_StringName>`\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`remove_theme_stylebox_override<class_Window_method_remove_theme_stylebox_override>`\ (\ name\: :ref:`StringName<class_StringName>`\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`request_attention<class_Window_method_request_attention>`\ (\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`reset_size<class_Window_method_reset_size>`\ (\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`set_flag<class_Window_method_set_flag>`\ (\ flag\: :ref:`Flags<enum_Window_Flags>`, enabled\: :ref:`bool<class_bool>`\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`set_ime_active<class_Window_method_set_ime_active>`\ (\ active\: :ref:`bool<class_bool>`\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`set_ime_position<class_Window_method_set_ime_position>`\ (\ position\: :ref:`Vector2i<class_Vector2i>`\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`set_layout_direction<class_Window_method_set_layout_direction>`\ (\ direction\: :ref:`LayoutDirection<enum_Window_LayoutDirection>`\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`set_unparent_when_invisible<class_Window_method_set_unparent_when_invisible>`\ (\ unparent\: :ref:`bool<class_bool>`\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`set_use_font_oversampling<class_Window_method_set_use_font_oversampling>`\ (\ enable\: :ref:`bool<class_bool>`\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | |void| | :ref:`show<class_Window_method_show>`\ (\ ) |
- +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- .. rst-class:: classref-reftable-group
- Theme Properties
- ----------------
- .. table::
- :widths: auto
- +-----------------------------------+--------------------------------------------------------------------------------------+-----------------------------------+
- | :ref:`Color<class_Color>` | :ref:`title_color<class_Window_theme_color_title_color>` | ``Color(0.875, 0.875, 0.875, 1)`` |
- +-----------------------------------+--------------------------------------------------------------------------------------+-----------------------------------+
- | :ref:`Color<class_Color>` | :ref:`title_outline_modulate<class_Window_theme_color_title_outline_modulate>` | ``Color(0, 0, 0, 1)`` |
- +-----------------------------------+--------------------------------------------------------------------------------------+-----------------------------------+
- | :ref:`int<class_int>` | :ref:`close_h_offset<class_Window_theme_constant_close_h_offset>` | ``18`` |
- +-----------------------------------+--------------------------------------------------------------------------------------+-----------------------------------+
- | :ref:`int<class_int>` | :ref:`close_v_offset<class_Window_theme_constant_close_v_offset>` | ``24`` |
- +-----------------------------------+--------------------------------------------------------------------------------------+-----------------------------------+
- | :ref:`int<class_int>` | :ref:`resize_margin<class_Window_theme_constant_resize_margin>` | ``4`` |
- +-----------------------------------+--------------------------------------------------------------------------------------+-----------------------------------+
- | :ref:`int<class_int>` | :ref:`title_height<class_Window_theme_constant_title_height>` | ``36`` |
- +-----------------------------------+--------------------------------------------------------------------------------------+-----------------------------------+
- | :ref:`int<class_int>` | :ref:`title_outline_size<class_Window_theme_constant_title_outline_size>` | ``0`` |
- +-----------------------------------+--------------------------------------------------------------------------------------+-----------------------------------+
- | :ref:`Font<class_Font>` | :ref:`title_font<class_Window_theme_font_title_font>` | |
- +-----------------------------------+--------------------------------------------------------------------------------------+-----------------------------------+
- | :ref:`int<class_int>` | :ref:`title_font_size<class_Window_theme_font_size_title_font_size>` | |
- +-----------------------------------+--------------------------------------------------------------------------------------+-----------------------------------+
- | :ref:`Texture2D<class_Texture2D>` | :ref:`close<class_Window_theme_icon_close>` | |
- +-----------------------------------+--------------------------------------------------------------------------------------+-----------------------------------+
- | :ref:`Texture2D<class_Texture2D>` | :ref:`close_pressed<class_Window_theme_icon_close_pressed>` | |
- +-----------------------------------+--------------------------------------------------------------------------------------+-----------------------------------+
- | :ref:`StyleBox<class_StyleBox>` | :ref:`embedded_border<class_Window_theme_style_embedded_border>` | |
- +-----------------------------------+--------------------------------------------------------------------------------------+-----------------------------------+
- | :ref:`StyleBox<class_StyleBox>` | :ref:`embedded_unfocused_border<class_Window_theme_style_embedded_unfocused_border>` | |
- +-----------------------------------+--------------------------------------------------------------------------------------+-----------------------------------+
- .. rst-class:: classref-section-separator
- ----
- .. rst-class:: classref-descriptions-group
- Signals
- -------
- .. _class_Window_signal_about_to_popup:
- .. rst-class:: classref-signal
- **about_to_popup**\ (\ ) :ref:`🔗<class_Window_signal_about_to_popup>`
- Emitted right after :ref:`popup<class_Window_method_popup>` call, before the **Window** appears or does anything.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_signal_close_requested:
- .. rst-class:: classref-signal
- **close_requested**\ (\ ) :ref:`🔗<class_Window_signal_close_requested>`
- Emitted when the **Window**'s close button is pressed or when :ref:`popup_window<class_Window_property_popup_window>` is enabled and user clicks outside the window.
- This signal can be used to handle window closing, e.g. by connecting it to :ref:`hide<class_Window_method_hide>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_signal_dpi_changed:
- .. rst-class:: classref-signal
- **dpi_changed**\ (\ ) :ref:`🔗<class_Window_signal_dpi_changed>`
- Emitted when the **Window**'s DPI changes as a result of OS-level changes (e.g. moving the window from a Retina display to a lower resolution one).
- \ **Note:** Only implemented on macOS.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_signal_files_dropped:
- .. rst-class:: classref-signal
- **files_dropped**\ (\ files\: :ref:`PackedStringArray<class_PackedStringArray>`\ ) :ref:`🔗<class_Window_signal_files_dropped>`
- Emitted when files are dragged from the OS file manager and dropped in the game window. The argument is a list of file paths.
- ::
- func _ready():
- get_viewport().files_dropped.connect(on_files_dropped)
-
- func on_files_dropped(files):
- print(files)
- \ **Note:** This signal only works with native windows, i.e. the main window and **Window**-derived nodes when :ref:`Viewport.gui_embed_subwindows<class_Viewport_property_gui_embed_subwindows>` is disabled in the main viewport.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_signal_focus_entered:
- .. rst-class:: classref-signal
- **focus_entered**\ (\ ) :ref:`🔗<class_Window_signal_focus_entered>`
- Emitted when the **Window** gains focus.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_signal_focus_exited:
- .. rst-class:: classref-signal
- **focus_exited**\ (\ ) :ref:`🔗<class_Window_signal_focus_exited>`
- Emitted when the **Window** loses its focus.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_signal_go_back_requested:
- .. rst-class:: classref-signal
- **go_back_requested**\ (\ ) :ref:`🔗<class_Window_signal_go_back_requested>`
- Emitted when a go back request is sent (e.g. pressing the "Back" button on Android), right after :ref:`Node.NOTIFICATION_WM_GO_BACK_REQUEST<class_Node_constant_NOTIFICATION_WM_GO_BACK_REQUEST>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_signal_mouse_entered:
- .. rst-class:: classref-signal
- **mouse_entered**\ (\ ) :ref:`🔗<class_Window_signal_mouse_entered>`
- Emitted when the mouse cursor enters the **Window**'s visible area, that is not occluded behind other :ref:`Control<class_Control>`\ s or windows, provided its :ref:`Viewport.gui_disable_input<class_Viewport_property_gui_disable_input>` is ``false`` and regardless if it's currently focused or not.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_signal_mouse_exited:
- .. rst-class:: classref-signal
- **mouse_exited**\ (\ ) :ref:`🔗<class_Window_signal_mouse_exited>`
- Emitted when the mouse cursor leaves the **Window**'s visible area, that is not occluded behind other :ref:`Control<class_Control>`\ s or windows, provided its :ref:`Viewport.gui_disable_input<class_Viewport_property_gui_disable_input>` is ``false`` and regardless if it's currently focused or not.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_signal_theme_changed:
- .. rst-class:: classref-signal
- **theme_changed**\ (\ ) :ref:`🔗<class_Window_signal_theme_changed>`
- Emitted when the :ref:`NOTIFICATION_THEME_CHANGED<class_Window_constant_NOTIFICATION_THEME_CHANGED>` notification is sent.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_signal_titlebar_changed:
- .. rst-class:: classref-signal
- **titlebar_changed**\ (\ ) :ref:`🔗<class_Window_signal_titlebar_changed>`
- Emitted when window title bar decorations are changed, e.g. macOS window enter/exit full screen mode, or extend-to-title flag is changed.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_signal_visibility_changed:
- .. rst-class:: classref-signal
- **visibility_changed**\ (\ ) :ref:`🔗<class_Window_signal_visibility_changed>`
- Emitted when **Window** is made visible or disappears.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_signal_window_input:
- .. rst-class:: classref-signal
- **window_input**\ (\ event\: :ref:`InputEvent<class_InputEvent>`\ ) :ref:`🔗<class_Window_signal_window_input>`
- Emitted when the **Window** is currently focused and receives any input, passing the received event as an argument. The event's position, if present, is in the embedder's coordinate system.
- .. rst-class:: classref-section-separator
- ----
- .. rst-class:: classref-descriptions-group
- Enumerations
- ------------
- .. _enum_Window_Mode:
- .. rst-class:: classref-enumeration
- enum **Mode**: :ref:`🔗<enum_Window_Mode>`
- .. _class_Window_constant_MODE_WINDOWED:
- .. rst-class:: classref-enumeration-constant
- :ref:`Mode<enum_Window_Mode>` **MODE_WINDOWED** = ``0``
- Windowed mode, i.e. **Window** doesn't occupy the whole screen (unless set to the size of the screen).
- .. _class_Window_constant_MODE_MINIMIZED:
- .. rst-class:: classref-enumeration-constant
- :ref:`Mode<enum_Window_Mode>` **MODE_MINIMIZED** = ``1``
- Minimized window mode, i.e. **Window** is not visible and available on window manager's window list. Normally happens when the minimize button is pressed.
- .. _class_Window_constant_MODE_MAXIMIZED:
- .. rst-class:: classref-enumeration-constant
- :ref:`Mode<enum_Window_Mode>` **MODE_MAXIMIZED** = ``2``
- Maximized window mode, i.e. **Window** will occupy whole screen area except task bar and still display its borders. Normally happens when the maximize button is pressed.
- .. _class_Window_constant_MODE_FULLSCREEN:
- .. rst-class:: classref-enumeration-constant
- :ref:`Mode<enum_Window_Mode>` **MODE_FULLSCREEN** = ``3``
- Full screen mode with full multi-window support.
- Full screen window covers the entire display area of a screen and has no decorations. The display's video mode is not changed.
- \ **On Windows:** Multi-window full-screen mode has a 1px border of the :ref:`ProjectSettings.rendering/environment/defaults/default_clear_color<class_ProjectSettings_property_rendering/environment/defaults/default_clear_color>` color.
- \ **On macOS:** A new desktop is used to display the running project.
- \ **Note:** Regardless of the platform, enabling full screen will change the window size to match the monitor's size. Therefore, make sure your project supports :doc:`multiple resolutions <../tutorials/rendering/multiple_resolutions>` when enabling full screen mode.
- .. _class_Window_constant_MODE_EXCLUSIVE_FULLSCREEN:
- .. rst-class:: classref-enumeration-constant
- :ref:`Mode<enum_Window_Mode>` **MODE_EXCLUSIVE_FULLSCREEN** = ``4``
- A single window full screen mode. This mode has less overhead, but only one window can be open on a given screen at a time (opening a child window or application switching will trigger a full screen transition).
- Full screen window covers the entire display area of a screen and has no border or decorations. The display's video mode is not changed.
- \ **On Windows:** Depending on video driver, full screen transition might cause screens to go black for a moment.
- \ **On macOS:** A new desktop is used to display the running project. Exclusive full screen mode prevents Dock and Menu from showing up when the mouse pointer is hovering the edge of the screen.
- \ **On Linux (X11):** Exclusive full screen mode bypasses compositor.
- \ **Note:** Regardless of the platform, enabling full screen will change the window size to match the monitor's size. Therefore, make sure your project supports :doc:`multiple resolutions <../tutorials/rendering/multiple_resolutions>` when enabling full screen mode.
- .. rst-class:: classref-item-separator
- ----
- .. _enum_Window_Flags:
- .. rst-class:: classref-enumeration
- enum **Flags**: :ref:`🔗<enum_Window_Flags>`
- .. _class_Window_constant_FLAG_RESIZE_DISABLED:
- .. rst-class:: classref-enumeration-constant
- :ref:`Flags<enum_Window_Flags>` **FLAG_RESIZE_DISABLED** = ``0``
- The window can't be resized by dragging its resize grip. It's still possible to resize the window using :ref:`size<class_Window_property_size>`. This flag is ignored for full screen windows. Set with :ref:`unresizable<class_Window_property_unresizable>`.
- .. _class_Window_constant_FLAG_BORDERLESS:
- .. rst-class:: classref-enumeration-constant
- :ref:`Flags<enum_Window_Flags>` **FLAG_BORDERLESS** = ``1``
- The window do not have native title bar and other decorations. This flag is ignored for full-screen windows. Set with :ref:`borderless<class_Window_property_borderless>`.
- .. _class_Window_constant_FLAG_ALWAYS_ON_TOP:
- .. rst-class:: classref-enumeration-constant
- :ref:`Flags<enum_Window_Flags>` **FLAG_ALWAYS_ON_TOP** = ``2``
- The window is floating on top of all other windows. This flag is ignored for full-screen windows. Set with :ref:`always_on_top<class_Window_property_always_on_top>`.
- .. _class_Window_constant_FLAG_TRANSPARENT:
- .. rst-class:: classref-enumeration-constant
- :ref:`Flags<enum_Window_Flags>` **FLAG_TRANSPARENT** = ``3``
- The window background can be transparent. Set with :ref:`transparent<class_Window_property_transparent>`.
- \ **Note:** This flag has no effect if either :ref:`ProjectSettings.display/window/per_pixel_transparency/allowed<class_ProjectSettings_property_display/window/per_pixel_transparency/allowed>`, or the window's :ref:`Viewport.transparent_bg<class_Viewport_property_transparent_bg>` is set to ``false``.
- .. _class_Window_constant_FLAG_NO_FOCUS:
- .. rst-class:: classref-enumeration-constant
- :ref:`Flags<enum_Window_Flags>` **FLAG_NO_FOCUS** = ``4``
- The window can't be focused. No-focus window will ignore all input, except mouse clicks. Set with :ref:`unfocusable<class_Window_property_unfocusable>`.
- .. _class_Window_constant_FLAG_POPUP:
- .. rst-class:: classref-enumeration-constant
- :ref:`Flags<enum_Window_Flags>` **FLAG_POPUP** = ``5``
- Window is part of menu or :ref:`OptionButton<class_OptionButton>` dropdown. This flag can't be changed when the window is visible. An active popup window will exclusively receive all input, without stealing focus from its parent. Popup windows are automatically closed when uses click outside it, or when an application is switched. Popup window must have transient parent set (see :ref:`transient<class_Window_property_transient>`).
- \ **Note:** This flag has no effect in embedded windows (unless said window is a :ref:`Popup<class_Popup>`).
- .. _class_Window_constant_FLAG_EXTEND_TO_TITLE:
- .. rst-class:: classref-enumeration-constant
- :ref:`Flags<enum_Window_Flags>` **FLAG_EXTEND_TO_TITLE** = ``6``
- Window content is expanded to the full size of the window. Unlike borderless window, the frame is left intact and can be used to resize the window, title bar is transparent, but have minimize/maximize/close buttons. Set with :ref:`extend_to_title<class_Window_property_extend_to_title>`.
- \ **Note:** This flag is implemented only on macOS.
- \ **Note:** This flag has no effect in embedded windows.
- .. _class_Window_constant_FLAG_MOUSE_PASSTHROUGH:
- .. rst-class:: classref-enumeration-constant
- :ref:`Flags<enum_Window_Flags>` **FLAG_MOUSE_PASSTHROUGH** = ``7``
- All mouse events are passed to the underlying window of the same application.
- \ **Note:** This flag has no effect in embedded windows.
- .. _class_Window_constant_FLAG_SHARP_CORNERS:
- .. rst-class:: classref-enumeration-constant
- :ref:`Flags<enum_Window_Flags>` **FLAG_SHARP_CORNERS** = ``8``
- Window style is overridden, forcing sharp corners.
- \ **Note:** This flag has no effect in embedded windows.
- \ **Note:** This flag is implemented only on Windows (11).
- .. _class_Window_constant_FLAG_MAX:
- .. rst-class:: classref-enumeration-constant
- :ref:`Flags<enum_Window_Flags>` **FLAG_MAX** = ``9``
- Max value of the :ref:`Flags<enum_Window_Flags>`.
- .. rst-class:: classref-item-separator
- ----
- .. _enum_Window_ContentScaleMode:
- .. rst-class:: classref-enumeration
- enum **ContentScaleMode**: :ref:`🔗<enum_Window_ContentScaleMode>`
- .. _class_Window_constant_CONTENT_SCALE_MODE_DISABLED:
- .. rst-class:: classref-enumeration-constant
- :ref:`ContentScaleMode<enum_Window_ContentScaleMode>` **CONTENT_SCALE_MODE_DISABLED** = ``0``
- The content will not be scaled to match the **Window**'s size.
- .. _class_Window_constant_CONTENT_SCALE_MODE_CANVAS_ITEMS:
- .. rst-class:: classref-enumeration-constant
- :ref:`ContentScaleMode<enum_Window_ContentScaleMode>` **CONTENT_SCALE_MODE_CANVAS_ITEMS** = ``1``
- The content will be rendered at the target size. This is more performance-expensive than :ref:`CONTENT_SCALE_MODE_VIEWPORT<class_Window_constant_CONTENT_SCALE_MODE_VIEWPORT>`, but provides better results.
- .. _class_Window_constant_CONTENT_SCALE_MODE_VIEWPORT:
- .. rst-class:: classref-enumeration-constant
- :ref:`ContentScaleMode<enum_Window_ContentScaleMode>` **CONTENT_SCALE_MODE_VIEWPORT** = ``2``
- The content will be rendered at the base size and then scaled to the target size. More performant than :ref:`CONTENT_SCALE_MODE_CANVAS_ITEMS<class_Window_constant_CONTENT_SCALE_MODE_CANVAS_ITEMS>`, but results in pixelated image.
- .. rst-class:: classref-item-separator
- ----
- .. _enum_Window_ContentScaleAspect:
- .. rst-class:: classref-enumeration
- enum **ContentScaleAspect**: :ref:`🔗<enum_Window_ContentScaleAspect>`
- .. _class_Window_constant_CONTENT_SCALE_ASPECT_IGNORE:
- .. rst-class:: classref-enumeration-constant
- :ref:`ContentScaleAspect<enum_Window_ContentScaleAspect>` **CONTENT_SCALE_ASPECT_IGNORE** = ``0``
- The aspect will be ignored. Scaling will simply stretch the content to fit the target size.
- .. _class_Window_constant_CONTENT_SCALE_ASPECT_KEEP:
- .. rst-class:: classref-enumeration-constant
- :ref:`ContentScaleAspect<enum_Window_ContentScaleAspect>` **CONTENT_SCALE_ASPECT_KEEP** = ``1``
- The content's aspect will be preserved. If the target size has different aspect from the base one, the image will be centered and black bars will appear on left and right sides.
- .. _class_Window_constant_CONTENT_SCALE_ASPECT_KEEP_WIDTH:
- .. rst-class:: classref-enumeration-constant
- :ref:`ContentScaleAspect<enum_Window_ContentScaleAspect>` **CONTENT_SCALE_ASPECT_KEEP_WIDTH** = ``2``
- The content can be expanded vertically. Scaling horizontally will result in keeping the width ratio and then black bars on left and right sides.
- .. _class_Window_constant_CONTENT_SCALE_ASPECT_KEEP_HEIGHT:
- .. rst-class:: classref-enumeration-constant
- :ref:`ContentScaleAspect<enum_Window_ContentScaleAspect>` **CONTENT_SCALE_ASPECT_KEEP_HEIGHT** = ``3``
- The content can be expanded horizontally. Scaling vertically will result in keeping the height ratio and then black bars on top and bottom sides.
- .. _class_Window_constant_CONTENT_SCALE_ASPECT_EXPAND:
- .. rst-class:: classref-enumeration-constant
- :ref:`ContentScaleAspect<enum_Window_ContentScaleAspect>` **CONTENT_SCALE_ASPECT_EXPAND** = ``4``
- The content's aspect will be preserved. If the target size has different aspect from the base one, the content will stay in the top-left corner and add an extra visible area in the stretched space.
- .. rst-class:: classref-item-separator
- ----
- .. _enum_Window_ContentScaleStretch:
- .. rst-class:: classref-enumeration
- enum **ContentScaleStretch**: :ref:`🔗<enum_Window_ContentScaleStretch>`
- .. _class_Window_constant_CONTENT_SCALE_STRETCH_FRACTIONAL:
- .. rst-class:: classref-enumeration-constant
- :ref:`ContentScaleStretch<enum_Window_ContentScaleStretch>` **CONTENT_SCALE_STRETCH_FRACTIONAL** = ``0``
- The content will be stretched according to a fractional factor. This fills all the space available in the window, but allows "pixel wobble" to occur due to uneven pixel scaling.
- .. _class_Window_constant_CONTENT_SCALE_STRETCH_INTEGER:
- .. rst-class:: classref-enumeration-constant
- :ref:`ContentScaleStretch<enum_Window_ContentScaleStretch>` **CONTENT_SCALE_STRETCH_INTEGER** = ``1``
- The content will be stretched only according to an integer factor, preserving sharp pixels. This may leave a black background visible on the window's edges depending on the window size.
- .. rst-class:: classref-item-separator
- ----
- .. _enum_Window_LayoutDirection:
- .. rst-class:: classref-enumeration
- enum **LayoutDirection**: :ref:`🔗<enum_Window_LayoutDirection>`
- .. _class_Window_constant_LAYOUT_DIRECTION_INHERITED:
- .. rst-class:: classref-enumeration-constant
- :ref:`LayoutDirection<enum_Window_LayoutDirection>` **LAYOUT_DIRECTION_INHERITED** = ``0``
- Automatic layout direction, determined from the parent window layout direction.
- .. _class_Window_constant_LAYOUT_DIRECTION_APPLICATION_LOCALE:
- .. rst-class:: classref-enumeration-constant
- :ref:`LayoutDirection<enum_Window_LayoutDirection>` **LAYOUT_DIRECTION_APPLICATION_LOCALE** = ``1``
- Automatic layout direction, determined from the current locale.
- .. _class_Window_constant_LAYOUT_DIRECTION_LTR:
- .. rst-class:: classref-enumeration-constant
- :ref:`LayoutDirection<enum_Window_LayoutDirection>` **LAYOUT_DIRECTION_LTR** = ``2``
- Left-to-right layout direction.
- .. _class_Window_constant_LAYOUT_DIRECTION_RTL:
- .. rst-class:: classref-enumeration-constant
- :ref:`LayoutDirection<enum_Window_LayoutDirection>` **LAYOUT_DIRECTION_RTL** = ``3``
- Right-to-left layout direction.
- .. _class_Window_constant_LAYOUT_DIRECTION_SYSTEM_LOCALE:
- .. rst-class:: classref-enumeration-constant
- :ref:`LayoutDirection<enum_Window_LayoutDirection>` **LAYOUT_DIRECTION_SYSTEM_LOCALE** = ``4``
- Automatic layout direction, determined from the system locale.
- .. _class_Window_constant_LAYOUT_DIRECTION_MAX:
- .. rst-class:: classref-enumeration-constant
- :ref:`LayoutDirection<enum_Window_LayoutDirection>` **LAYOUT_DIRECTION_MAX** = ``5``
- Represents the size of the :ref:`LayoutDirection<enum_Window_LayoutDirection>` enum.
- .. _class_Window_constant_LAYOUT_DIRECTION_LOCALE:
- .. rst-class:: classref-enumeration-constant
- :ref:`LayoutDirection<enum_Window_LayoutDirection>` **LAYOUT_DIRECTION_LOCALE** = ``1``
- **Deprecated:** Use :ref:`LAYOUT_DIRECTION_APPLICATION_LOCALE<class_Window_constant_LAYOUT_DIRECTION_APPLICATION_LOCALE>` instead.
- .. rst-class:: classref-item-separator
- ----
- .. _enum_Window_WindowInitialPosition:
- .. rst-class:: classref-enumeration
- enum **WindowInitialPosition**: :ref:`🔗<enum_Window_WindowInitialPosition>`
- .. _class_Window_constant_WINDOW_INITIAL_POSITION_ABSOLUTE:
- .. rst-class:: classref-enumeration-constant
- :ref:`WindowInitialPosition<enum_Window_WindowInitialPosition>` **WINDOW_INITIAL_POSITION_ABSOLUTE** = ``0``
- Initial window position is determined by :ref:`position<class_Window_property_position>`.
- .. _class_Window_constant_WINDOW_INITIAL_POSITION_CENTER_PRIMARY_SCREEN:
- .. rst-class:: classref-enumeration-constant
- :ref:`WindowInitialPosition<enum_Window_WindowInitialPosition>` **WINDOW_INITIAL_POSITION_CENTER_PRIMARY_SCREEN** = ``1``
- Initial window position is the center of the primary screen.
- .. _class_Window_constant_WINDOW_INITIAL_POSITION_CENTER_MAIN_WINDOW_SCREEN:
- .. rst-class:: classref-enumeration-constant
- :ref:`WindowInitialPosition<enum_Window_WindowInitialPosition>` **WINDOW_INITIAL_POSITION_CENTER_MAIN_WINDOW_SCREEN** = ``2``
- Initial window position is the center of the main window screen.
- .. _class_Window_constant_WINDOW_INITIAL_POSITION_CENTER_OTHER_SCREEN:
- .. rst-class:: classref-enumeration-constant
- :ref:`WindowInitialPosition<enum_Window_WindowInitialPosition>` **WINDOW_INITIAL_POSITION_CENTER_OTHER_SCREEN** = ``3``
- Initial window position is the center of :ref:`current_screen<class_Window_property_current_screen>` screen.
- .. _class_Window_constant_WINDOW_INITIAL_POSITION_CENTER_SCREEN_WITH_MOUSE_FOCUS:
- .. rst-class:: classref-enumeration-constant
- :ref:`WindowInitialPosition<enum_Window_WindowInitialPosition>` **WINDOW_INITIAL_POSITION_CENTER_SCREEN_WITH_MOUSE_FOCUS** = ``4``
- Initial window position is the center of the screen containing the mouse pointer.
- .. _class_Window_constant_WINDOW_INITIAL_POSITION_CENTER_SCREEN_WITH_KEYBOARD_FOCUS:
- .. rst-class:: classref-enumeration-constant
- :ref:`WindowInitialPosition<enum_Window_WindowInitialPosition>` **WINDOW_INITIAL_POSITION_CENTER_SCREEN_WITH_KEYBOARD_FOCUS** = ``5``
- Initial window position is the center of the screen containing the window with the keyboard focus.
- .. rst-class:: classref-section-separator
- ----
- .. rst-class:: classref-descriptions-group
- Constants
- ---------
- .. _class_Window_constant_NOTIFICATION_VISIBILITY_CHANGED:
- .. rst-class:: classref-constant
- **NOTIFICATION_VISIBILITY_CHANGED** = ``30`` :ref:`🔗<class_Window_constant_NOTIFICATION_VISIBILITY_CHANGED>`
- Emitted when **Window**'s visibility changes, right before :ref:`visibility_changed<class_Window_signal_visibility_changed>`.
- .. _class_Window_constant_NOTIFICATION_THEME_CHANGED:
- .. rst-class:: classref-constant
- **NOTIFICATION_THEME_CHANGED** = ``32`` :ref:`🔗<class_Window_constant_NOTIFICATION_THEME_CHANGED>`
- Sent when the node needs to refresh its theme items. This happens in one of the following cases:
- - The :ref:`theme<class_Window_property_theme>` property is changed on this node or any of its ancestors.
- - The :ref:`theme_type_variation<class_Window_property_theme_type_variation>` property is changed on this node.
- - The node enters the scene tree.
- \ **Note:** As an optimization, this notification won't be sent from changes that occur while this node is outside of the scene tree. Instead, all of the theme item updates can be applied at once when the node enters the scene tree.
- .. rst-class:: classref-section-separator
- ----
- .. rst-class:: classref-descriptions-group
- Property Descriptions
- ---------------------
- .. _class_Window_property_always_on_top:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **always_on_top** = ``false`` :ref:`🔗<class_Window_property_always_on_top>`
- .. rst-class:: classref-property-setget
- - |void| **set_flag**\ (\ flag\: :ref:`Flags<enum_Window_Flags>`, enabled\: :ref:`bool<class_bool>`\ )
- - :ref:`bool<class_bool>` **get_flag**\ (\ flag\: :ref:`Flags<enum_Window_Flags>`\ ) |const|
- If ``true``, the window will be on top of all other windows. Does not work if :ref:`transient<class_Window_property_transient>` is enabled.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_property_auto_translate:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **auto_translate** = ``true`` :ref:`🔗<class_Window_property_auto_translate>`
- .. rst-class:: classref-property-setget
- - |void| **set_auto_translate**\ (\ value\: :ref:`bool<class_bool>`\ )
- - :ref:`bool<class_bool>` **is_auto_translating**\ (\ )
- **Deprecated:** Use :ref:`Node.auto_translate_mode<class_Node_property_auto_translate_mode>` instead.
- Toggles if any text should automatically change to its translated version depending on the current locale.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_property_borderless:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **borderless** = ``false`` :ref:`🔗<class_Window_property_borderless>`
- .. rst-class:: classref-property-setget
- - |void| **set_flag**\ (\ flag\: :ref:`Flags<enum_Window_Flags>`, enabled\: :ref:`bool<class_bool>`\ )
- - :ref:`bool<class_bool>` **get_flag**\ (\ flag\: :ref:`Flags<enum_Window_Flags>`\ ) |const|
- If ``true``, the window will have no borders.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_property_content_scale_aspect:
- .. rst-class:: classref-property
- :ref:`ContentScaleAspect<enum_Window_ContentScaleAspect>` **content_scale_aspect** = ``0`` :ref:`🔗<class_Window_property_content_scale_aspect>`
- .. rst-class:: classref-property-setget
- - |void| **set_content_scale_aspect**\ (\ value\: :ref:`ContentScaleAspect<enum_Window_ContentScaleAspect>`\ )
- - :ref:`ContentScaleAspect<enum_Window_ContentScaleAspect>` **get_content_scale_aspect**\ (\ )
- Specifies how the content's aspect behaves when the **Window** is resized. The base aspect is determined by :ref:`content_scale_size<class_Window_property_content_scale_size>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_property_content_scale_factor:
- .. rst-class:: classref-property
- :ref:`float<class_float>` **content_scale_factor** = ``1.0`` :ref:`🔗<class_Window_property_content_scale_factor>`
- .. rst-class:: classref-property-setget
- - |void| **set_content_scale_factor**\ (\ value\: :ref:`float<class_float>`\ )
- - :ref:`float<class_float>` **get_content_scale_factor**\ (\ )
- Specifies the base scale of **Window**'s content when its :ref:`size<class_Window_property_size>` is equal to :ref:`content_scale_size<class_Window_property_content_scale_size>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_property_content_scale_mode:
- .. rst-class:: classref-property
- :ref:`ContentScaleMode<enum_Window_ContentScaleMode>` **content_scale_mode** = ``0`` :ref:`🔗<class_Window_property_content_scale_mode>`
- .. rst-class:: classref-property-setget
- - |void| **set_content_scale_mode**\ (\ value\: :ref:`ContentScaleMode<enum_Window_ContentScaleMode>`\ )
- - :ref:`ContentScaleMode<enum_Window_ContentScaleMode>` **get_content_scale_mode**\ (\ )
- Specifies how the content is scaled when the **Window** is resized.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_property_content_scale_size:
- .. rst-class:: classref-property
- :ref:`Vector2i<class_Vector2i>` **content_scale_size** = ``Vector2i(0, 0)`` :ref:`🔗<class_Window_property_content_scale_size>`
- .. rst-class:: classref-property-setget
- - |void| **set_content_scale_size**\ (\ value\: :ref:`Vector2i<class_Vector2i>`\ )
- - :ref:`Vector2i<class_Vector2i>` **get_content_scale_size**\ (\ )
- Base size of the content (i.e. nodes that are drawn inside the window). If non-zero, **Window**'s content will be scaled when the window is resized to a different size.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_property_content_scale_stretch:
- .. rst-class:: classref-property
- :ref:`ContentScaleStretch<enum_Window_ContentScaleStretch>` **content_scale_stretch** = ``0`` :ref:`🔗<class_Window_property_content_scale_stretch>`
- .. rst-class:: classref-property-setget
- - |void| **set_content_scale_stretch**\ (\ value\: :ref:`ContentScaleStretch<enum_Window_ContentScaleStretch>`\ )
- - :ref:`ContentScaleStretch<enum_Window_ContentScaleStretch>` **get_content_scale_stretch**\ (\ )
- The policy to use to determine the final scale factor for 2D elements. This affects how :ref:`content_scale_factor<class_Window_property_content_scale_factor>` is applied, in addition to the automatic scale factor determined by :ref:`content_scale_size<class_Window_property_content_scale_size>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_property_current_screen:
- .. rst-class:: classref-property
- :ref:`int<class_int>` **current_screen** :ref:`🔗<class_Window_property_current_screen>`
- .. rst-class:: classref-property-setget
- - |void| **set_current_screen**\ (\ value\: :ref:`int<class_int>`\ )
- - :ref:`int<class_int>` **get_current_screen**\ (\ )
- The screen the window is currently on.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_property_exclusive:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **exclusive** = ``false`` :ref:`🔗<class_Window_property_exclusive>`
- .. rst-class:: classref-property-setget
- - |void| **set_exclusive**\ (\ value\: :ref:`bool<class_bool>`\ )
- - :ref:`bool<class_bool>` **is_exclusive**\ (\ )
- If ``true``, the **Window** will be in exclusive mode. Exclusive windows are always on top of their parent and will block all input going to the parent **Window**.
- Needs :ref:`transient<class_Window_property_transient>` enabled to work.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_property_extend_to_title:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **extend_to_title** = ``false`` :ref:`🔗<class_Window_property_extend_to_title>`
- .. rst-class:: classref-property-setget
- - |void| **set_flag**\ (\ flag\: :ref:`Flags<enum_Window_Flags>`, enabled\: :ref:`bool<class_bool>`\ )
- - :ref:`bool<class_bool>` **get_flag**\ (\ flag\: :ref:`Flags<enum_Window_Flags>`\ ) |const|
- If ``true``, the **Window** contents is expanded to the full size of the window, window title bar is transparent.
- \ **Note:** This property is implemented only on macOS.
- \ **Note:** This property only works with native windows.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_property_force_native:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **force_native** = ``false`` :ref:`🔗<class_Window_property_force_native>`
- .. rst-class:: classref-property-setget
- - |void| **set_force_native**\ (\ value\: :ref:`bool<class_bool>`\ )
- - :ref:`bool<class_bool>` **get_force_native**\ (\ )
- If ``true``, native window will be used regardless of parent viewport and project settings.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_property_initial_position:
- .. rst-class:: classref-property
- :ref:`WindowInitialPosition<enum_Window_WindowInitialPosition>` **initial_position** = ``0`` :ref:`🔗<class_Window_property_initial_position>`
- .. rst-class:: classref-property-setget
- - |void| **set_initial_position**\ (\ value\: :ref:`WindowInitialPosition<enum_Window_WindowInitialPosition>`\ )
- - :ref:`WindowInitialPosition<enum_Window_WindowInitialPosition>` **get_initial_position**\ (\ )
- Specifies the initial type of position for the **Window**. See :ref:`WindowInitialPosition<enum_Window_WindowInitialPosition>` constants.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_property_keep_title_visible:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **keep_title_visible** = ``false`` :ref:`🔗<class_Window_property_keep_title_visible>`
- .. rst-class:: classref-property-setget
- - |void| **set_keep_title_visible**\ (\ value\: :ref:`bool<class_bool>`\ )
- - :ref:`bool<class_bool>` **get_keep_title_visible**\ (\ )
- If ``true``, the **Window** width is expanded to keep the title bar text fully visible.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_property_max_size:
- .. rst-class:: classref-property
- :ref:`Vector2i<class_Vector2i>` **max_size** = ``Vector2i(0, 0)`` :ref:`🔗<class_Window_property_max_size>`
- .. rst-class:: classref-property-setget
- - |void| **set_max_size**\ (\ value\: :ref:`Vector2i<class_Vector2i>`\ )
- - :ref:`Vector2i<class_Vector2i>` **get_max_size**\ (\ )
- If non-zero, the **Window** can't be resized to be bigger than this size.
- \ **Note:** This property will be ignored if the value is lower than :ref:`min_size<class_Window_property_min_size>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_property_min_size:
- .. rst-class:: classref-property
- :ref:`Vector2i<class_Vector2i>` **min_size** = ``Vector2i(0, 0)`` :ref:`🔗<class_Window_property_min_size>`
- .. rst-class:: classref-property-setget
- - |void| **set_min_size**\ (\ value\: :ref:`Vector2i<class_Vector2i>`\ )
- - :ref:`Vector2i<class_Vector2i>` **get_min_size**\ (\ )
- If non-zero, the **Window** can't be resized to be smaller than this size.
- \ **Note:** This property will be ignored in favor of :ref:`get_contents_minimum_size<class_Window_method_get_contents_minimum_size>` if :ref:`wrap_controls<class_Window_property_wrap_controls>` is enabled and if its size is bigger.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_property_mode:
- .. rst-class:: classref-property
- :ref:`Mode<enum_Window_Mode>` **mode** = ``0`` :ref:`🔗<class_Window_property_mode>`
- .. rst-class:: classref-property-setget
- - |void| **set_mode**\ (\ value\: :ref:`Mode<enum_Window_Mode>`\ )
- - :ref:`Mode<enum_Window_Mode>` **get_mode**\ (\ )
- Set's the window's current mode.
- \ **Note:** Fullscreen mode is not exclusive full screen on Windows and Linux.
- \ **Note:** This method only works with native windows, i.e. the main window and **Window**-derived nodes when :ref:`Viewport.gui_embed_subwindows<class_Viewport_property_gui_embed_subwindows>` is disabled in the main viewport.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_property_mouse_passthrough:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **mouse_passthrough** = ``false`` :ref:`🔗<class_Window_property_mouse_passthrough>`
- .. rst-class:: classref-property-setget
- - |void| **set_flag**\ (\ flag\: :ref:`Flags<enum_Window_Flags>`, enabled\: :ref:`bool<class_bool>`\ )
- - :ref:`bool<class_bool>` **get_flag**\ (\ flag\: :ref:`Flags<enum_Window_Flags>`\ ) |const|
- If ``true``, all mouse events will be passed to the underlying window of the same application. See also :ref:`mouse_passthrough_polygon<class_Window_property_mouse_passthrough_polygon>`.
- \ **Note:** This property is implemented on Linux (X11), macOS and Windows.
- \ **Note:** This property only works with native windows.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_property_mouse_passthrough_polygon:
- .. rst-class:: classref-property
- :ref:`PackedVector2Array<class_PackedVector2Array>` **mouse_passthrough_polygon** = ``PackedVector2Array()`` :ref:`🔗<class_Window_property_mouse_passthrough_polygon>`
- .. rst-class:: classref-property-setget
- - |void| **set_mouse_passthrough_polygon**\ (\ value\: :ref:`PackedVector2Array<class_PackedVector2Array>`\ )
- - :ref:`PackedVector2Array<class_PackedVector2Array>` **get_mouse_passthrough_polygon**\ (\ )
- Sets a polygonal region of the window which accepts mouse events. Mouse events outside the region will be passed through.
- Passing an empty array will disable passthrough support (all mouse events will be intercepted by the window, which is the default behavior).
- .. tabs::
- .. code-tab:: gdscript
- # Set region, using Path2D node.
- $Window.mouse_passthrough_polygon = $Path2D.curve.get_baked_points()
-
- # Set region, using Polygon2D node.
- $Window.mouse_passthrough_polygon = $Polygon2D.polygon
-
- # Reset region to default.
- $Window.mouse_passthrough_polygon = []
- .. code-tab:: csharp
- // Set region, using Path2D node.
- GetNode<Window>("Window").MousePassthrough = GetNode<Path2D>("Path2D").Curve.GetBakedPoints();
-
- // Set region, using Polygon2D node.
- GetNode<Window>("Window").MousePassthrough = GetNode<Polygon2D>("Polygon2D").Polygon;
-
- // Reset region to default.
- GetNode<Window>("Window").MousePassthrough = new Vector2[] {};
- \ **Note:** This property is ignored if :ref:`mouse_passthrough<class_Window_property_mouse_passthrough>` is set to ``true``.
- \ **Note:** On Windows, the portion of a window that lies outside the region is not drawn, while on Linux (X11) and macOS it is.
- \ **Note:** This property is implemented on Linux (X11), macOS and Windows.
- **Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedVector2Array<class_PackedVector2Array>` for more details.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_property_popup_window:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **popup_window** = ``false`` :ref:`🔗<class_Window_property_popup_window>`
- .. rst-class:: classref-property-setget
- - |void| **set_flag**\ (\ flag\: :ref:`Flags<enum_Window_Flags>`, enabled\: :ref:`bool<class_bool>`\ )
- - :ref:`bool<class_bool>` **get_flag**\ (\ flag\: :ref:`Flags<enum_Window_Flags>`\ ) |const|
- If ``true``, the **Window** will be considered a popup. Popups are sub-windows that don't show as separate windows in system's window manager's window list and will send close request when anything is clicked outside of them (unless :ref:`exclusive<class_Window_property_exclusive>` is enabled).
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_property_position:
- .. rst-class:: classref-property
- :ref:`Vector2i<class_Vector2i>` **position** = ``Vector2i(0, 0)`` :ref:`🔗<class_Window_property_position>`
- .. rst-class:: classref-property-setget
- - |void| **set_position**\ (\ value\: :ref:`Vector2i<class_Vector2i>`\ )
- - :ref:`Vector2i<class_Vector2i>` **get_position**\ (\ )
- The window's position in pixels.
- If :ref:`ProjectSettings.display/window/subwindows/embed_subwindows<class_ProjectSettings_property_display/window/subwindows/embed_subwindows>` is ``false``, the position is in absolute screen coordinates. This typically applies to editor plugins. If the setting is ``true``, the window's position is in the coordinates of its parent :ref:`Viewport<class_Viewport>`.
- \ **Note:** This property only works if :ref:`initial_position<class_Window_property_initial_position>` is set to :ref:`WINDOW_INITIAL_POSITION_ABSOLUTE<class_Window_constant_WINDOW_INITIAL_POSITION_ABSOLUTE>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_property_sharp_corners:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **sharp_corners** = ``false`` :ref:`🔗<class_Window_property_sharp_corners>`
- .. rst-class:: classref-property-setget
- - |void| **set_flag**\ (\ flag\: :ref:`Flags<enum_Window_Flags>`, enabled\: :ref:`bool<class_bool>`\ )
- - :ref:`bool<class_bool>` **get_flag**\ (\ flag\: :ref:`Flags<enum_Window_Flags>`\ ) |const|
- If ``true``, the **Window** will override the OS window style to display sharp corners.
- \ **Note:** This property is implemented only on Windows (11).
- \ **Note:** This property only works with native windows.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_property_size:
- .. rst-class:: classref-property
- :ref:`Vector2i<class_Vector2i>` **size** = ``Vector2i(100, 100)`` :ref:`🔗<class_Window_property_size>`
- .. rst-class:: classref-property-setget
- - |void| **set_size**\ (\ value\: :ref:`Vector2i<class_Vector2i>`\ )
- - :ref:`Vector2i<class_Vector2i>` **get_size**\ (\ )
- The window's size in pixels.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_property_theme:
- .. rst-class:: classref-property
- :ref:`Theme<class_Theme>` **theme** :ref:`🔗<class_Window_property_theme>`
- .. rst-class:: classref-property-setget
- - |void| **set_theme**\ (\ value\: :ref:`Theme<class_Theme>`\ )
- - :ref:`Theme<class_Theme>` **get_theme**\ (\ )
- The :ref:`Theme<class_Theme>` resource this node and all its :ref:`Control<class_Control>` and **Window** children use. If a child node has its own :ref:`Theme<class_Theme>` resource set, theme items are merged with child's definitions having higher priority.
- \ **Note:** **Window** styles will have no effect unless the window is embedded.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_property_theme_type_variation:
- .. rst-class:: classref-property
- :ref:`StringName<class_StringName>` **theme_type_variation** = ``&""`` :ref:`🔗<class_Window_property_theme_type_variation>`
- .. rst-class:: classref-property-setget
- - |void| **set_theme_type_variation**\ (\ value\: :ref:`StringName<class_StringName>`\ )
- - :ref:`StringName<class_StringName>` **get_theme_type_variation**\ (\ )
- The name of a theme type variation used by this **Window** to look up its own theme items. See :ref:`Control.theme_type_variation<class_Control_property_theme_type_variation>` for more details.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_property_title:
- .. rst-class:: classref-property
- :ref:`String<class_String>` **title** = ``""`` :ref:`🔗<class_Window_property_title>`
- .. rst-class:: classref-property-setget
- - |void| **set_title**\ (\ value\: :ref:`String<class_String>`\ )
- - :ref:`String<class_String>` **get_title**\ (\ )
- The window's title. If the **Window** is native, title styles set in :ref:`Theme<class_Theme>` will have no effect.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_property_transient:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **transient** = ``false`` :ref:`🔗<class_Window_property_transient>`
- .. rst-class:: classref-property-setget
- - |void| **set_transient**\ (\ value\: :ref:`bool<class_bool>`\ )
- - :ref:`bool<class_bool>` **is_transient**\ (\ )
- If ``true``, the **Window** is transient, i.e. it's considered a child of another **Window**. The transient window will be destroyed with its transient parent and will return focus to their parent when closed. The transient window is displayed on top of a non-exclusive full-screen parent window. Transient windows can't enter full-screen mode.
- Note that behavior might be different depending on the platform.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_property_transient_to_focused:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **transient_to_focused** = ``false`` :ref:`🔗<class_Window_property_transient_to_focused>`
- .. rst-class:: classref-property-setget
- - |void| **set_transient_to_focused**\ (\ value\: :ref:`bool<class_bool>`\ )
- - :ref:`bool<class_bool>` **is_transient_to_focused**\ (\ )
- If ``true``, and the **Window** is :ref:`transient<class_Window_property_transient>`, this window will (at the time of becoming visible) become transient to the currently focused window instead of the immediate parent window in the hierarchy. Note that the transient parent is assigned at the time this window becomes visible, so changing it afterwards has no effect until re-shown.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_property_transparent:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **transparent** = ``false`` :ref:`🔗<class_Window_property_transparent>`
- .. rst-class:: classref-property-setget
- - |void| **set_flag**\ (\ flag\: :ref:`Flags<enum_Window_Flags>`, enabled\: :ref:`bool<class_bool>`\ )
- - :ref:`bool<class_bool>` **get_flag**\ (\ flag\: :ref:`Flags<enum_Window_Flags>`\ ) |const|
- If ``true``, the **Window**'s background can be transparent. This is best used with embedded windows.
- \ **Note:** Transparency support is implemented on Linux, macOS and Windows, but availability might vary depending on GPU driver, display manager, and compositor capabilities.
- \ **Note:** This property has no effect if :ref:`ProjectSettings.display/window/per_pixel_transparency/allowed<class_ProjectSettings_property_display/window/per_pixel_transparency/allowed>` is set to ``false``.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_property_unfocusable:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **unfocusable** = ``false`` :ref:`🔗<class_Window_property_unfocusable>`
- .. rst-class:: classref-property-setget
- - |void| **set_flag**\ (\ flag\: :ref:`Flags<enum_Window_Flags>`, enabled\: :ref:`bool<class_bool>`\ )
- - :ref:`bool<class_bool>` **get_flag**\ (\ flag\: :ref:`Flags<enum_Window_Flags>`\ ) |const|
- If ``true``, the **Window** can't be focused nor interacted with. It can still be visible.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_property_unresizable:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **unresizable** = ``false`` :ref:`🔗<class_Window_property_unresizable>`
- .. rst-class:: classref-property-setget
- - |void| **set_flag**\ (\ flag\: :ref:`Flags<enum_Window_Flags>`, enabled\: :ref:`bool<class_bool>`\ )
- - :ref:`bool<class_bool>` **get_flag**\ (\ flag\: :ref:`Flags<enum_Window_Flags>`\ ) |const|
- If ``true``, the window can't be resized. Minimize and maximize buttons are disabled.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_property_visible:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **visible** = ``true`` :ref:`🔗<class_Window_property_visible>`
- .. rst-class:: classref-property-setget
- - |void| **set_visible**\ (\ value\: :ref:`bool<class_bool>`\ )
- - :ref:`bool<class_bool>` **is_visible**\ (\ )
- If ``true``, the window is visible.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_property_wrap_controls:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **wrap_controls** = ``false`` :ref:`🔗<class_Window_property_wrap_controls>`
- .. rst-class:: classref-property-setget
- - |void| **set_wrap_controls**\ (\ value\: :ref:`bool<class_bool>`\ )
- - :ref:`bool<class_bool>` **is_wrapping_controls**\ (\ )
- If ``true``, the window's size will automatically update when a child node is added or removed, ignoring :ref:`min_size<class_Window_property_min_size>` if the new size is bigger.
- If ``false``, you need to call :ref:`child_controls_changed<class_Window_method_child_controls_changed>` manually.
- .. rst-class:: classref-section-separator
- ----
- .. rst-class:: classref-descriptions-group
- Method Descriptions
- -------------------
- .. _class_Window_private_method__get_contents_minimum_size:
- .. rst-class:: classref-method
- :ref:`Vector2<class_Vector2>` **_get_contents_minimum_size**\ (\ ) |virtual| |const| :ref:`🔗<class_Window_private_method__get_contents_minimum_size>`
- Virtual method to be implemented by the user. Overrides the value returned by :ref:`get_contents_minimum_size<class_Window_method_get_contents_minimum_size>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_add_theme_color_override:
- .. rst-class:: classref-method
- |void| **add_theme_color_override**\ (\ name\: :ref:`StringName<class_StringName>`, color\: :ref:`Color<class_Color>`\ ) :ref:`🔗<class_Window_method_add_theme_color_override>`
- Creates a local override for a theme :ref:`Color<class_Color>` with the specified ``name``. Local overrides always take precedence when fetching theme items for the control. An override can be removed with :ref:`remove_theme_color_override<class_Window_method_remove_theme_color_override>`.
- See also :ref:`get_theme_color<class_Window_method_get_theme_color>` and :ref:`Control.add_theme_color_override<class_Control_method_add_theme_color_override>` for more details.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_add_theme_constant_override:
- .. rst-class:: classref-method
- |void| **add_theme_constant_override**\ (\ name\: :ref:`StringName<class_StringName>`, constant\: :ref:`int<class_int>`\ ) :ref:`🔗<class_Window_method_add_theme_constant_override>`
- Creates a local override for a theme constant with the specified ``name``. Local overrides always take precedence when fetching theme items for the control. An override can be removed with :ref:`remove_theme_constant_override<class_Window_method_remove_theme_constant_override>`.
- See also :ref:`get_theme_constant<class_Window_method_get_theme_constant>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_add_theme_font_override:
- .. rst-class:: classref-method
- |void| **add_theme_font_override**\ (\ name\: :ref:`StringName<class_StringName>`, font\: :ref:`Font<class_Font>`\ ) :ref:`🔗<class_Window_method_add_theme_font_override>`
- Creates a local override for a theme :ref:`Font<class_Font>` with the specified ``name``. Local overrides always take precedence when fetching theme items for the control. An override can be removed with :ref:`remove_theme_font_override<class_Window_method_remove_theme_font_override>`.
- See also :ref:`get_theme_font<class_Window_method_get_theme_font>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_add_theme_font_size_override:
- .. rst-class:: classref-method
- |void| **add_theme_font_size_override**\ (\ name\: :ref:`StringName<class_StringName>`, font_size\: :ref:`int<class_int>`\ ) :ref:`🔗<class_Window_method_add_theme_font_size_override>`
- Creates a local override for a theme font size with the specified ``name``. Local overrides always take precedence when fetching theme items for the control. An override can be removed with :ref:`remove_theme_font_size_override<class_Window_method_remove_theme_font_size_override>`.
- See also :ref:`get_theme_font_size<class_Window_method_get_theme_font_size>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_add_theme_icon_override:
- .. rst-class:: classref-method
- |void| **add_theme_icon_override**\ (\ name\: :ref:`StringName<class_StringName>`, texture\: :ref:`Texture2D<class_Texture2D>`\ ) :ref:`🔗<class_Window_method_add_theme_icon_override>`
- Creates a local override for a theme icon with the specified ``name``. Local overrides always take precedence when fetching theme items for the control. An override can be removed with :ref:`remove_theme_icon_override<class_Window_method_remove_theme_icon_override>`.
- See also :ref:`get_theme_icon<class_Window_method_get_theme_icon>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_add_theme_stylebox_override:
- .. rst-class:: classref-method
- |void| **add_theme_stylebox_override**\ (\ name\: :ref:`StringName<class_StringName>`, stylebox\: :ref:`StyleBox<class_StyleBox>`\ ) :ref:`🔗<class_Window_method_add_theme_stylebox_override>`
- Creates a local override for a theme :ref:`StyleBox<class_StyleBox>` with the specified ``name``. Local overrides always take precedence when fetching theme items for the control. An override can be removed with :ref:`remove_theme_stylebox_override<class_Window_method_remove_theme_stylebox_override>`.
- See also :ref:`get_theme_stylebox<class_Window_method_get_theme_stylebox>` and :ref:`Control.add_theme_stylebox_override<class_Control_method_add_theme_stylebox_override>` for more details.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_begin_bulk_theme_override:
- .. rst-class:: classref-method
- |void| **begin_bulk_theme_override**\ (\ ) :ref:`🔗<class_Window_method_begin_bulk_theme_override>`
- Prevents ``*_theme_*_override`` methods from emitting :ref:`NOTIFICATION_THEME_CHANGED<class_Window_constant_NOTIFICATION_THEME_CHANGED>` until :ref:`end_bulk_theme_override<class_Window_method_end_bulk_theme_override>` is called.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_can_draw:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **can_draw**\ (\ ) |const| :ref:`🔗<class_Window_method_can_draw>`
- Returns whether the window is being drawn to the screen.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_child_controls_changed:
- .. rst-class:: classref-method
- |void| **child_controls_changed**\ (\ ) :ref:`🔗<class_Window_method_child_controls_changed>`
- Requests an update of the **Window** size to fit underlying :ref:`Control<class_Control>` nodes.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_end_bulk_theme_override:
- .. rst-class:: classref-method
- |void| **end_bulk_theme_override**\ (\ ) :ref:`🔗<class_Window_method_end_bulk_theme_override>`
- Ends a bulk theme override update. See :ref:`begin_bulk_theme_override<class_Window_method_begin_bulk_theme_override>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_get_contents_minimum_size:
- .. rst-class:: classref-method
- :ref:`Vector2<class_Vector2>` **get_contents_minimum_size**\ (\ ) |const| :ref:`🔗<class_Window_method_get_contents_minimum_size>`
- Returns the combined minimum size from the child :ref:`Control<class_Control>` nodes of the window. Use :ref:`child_controls_changed<class_Window_method_child_controls_changed>` to update it when child nodes have changed.
- The value returned by this method can be overridden with :ref:`_get_contents_minimum_size<class_Window_private_method__get_contents_minimum_size>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_get_flag:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **get_flag**\ (\ flag\: :ref:`Flags<enum_Window_Flags>`\ ) |const| :ref:`🔗<class_Window_method_get_flag>`
- Returns ``true`` if the ``flag`` is set.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_get_layout_direction:
- .. rst-class:: classref-method
- :ref:`LayoutDirection<enum_Window_LayoutDirection>` **get_layout_direction**\ (\ ) |const| :ref:`🔗<class_Window_method_get_layout_direction>`
- Returns layout direction and text writing direction.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_get_position_with_decorations:
- .. rst-class:: classref-method
- :ref:`Vector2i<class_Vector2i>` **get_position_with_decorations**\ (\ ) |const| :ref:`🔗<class_Window_method_get_position_with_decorations>`
- Returns the window's position including its border.
- \ **Note:** If :ref:`visible<class_Window_property_visible>` is ``false``, this method returns the same value as :ref:`position<class_Window_property_position>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_get_size_with_decorations:
- .. rst-class:: classref-method
- :ref:`Vector2i<class_Vector2i>` **get_size_with_decorations**\ (\ ) |const| :ref:`🔗<class_Window_method_get_size_with_decorations>`
- Returns the window's size including its border.
- \ **Note:** If :ref:`visible<class_Window_property_visible>` is ``false``, this method returns the same value as :ref:`size<class_Window_property_size>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_get_theme_color:
- .. rst-class:: classref-method
- :ref:`Color<class_Color>` **get_theme_color**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>` = &""\ ) |const| :ref:`🔗<class_Window_method_get_theme_color>`
- Returns a :ref:`Color<class_Color>` from the first matching :ref:`Theme<class_Theme>` in the tree if that :ref:`Theme<class_Theme>` has a color item with the specified ``name`` and ``theme_type``.
- See :ref:`Control.get_theme_color<class_Control_method_get_theme_color>` for more details.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_get_theme_constant:
- .. rst-class:: classref-method
- :ref:`int<class_int>` **get_theme_constant**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>` = &""\ ) |const| :ref:`🔗<class_Window_method_get_theme_constant>`
- Returns a constant from the first matching :ref:`Theme<class_Theme>` in the tree if that :ref:`Theme<class_Theme>` has a constant item with the specified ``name`` and ``theme_type``.
- See :ref:`Control.get_theme_color<class_Control_method_get_theme_color>` for more details.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_get_theme_default_base_scale:
- .. rst-class:: classref-method
- :ref:`float<class_float>` **get_theme_default_base_scale**\ (\ ) |const| :ref:`🔗<class_Window_method_get_theme_default_base_scale>`
- Returns the default base scale value from the first matching :ref:`Theme<class_Theme>` in the tree if that :ref:`Theme<class_Theme>` has a valid :ref:`Theme.default_base_scale<class_Theme_property_default_base_scale>` value.
- See :ref:`Control.get_theme_color<class_Control_method_get_theme_color>` for details.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_get_theme_default_font:
- .. rst-class:: classref-method
- :ref:`Font<class_Font>` **get_theme_default_font**\ (\ ) |const| :ref:`🔗<class_Window_method_get_theme_default_font>`
- Returns the default font from the first matching :ref:`Theme<class_Theme>` in the tree if that :ref:`Theme<class_Theme>` has a valid :ref:`Theme.default_font<class_Theme_property_default_font>` value.
- See :ref:`Control.get_theme_color<class_Control_method_get_theme_color>` for details.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_get_theme_default_font_size:
- .. rst-class:: classref-method
- :ref:`int<class_int>` **get_theme_default_font_size**\ (\ ) |const| :ref:`🔗<class_Window_method_get_theme_default_font_size>`
- Returns the default font size value from the first matching :ref:`Theme<class_Theme>` in the tree if that :ref:`Theme<class_Theme>` has a valid :ref:`Theme.default_font_size<class_Theme_property_default_font_size>` value.
- See :ref:`Control.get_theme_color<class_Control_method_get_theme_color>` for details.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_get_theme_font:
- .. rst-class:: classref-method
- :ref:`Font<class_Font>` **get_theme_font**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>` = &""\ ) |const| :ref:`🔗<class_Window_method_get_theme_font>`
- Returns a :ref:`Font<class_Font>` from the first matching :ref:`Theme<class_Theme>` in the tree if that :ref:`Theme<class_Theme>` has a font item with the specified ``name`` and ``theme_type``.
- See :ref:`Control.get_theme_color<class_Control_method_get_theme_color>` for details.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_get_theme_font_size:
- .. rst-class:: classref-method
- :ref:`int<class_int>` **get_theme_font_size**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>` = &""\ ) |const| :ref:`🔗<class_Window_method_get_theme_font_size>`
- Returns a font size from the first matching :ref:`Theme<class_Theme>` in the tree if that :ref:`Theme<class_Theme>` has a font size item with the specified ``name`` and ``theme_type``.
- See :ref:`Control.get_theme_color<class_Control_method_get_theme_color>` for details.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_get_theme_icon:
- .. rst-class:: classref-method
- :ref:`Texture2D<class_Texture2D>` **get_theme_icon**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>` = &""\ ) |const| :ref:`🔗<class_Window_method_get_theme_icon>`
- Returns an icon from the first matching :ref:`Theme<class_Theme>` in the tree if that :ref:`Theme<class_Theme>` has an icon item with the specified ``name`` and ``theme_type``.
- See :ref:`Control.get_theme_color<class_Control_method_get_theme_color>` for details.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_get_theme_stylebox:
- .. rst-class:: classref-method
- :ref:`StyleBox<class_StyleBox>` **get_theme_stylebox**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>` = &""\ ) |const| :ref:`🔗<class_Window_method_get_theme_stylebox>`
- Returns a :ref:`StyleBox<class_StyleBox>` from the first matching :ref:`Theme<class_Theme>` in the tree if that :ref:`Theme<class_Theme>` has a stylebox item with the specified ``name`` and ``theme_type``.
- See :ref:`Control.get_theme_color<class_Control_method_get_theme_color>` for details.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_get_window_id:
- .. rst-class:: classref-method
- :ref:`int<class_int>` **get_window_id**\ (\ ) |const| :ref:`🔗<class_Window_method_get_window_id>`
- Returns the ID of the window.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_grab_focus:
- .. rst-class:: classref-method
- |void| **grab_focus**\ (\ ) :ref:`🔗<class_Window_method_grab_focus>`
- Causes the window to grab focus, allowing it to receive user input.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_has_focus:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **has_focus**\ (\ ) |const| :ref:`🔗<class_Window_method_has_focus>`
- Returns ``true`` if the window is focused.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_has_theme_color:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **has_theme_color**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>` = &""\ ) |const| :ref:`🔗<class_Window_method_has_theme_color>`
- Returns ``true`` if there is a matching :ref:`Theme<class_Theme>` in the tree that has a color item with the specified ``name`` and ``theme_type``.
- See :ref:`Control.get_theme_color<class_Control_method_get_theme_color>` for details.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_has_theme_color_override:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **has_theme_color_override**\ (\ name\: :ref:`StringName<class_StringName>`\ ) |const| :ref:`🔗<class_Window_method_has_theme_color_override>`
- Returns ``true`` if there is a local override for a theme :ref:`Color<class_Color>` with the specified ``name`` in this :ref:`Control<class_Control>` node.
- See :ref:`add_theme_color_override<class_Window_method_add_theme_color_override>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_has_theme_constant:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **has_theme_constant**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>` = &""\ ) |const| :ref:`🔗<class_Window_method_has_theme_constant>`
- Returns ``true`` if there is a matching :ref:`Theme<class_Theme>` in the tree that has a constant item with the specified ``name`` and ``theme_type``.
- See :ref:`Control.get_theme_color<class_Control_method_get_theme_color>` for details.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_has_theme_constant_override:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **has_theme_constant_override**\ (\ name\: :ref:`StringName<class_StringName>`\ ) |const| :ref:`🔗<class_Window_method_has_theme_constant_override>`
- Returns ``true`` if there is a local override for a theme constant with the specified ``name`` in this :ref:`Control<class_Control>` node.
- See :ref:`add_theme_constant_override<class_Window_method_add_theme_constant_override>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_has_theme_font:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **has_theme_font**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>` = &""\ ) |const| :ref:`🔗<class_Window_method_has_theme_font>`
- Returns ``true`` if there is a matching :ref:`Theme<class_Theme>` in the tree that has a font item with the specified ``name`` and ``theme_type``.
- See :ref:`Control.get_theme_color<class_Control_method_get_theme_color>` for details.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_has_theme_font_override:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **has_theme_font_override**\ (\ name\: :ref:`StringName<class_StringName>`\ ) |const| :ref:`🔗<class_Window_method_has_theme_font_override>`
- Returns ``true`` if there is a local override for a theme :ref:`Font<class_Font>` with the specified ``name`` in this :ref:`Control<class_Control>` node.
- See :ref:`add_theme_font_override<class_Window_method_add_theme_font_override>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_has_theme_font_size:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **has_theme_font_size**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>` = &""\ ) |const| :ref:`🔗<class_Window_method_has_theme_font_size>`
- Returns ``true`` if there is a matching :ref:`Theme<class_Theme>` in the tree that has a font size item with the specified ``name`` and ``theme_type``.
- See :ref:`Control.get_theme_color<class_Control_method_get_theme_color>` for details.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_has_theme_font_size_override:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **has_theme_font_size_override**\ (\ name\: :ref:`StringName<class_StringName>`\ ) |const| :ref:`🔗<class_Window_method_has_theme_font_size_override>`
- Returns ``true`` if there is a local override for a theme font size with the specified ``name`` in this :ref:`Control<class_Control>` node.
- See :ref:`add_theme_font_size_override<class_Window_method_add_theme_font_size_override>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_has_theme_icon:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **has_theme_icon**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>` = &""\ ) |const| :ref:`🔗<class_Window_method_has_theme_icon>`
- Returns ``true`` if there is a matching :ref:`Theme<class_Theme>` in the tree that has an icon item with the specified ``name`` and ``theme_type``.
- See :ref:`Control.get_theme_color<class_Control_method_get_theme_color>` for details.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_has_theme_icon_override:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **has_theme_icon_override**\ (\ name\: :ref:`StringName<class_StringName>`\ ) |const| :ref:`🔗<class_Window_method_has_theme_icon_override>`
- Returns ``true`` if there is a local override for a theme icon with the specified ``name`` in this :ref:`Control<class_Control>` node.
- See :ref:`add_theme_icon_override<class_Window_method_add_theme_icon_override>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_has_theme_stylebox:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **has_theme_stylebox**\ (\ name\: :ref:`StringName<class_StringName>`, theme_type\: :ref:`StringName<class_StringName>` = &""\ ) |const| :ref:`🔗<class_Window_method_has_theme_stylebox>`
- Returns ``true`` if there is a matching :ref:`Theme<class_Theme>` in the tree that has a stylebox item with the specified ``name`` and ``theme_type``.
- See :ref:`Control.get_theme_color<class_Control_method_get_theme_color>` for details.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_has_theme_stylebox_override:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **has_theme_stylebox_override**\ (\ name\: :ref:`StringName<class_StringName>`\ ) |const| :ref:`🔗<class_Window_method_has_theme_stylebox_override>`
- Returns ``true`` if there is a local override for a theme :ref:`StyleBox<class_StyleBox>` with the specified ``name`` in this :ref:`Control<class_Control>` node.
- See :ref:`add_theme_stylebox_override<class_Window_method_add_theme_stylebox_override>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_hide:
- .. rst-class:: classref-method
- |void| **hide**\ (\ ) :ref:`🔗<class_Window_method_hide>`
- Hides the window. This is not the same as minimized state. Hidden window can't be interacted with and needs to be made visible with :ref:`show<class_Window_method_show>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_is_embedded:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **is_embedded**\ (\ ) |const| :ref:`🔗<class_Window_method_is_embedded>`
- Returns ``true`` if the window is currently embedded in another window.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_is_layout_rtl:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **is_layout_rtl**\ (\ ) |const| :ref:`🔗<class_Window_method_is_layout_rtl>`
- Returns ``true`` if layout is right-to-left.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_is_maximize_allowed:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **is_maximize_allowed**\ (\ ) |const| :ref:`🔗<class_Window_method_is_maximize_allowed>`
- Returns ``true`` if the window can be maximized (the maximize button is enabled).
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_is_using_font_oversampling:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **is_using_font_oversampling**\ (\ ) |const| :ref:`🔗<class_Window_method_is_using_font_oversampling>`
- Returns ``true`` if font oversampling is enabled. See :ref:`set_use_font_oversampling<class_Window_method_set_use_font_oversampling>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_move_to_center:
- .. rst-class:: classref-method
- |void| **move_to_center**\ (\ ) :ref:`🔗<class_Window_method_move_to_center>`
- Centers a native window on the current screen and an embedded window on its embedder :ref:`Viewport<class_Viewport>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_move_to_foreground:
- .. rst-class:: classref-method
- |void| **move_to_foreground**\ (\ ) :ref:`🔗<class_Window_method_move_to_foreground>`
- **Deprecated:** Use :ref:`grab_focus<class_Window_method_grab_focus>` instead.
- Causes the window to grab focus, allowing it to receive user input.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_popup:
- .. rst-class:: classref-method
- |void| **popup**\ (\ rect\: :ref:`Rect2i<class_Rect2i>` = Rect2i(0, 0, 0, 0)\ ) :ref:`🔗<class_Window_method_popup>`
- Shows the **Window** and makes it transient (see :ref:`transient<class_Window_property_transient>`). If ``rect`` is provided, it will be set as the **Window**'s size. Fails if called on the main window.
- If :ref:`ProjectSettings.display/window/subwindows/embed_subwindows<class_ProjectSettings_property_display/window/subwindows/embed_subwindows>` is ``true`` (single-window mode), ``rect``'s coordinates are global and relative to the main window's top-left corner (excluding window decorations). If ``rect``'s position coordinates are negative, the window will be located outside the main window and may not be visible as a result.
- If :ref:`ProjectSettings.display/window/subwindows/embed_subwindows<class_ProjectSettings_property_display/window/subwindows/embed_subwindows>` is ``false`` (multi-window mode), ``rect``'s coordinates are global and relative to the top-left corner of the leftmost screen. If ``rect``'s position coordinates are negative, the window will be placed at the top-left corner of the screen.
- \ **Note:** ``rect`` must be in global coordinates if specified.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_popup_centered:
- .. rst-class:: classref-method
- |void| **popup_centered**\ (\ minsize\: :ref:`Vector2i<class_Vector2i>` = Vector2i(0, 0)\ ) :ref:`🔗<class_Window_method_popup_centered>`
- Popups the **Window** at the center of the current screen, with optionally given minimum size. If the **Window** is embedded, it will be centered in the parent :ref:`Viewport<class_Viewport>` instead.
- \ **Note:** Calling it with the default value of ``minsize`` is equivalent to calling it with :ref:`size<class_Window_property_size>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_popup_centered_clamped:
- .. rst-class:: classref-method
- |void| **popup_centered_clamped**\ (\ minsize\: :ref:`Vector2i<class_Vector2i>` = Vector2i(0, 0), fallback_ratio\: :ref:`float<class_float>` = 0.75\ ) :ref:`🔗<class_Window_method_popup_centered_clamped>`
- Popups the **Window** centered inside its parent **Window**. ``fallback_ratio`` determines the maximum size of the **Window**, in relation to its parent.
- \ **Note:** Calling it with the default value of ``minsize`` is equivalent to calling it with :ref:`size<class_Window_property_size>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_popup_centered_ratio:
- .. rst-class:: classref-method
- |void| **popup_centered_ratio**\ (\ ratio\: :ref:`float<class_float>` = 0.8\ ) :ref:`🔗<class_Window_method_popup_centered_ratio>`
- If **Window** is embedded, popups the **Window** centered inside its embedder and sets its size as a ``ratio`` of embedder's size.
- If **Window** is a native window, popups the **Window** centered inside the screen of its parent **Window** and sets its size as a ``ratio`` of the screen size.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_popup_exclusive:
- .. rst-class:: classref-method
- |void| **popup_exclusive**\ (\ from_node\: :ref:`Node<class_Node>`, rect\: :ref:`Rect2i<class_Rect2i>` = Rect2i(0, 0, 0, 0)\ ) :ref:`🔗<class_Window_method_popup_exclusive>`
- Attempts to parent this dialog to the last exclusive window relative to ``from_node``, and then calls :ref:`popup<class_Window_method_popup>` on it. The dialog must have no current parent, otherwise the method fails.
- See also :ref:`set_unparent_when_invisible<class_Window_method_set_unparent_when_invisible>` and :ref:`Node.get_last_exclusive_window<class_Node_method_get_last_exclusive_window>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_popup_exclusive_centered:
- .. rst-class:: classref-method
- |void| **popup_exclusive_centered**\ (\ from_node\: :ref:`Node<class_Node>`, minsize\: :ref:`Vector2i<class_Vector2i>` = Vector2i(0, 0)\ ) :ref:`🔗<class_Window_method_popup_exclusive_centered>`
- Attempts to parent this dialog to the last exclusive window relative to ``from_node``, and then calls :ref:`popup_centered<class_Window_method_popup_centered>` on it. The dialog must have no current parent, otherwise the method fails.
- See also :ref:`set_unparent_when_invisible<class_Window_method_set_unparent_when_invisible>` and :ref:`Node.get_last_exclusive_window<class_Node_method_get_last_exclusive_window>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_popup_exclusive_centered_clamped:
- .. rst-class:: classref-method
- |void| **popup_exclusive_centered_clamped**\ (\ from_node\: :ref:`Node<class_Node>`, minsize\: :ref:`Vector2i<class_Vector2i>` = Vector2i(0, 0), fallback_ratio\: :ref:`float<class_float>` = 0.75\ ) :ref:`🔗<class_Window_method_popup_exclusive_centered_clamped>`
- Attempts to parent this dialog to the last exclusive window relative to ``from_node``, and then calls :ref:`popup_centered_clamped<class_Window_method_popup_centered_clamped>` on it. The dialog must have no current parent, otherwise the method fails.
- See also :ref:`set_unparent_when_invisible<class_Window_method_set_unparent_when_invisible>` and :ref:`Node.get_last_exclusive_window<class_Node_method_get_last_exclusive_window>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_popup_exclusive_centered_ratio:
- .. rst-class:: classref-method
- |void| **popup_exclusive_centered_ratio**\ (\ from_node\: :ref:`Node<class_Node>`, ratio\: :ref:`float<class_float>` = 0.8\ ) :ref:`🔗<class_Window_method_popup_exclusive_centered_ratio>`
- Attempts to parent this dialog to the last exclusive window relative to ``from_node``, and then calls :ref:`popup_centered_ratio<class_Window_method_popup_centered_ratio>` on it. The dialog must have no current parent, otherwise the method fails.
- See also :ref:`set_unparent_when_invisible<class_Window_method_set_unparent_when_invisible>` and :ref:`Node.get_last_exclusive_window<class_Node_method_get_last_exclusive_window>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_popup_exclusive_on_parent:
- .. rst-class:: classref-method
- |void| **popup_exclusive_on_parent**\ (\ from_node\: :ref:`Node<class_Node>`, parent_rect\: :ref:`Rect2i<class_Rect2i>`\ ) :ref:`🔗<class_Window_method_popup_exclusive_on_parent>`
- Attempts to parent this dialog to the last exclusive window relative to ``from_node``, and then calls :ref:`popup_on_parent<class_Window_method_popup_on_parent>` on it. The dialog must have no current parent, otherwise the method fails.
- See also :ref:`set_unparent_when_invisible<class_Window_method_set_unparent_when_invisible>` and :ref:`Node.get_last_exclusive_window<class_Node_method_get_last_exclusive_window>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_popup_on_parent:
- .. rst-class:: classref-method
- |void| **popup_on_parent**\ (\ parent_rect\: :ref:`Rect2i<class_Rect2i>`\ ) :ref:`🔗<class_Window_method_popup_on_parent>`
- Popups the **Window** with a position shifted by parent **Window**'s position. If the **Window** is embedded, has the same effect as :ref:`popup<class_Window_method_popup>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_remove_theme_color_override:
- .. rst-class:: classref-method
- |void| **remove_theme_color_override**\ (\ name\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_Window_method_remove_theme_color_override>`
- Removes a local override for a theme :ref:`Color<class_Color>` with the specified ``name`` previously added by :ref:`add_theme_color_override<class_Window_method_add_theme_color_override>` or via the Inspector dock.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_remove_theme_constant_override:
- .. rst-class:: classref-method
- |void| **remove_theme_constant_override**\ (\ name\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_Window_method_remove_theme_constant_override>`
- Removes a local override for a theme constant with the specified ``name`` previously added by :ref:`add_theme_constant_override<class_Window_method_add_theme_constant_override>` or via the Inspector dock.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_remove_theme_font_override:
- .. rst-class:: classref-method
- |void| **remove_theme_font_override**\ (\ name\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_Window_method_remove_theme_font_override>`
- Removes a local override for a theme :ref:`Font<class_Font>` with the specified ``name`` previously added by :ref:`add_theme_font_override<class_Window_method_add_theme_font_override>` or via the Inspector dock.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_remove_theme_font_size_override:
- .. rst-class:: classref-method
- |void| **remove_theme_font_size_override**\ (\ name\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_Window_method_remove_theme_font_size_override>`
- Removes a local override for a theme font size with the specified ``name`` previously added by :ref:`add_theme_font_size_override<class_Window_method_add_theme_font_size_override>` or via the Inspector dock.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_remove_theme_icon_override:
- .. rst-class:: classref-method
- |void| **remove_theme_icon_override**\ (\ name\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_Window_method_remove_theme_icon_override>`
- Removes a local override for a theme icon with the specified ``name`` previously added by :ref:`add_theme_icon_override<class_Window_method_add_theme_icon_override>` or via the Inspector dock.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_remove_theme_stylebox_override:
- .. rst-class:: classref-method
- |void| **remove_theme_stylebox_override**\ (\ name\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_Window_method_remove_theme_stylebox_override>`
- Removes a local override for a theme :ref:`StyleBox<class_StyleBox>` with the specified ``name`` previously added by :ref:`add_theme_stylebox_override<class_Window_method_add_theme_stylebox_override>` or via the Inspector dock.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_request_attention:
- .. rst-class:: classref-method
- |void| **request_attention**\ (\ ) :ref:`🔗<class_Window_method_request_attention>`
- Tells the OS that the **Window** needs an attention. This makes the window stand out in some way depending on the system, e.g. it might blink on the task bar.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_reset_size:
- .. rst-class:: classref-method
- |void| **reset_size**\ (\ ) :ref:`🔗<class_Window_method_reset_size>`
- Resets the size to the minimum size, which is the max of :ref:`min_size<class_Window_property_min_size>` and (if :ref:`wrap_controls<class_Window_property_wrap_controls>` is enabled) :ref:`get_contents_minimum_size<class_Window_method_get_contents_minimum_size>`. This is equivalent to calling ``set_size(Vector2i())`` (or any size below the minimum).
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_set_flag:
- .. rst-class:: classref-method
- |void| **set_flag**\ (\ flag\: :ref:`Flags<enum_Window_Flags>`, enabled\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_Window_method_set_flag>`
- Sets a specified window flag.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_set_ime_active:
- .. rst-class:: classref-method
- |void| **set_ime_active**\ (\ active\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_Window_method_set_ime_active>`
- If ``active`` is ``true``, enables system's native IME (Input Method Editor).
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_set_ime_position:
- .. rst-class:: classref-method
- |void| **set_ime_position**\ (\ position\: :ref:`Vector2i<class_Vector2i>`\ ) :ref:`🔗<class_Window_method_set_ime_position>`
- Moves IME to the given position.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_set_layout_direction:
- .. rst-class:: classref-method
- |void| **set_layout_direction**\ (\ direction\: :ref:`LayoutDirection<enum_Window_LayoutDirection>`\ ) :ref:`🔗<class_Window_method_set_layout_direction>`
- Sets layout direction and text writing direction. Right-to-left layouts are necessary for certain languages (e.g. Arabic and Hebrew).
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_set_unparent_when_invisible:
- .. rst-class:: classref-method
- |void| **set_unparent_when_invisible**\ (\ unparent\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_Window_method_set_unparent_when_invisible>`
- If ``unparent`` is ``true``, the window is automatically unparented when going invisible.
- \ **Note:** Make sure to keep a reference to the node, otherwise it will be orphaned. You also need to manually call :ref:`Node.queue_free<class_Node_method_queue_free>` to free the window if it's not parented.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_set_use_font_oversampling:
- .. rst-class:: classref-method
- |void| **set_use_font_oversampling**\ (\ enable\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_Window_method_set_use_font_oversampling>`
- Enables font oversampling. This makes fonts look better when they are scaled up.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_method_show:
- .. rst-class:: classref-method
- |void| **show**\ (\ ) :ref:`🔗<class_Window_method_show>`
- Makes the **Window** appear. This enables interactions with the **Window** and doesn't change any of its property other than visibility (unlike e.g. :ref:`popup<class_Window_method_popup>`).
- .. rst-class:: classref-section-separator
- ----
- .. rst-class:: classref-descriptions-group
- Theme Property Descriptions
- ---------------------------
- .. _class_Window_theme_color_title_color:
- .. rst-class:: classref-themeproperty
- :ref:`Color<class_Color>` **title_color** = ``Color(0.875, 0.875, 0.875, 1)`` :ref:`🔗<class_Window_theme_color_title_color>`
- The color of the title's text.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_theme_color_title_outline_modulate:
- .. rst-class:: classref-themeproperty
- :ref:`Color<class_Color>` **title_outline_modulate** = ``Color(0, 0, 0, 1)`` :ref:`🔗<class_Window_theme_color_title_outline_modulate>`
- The color of the title's text outline.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_theme_constant_close_h_offset:
- .. rst-class:: classref-themeproperty
- :ref:`int<class_int>` **close_h_offset** = ``18`` :ref:`🔗<class_Window_theme_constant_close_h_offset>`
- Horizontal position offset of the close button.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_theme_constant_close_v_offset:
- .. rst-class:: classref-themeproperty
- :ref:`int<class_int>` **close_v_offset** = ``24`` :ref:`🔗<class_Window_theme_constant_close_v_offset>`
- Vertical position offset of the close button.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_theme_constant_resize_margin:
- .. rst-class:: classref-themeproperty
- :ref:`int<class_int>` **resize_margin** = ``4`` :ref:`🔗<class_Window_theme_constant_resize_margin>`
- Defines the outside margin at which the window border can be grabbed with mouse and resized.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_theme_constant_title_height:
- .. rst-class:: classref-themeproperty
- :ref:`int<class_int>` **title_height** = ``36`` :ref:`🔗<class_Window_theme_constant_title_height>`
- Height of the title bar.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_theme_constant_title_outline_size:
- .. rst-class:: classref-themeproperty
- :ref:`int<class_int>` **title_outline_size** = ``0`` :ref:`🔗<class_Window_theme_constant_title_outline_size>`
- The size of the title outline.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_theme_font_title_font:
- .. rst-class:: classref-themeproperty
- :ref:`Font<class_Font>` **title_font** :ref:`🔗<class_Window_theme_font_title_font>`
- The font used to draw the title.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_theme_font_size_title_font_size:
- .. rst-class:: classref-themeproperty
- :ref:`int<class_int>` **title_font_size** :ref:`🔗<class_Window_theme_font_size_title_font_size>`
- The size of the title font.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_theme_icon_close:
- .. rst-class:: classref-themeproperty
- :ref:`Texture2D<class_Texture2D>` **close** :ref:`🔗<class_Window_theme_icon_close>`
- The icon for the close button.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_theme_icon_close_pressed:
- .. rst-class:: classref-themeproperty
- :ref:`Texture2D<class_Texture2D>` **close_pressed** :ref:`🔗<class_Window_theme_icon_close_pressed>`
- The icon for the close button when it's being pressed.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_theme_style_embedded_border:
- .. rst-class:: classref-themeproperty
- :ref:`StyleBox<class_StyleBox>` **embedded_border** :ref:`🔗<class_Window_theme_style_embedded_border>`
- The background style used when the **Window** is embedded. Note that this is drawn only under the window's content, excluding the title. For proper borders and title bar style, you can use ``expand_margin_*`` properties of :ref:`StyleBoxFlat<class_StyleBoxFlat>`.
- \ **Note:** The content background will not be visible unless :ref:`transparent<class_Window_property_transparent>` is enabled.
- .. rst-class:: classref-item-separator
- ----
- .. _class_Window_theme_style_embedded_unfocused_border:
- .. rst-class:: classref-themeproperty
- :ref:`StyleBox<class_StyleBox>` **embedded_unfocused_border** :ref:`🔗<class_Window_theme_style_embedded_unfocused_border>`
- The background style used when the **Window** is embedded and unfocused.
- .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
- .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
- .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
- .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
- .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
- .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
- .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
- .. |void| replace:: :abbr:`void (No return value.)`
|