{"id":17788837,"url":"https://github.com/moebiussurfing/ofxwindowapp","last_synced_at":"2025-03-16T09:33:44.271Z","repository":{"id":69697488,"uuid":"228097338","full_name":"moebiussurfing/ofxWindowApp","owner":"moebiussurfing","description":"openFrameworks add-on to auto store/recall, debug shape, FPS and modify the basic ofApp window state/settings.","archived":false,"fork":false,"pushed_at":"2023-10-18T22:38:13.000Z","size":37083,"stargazers_count":10,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"developSTATIC","last_synced_at":"2025-02-27T07:30:40.954Z","etag":null,"topics":["openframeworks","openframeworks-addon"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/moebiussurfing.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}},"created_at":"2019-12-14T22:25:49.000Z","updated_at":"2025-02-11T21:00:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"ee5ec3f5-4751-4610-b10a-91978203d82d","html_url":"https://github.com/moebiussurfing/ofxWindowApp","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moebiussurfing%2FofxWindowApp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moebiussurfing%2FofxWindowApp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moebiussurfing%2FofxWindowApp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moebiussurfing%2FofxWindowApp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/moebiussurfing","download_url":"https://codeload.github.com/moebiussurfing/ofxWindowApp/tar.gz/refs/heads/developSTATIC","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243809888,"owners_count":20351407,"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":["openframeworks","openframeworks-addon"],"created_at":"2024-10-27T10:24:17.371Z","updated_at":"2025-03-16T09:33:43.629Z","avatar_url":"https://github.com/moebiussurfing.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ofxWindowApp\n\n## Screencast\n\n![screenshot](readme_images/ofxWindowApp.gif?raw=true \"MoebiusSurfing\")\n\n\n## Screenshot\n\n![screenshot](readme_images/screenshot2.JPG?raw=true \"MoebiusSurfing\")\n\n\n\n## OVERVIEW\n\n**openFrameworks** addon to **auto store** and **recall** the basic app **window state/settings**:\n\n\n## FEATURES\n\n* Window **Position** (x, y). \n* Window **Size** (w, h). \n* Window **Mode** (window/full screen).\n* App target **FPS** settings, real current **framerate**, and **vSync** state. \n* \"**Alert**\" with a **performance** red bar when **low FPS drops** under the expected target frame rate.\n* Easy change the app settings just by editing the **JSON** file**, not the app code.\n* **Lock mode** to avoid future changes after modifying the window. (WIP)\n* Reset the command to restore **1080p Full HD** settings.\n* Custom TTF font.\n* On top mode, easy console window disabler. (WIN 32 only)\n\n~~**Dual settings**: **Big** and **Mini** settings to **switch** between both presets. (WIP)~~  \n  Currently, Mini mode is disabled. \n\n\n## KEY COMMANDS\n\n```\nALT  \n( caps enabled or SHIFT )  \n\n+  \n\nW: Show debug info.  \nF: Full screen / Windowed.  \nV: vSync state (On/Off).  \nL: Lock mode.  \nT: Always on top (Window only). \nR: Reset Full HD size on the main monitor.  \nBACKSAPCE: Reset.  \n\n```\n\n## WHY?\n\nIt can be useful to **auto-maintain** window settings between your **app sessions**.  \n\n_Not only for the final user but also for the coder. Usually when you start a clean ```OF project``` you want \"to focus on your code\", but you need to compile many times and move the app window out of your IDE window several times..._  \n\n_Using this add-on you can forget about this \"annoying behavior\", as the **App Window will be open in the same place** and with the **same size and settings**._  \n\n## POWERED BY\n\n**ofxSerialize** from **@bakercp** (Thanks!)  \nhttps://github.com/bakercp/ofxSerializer  \nNow it's included into ```\\ofxWindowApp\\libs\\ofxSerializer``` to simplify.  \nYou don't need to add with **PROJECT GENERATOR**!\n\n## USAGE\n\n#### ofApp.h\n```.c++\n    #include \"ofxWindowApp.h\"\n    ofxWindowApp w;\n```\n\n#### ofApp.cpp\nNothing more is required on ```update()``` or ```draw()```!  \nSome settings can be configured using key commands.  \n```.c++ \n// Optional\nofApp::setup()\n{\n    // Default FPS is 60 fps, vSync = off\n    //w.setFrameRate(30);\n    //w.setVerticalSync(false);\n}\n```\n\nThe add-on will **auto-load** the settings when your **app starts** and **auto stores** too on **App exit**.  \n\n**Nothing more it's required!**  \n\nThe **JSON file** (bin/data/ofxWindowApp/ofxWindowApp.json) will look like this:  \n```.json\n[\n    {\n        \"Preset\": \"Big\",\n        \"position\": {\n            \"x\": 2.0,\n            \"y\": 25.0\n        },\n        \"size\": {\n            \"height\": 1053,\n            \"width\": 1916\n        },\n        \"window_mode\": \"OF_WINDOW\"\n    },\n    {\n        \"extra_settings\": {\n            \"debugPerformance\": \"1\",\n            \"fps\": \"60\",\n            \"lockMode\": \"0\",\n            \"miniPreset\": \"0\",\n            \"showInfo\": \"0\",\n            \"vsync\": \"0\"\n        }\n    }\n]\n```\n\n### TODO\n\n* Join with another addon to handle more window settings borderless, put in-front, half screen, send to 2nd monitor... etc\n\n## TESTED SYSTEMS\n- **Windows10** / **VS2022** / **OF ~0.11**\n- **macOS High Sierra** / **Xcode 9/10** / **OF ~0.11**\n\n## AUTHOR\nAddon by **@moebiusSurfing**  \n*( ManuMolina ). 2020-2023.*\n\n## LICENSE\n*MIT License.*","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoebiussurfing%2Fofxwindowapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmoebiussurfing%2Fofxwindowapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoebiussurfing%2Fofxwindowapp/lists"}