{"id":27261319,"url":"https://github.com/frozen-projects/windowsystem","last_synced_at":"2025-04-11T05:14:47.331Z","repository":{"id":166536824,"uuid":"495537652","full_name":"Frozen-Projects/WindowSystem","owner":"Frozen-Projects","description":"UE5 external window creation system with runtime file drag drop support.","archived":false,"fork":false,"pushed_at":"2025-04-02T11:33:22.000Z","size":3515,"stargazers_count":14,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-11T05:14:39.587Z","etag":null,"topics":["drag-and-drop","file","import","metaverse","runtime","ue4","ue4-plugin","ue5","ue5-plugin","ui","ui-components","unreal","unreal-engine","unrealengine","userinterface","widget","window","windows"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Frozen-Projects.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-05-23T18:58:23.000Z","updated_at":"2025-04-02T15:21:30.000Z","dependencies_parsed_at":"2023-09-20T22:56:46.558Z","dependency_job_id":"a43e6747-cf01-4cfe-bbe4-af4e69652cd3","html_url":"https://github.com/Frozen-Projects/WindowSystem","commit_stats":null,"previous_names":["ff-projects-ue/windowsystem","ff-plugins-misc/windowsystem","ff-plugins-active/windowsystem","frozen-projects/windowsystem"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Frozen-Projects%2FWindowSystem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Frozen-Projects%2FWindowSystem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Frozen-Projects%2FWindowSystem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Frozen-Projects%2FWindowSystem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Frozen-Projects","download_url":"https://codeload.github.com/Frozen-Projects/WindowSystem/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248345268,"owners_count":21088245,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["drag-and-drop","file","import","metaverse","runtime","ue4","ue4-plugin","ue5","ue5-plugin","ui","ui-components","unreal","unreal-engine","unrealengine","userinterface","widget","window","windows"],"created_at":"2025-04-11T05:14:46.621Z","updated_at":"2025-04-11T05:14:47.323Z","avatar_url":"https://github.com/Frozen-Projects.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PURPOSES AND FEATURES:\n- Runtime external window creation with UMG support.\n- Runtime **Save and Select File Dialogs**\n- File drag drop supports for main game window and external windows. It returns, content paths and content locations.\n- If operating system is **Windows 11**, created windows will have **rounded corners**.\n- Hover, window move and close detection events.\n\n# USAGE:\n- Place **BP_Template_WinMan** to world. This is your window manager.\n\t- It is in **Plugins/WindowSystem/Content/BPs**\n\t- You can create a new one based on your needs.\n\t- It has to be only **one manager actor** in scene.\n\n- Create and construct your widget.\n\n- **Spawn Actor From Class** (use **EachWindow** class)\n\n- Connect your manager and widget to **Spawn Actor From Class**\n\n- Set your settings\n\t- You have to give a unique tag **(optionally meaningful)** to your window.\n\n- All window control functions are virtual functions of spawned EachWindow class object.\n\n- You can access all created windows with **Manager-\u003eMAP_Windows (FName, AEachWindow)**. If you know the tag of window which you want to control, you can access it from this map.\n\n- If you want to enable file drag drop feature for created window, you have two options.\n\t- You can enable it when set enable **bIsFileDropEnabled** boolean on **Spawn Actor from Class**\n\t- You can enable it in the future with **Set File Drag Drop Support** function.\n\t\n- If you want to enable file drag drop feature for main window, just enable **bAllowMainWindow** boolean anytime.\n\n# DISCLAIMER\n- If you close your window accidentally, you will lost your widget as well. This can trigger errors and even crashes with other mechanics which depends on these widgets.\n- If you use **HideFromTaskBar** features and accidentally throw your window to the backward, you will have to bring it back with **Bring Window Front**\n\n# ADDITIONAL CONTROL FUNCTIONS FOR WINDOWS\n- Take Screenshot of Window\n\n- **(Variable)** WindowTag\n- **(UMG Widget Variable)** ContentWidget\n\n- Set Window Opacity\n- Set Window State **(Minimmized / Restored / Maximized)\n- Set Window Shape **(Give new position and or size with an animation)**\n- Set Window Position\n- Set Window Title\n\n- Get Window State **(returns enums Minimized / Restored / Maximized)**\n- Get Window Position **(return screen position as FVector2D)**\n- Get Window Title\n\n- Is Window Top Most\n- Bring Window Front\n\n- Toggle Top Most Option\n- Toggle Show On Task Bar\n- Toggle Opacity\n\n- Set File Drag Drop Support\n\n- **(Event)** On Window Hovered\n- **(Event)** On Window Moved\n- **(Event)** On Window Closed\n\n# ADDITINAL FUNCTIONS FOR GENERAL USAGE\n- Get Main Window Title\t\n- Set Main Window Title\n- Select File Dialog\n- Save File Dialog\n\n# WINDOW VARIABLES:\n- Is Top Most\n\n- Has Close\n\t- We recommend to set this false. Because if user close a runtime generated window, all contents and its referances will be gone. So, use it with cautious.\n\n- Force Volatile\n\n- Preserve Aspect Ratio\n\t- When user change size of that window, should window preserve it's aspect ratio or not.\n\n- Minimized\n\t- Create window as minimized or not.\n\n- Supports Maximize\n\n- Supports Minimize\n\n- Set Mirror Window\n\n- In Window Tag (You should absolutely set this with a meaningful and unique tag without space. Because we use this to record and get windows)\n\n- In Window Title\n\t- If you give a title, it will be visible on window's title bar.\n\t- It is different than WindowTag as variable aspect but you can use same value.\n\t- You can use more readable values with it.\n\n- In Tooltip\n\t- When user hovered that window, there will be additional information as tooltip.\n\n- Window Size\n\n- Minimum Size\n\t- Minimum acceptable size for that window.\n\n- Window Position\n\n- Border Thick\n\t- Thickness between frame and UMG content.\n\n- In Opacity\n\t- Initial opacity value of that window.\n\n# PLATFORM:\n- This plugin created only for **Windows** operating system and **Unreal Engine 5.**","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrozen-projects%2Fwindowsystem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrozen-projects%2Fwindowsystem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrozen-projects%2Fwindowsystem/lists"}