{"id":19232924,"url":"https://github.com/mikeduglas/script-player","last_synced_at":"2026-02-16T11:09:30.614Z","repository":{"id":94835910,"uuid":"81581181","full_name":"mikeduglas/Script-Player","owner":"mikeduglas","description":"It allows you to manipulate the properties of windows and controls at run time.","archived":false,"fork":false,"pushed_at":"2018-04-20T17:17:27.000Z","size":11637,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-10-05T00:45:41.752Z","etag":null,"topics":["clarion","fullscreen-mode","winapi","xml-scripts"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mikeduglas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2017-02-10T16:01:07.000Z","updated_at":"2021-02-07T09:08:40.000Z","dependencies_parsed_at":"2023-03-22T20:47:07.926Z","dependency_job_id":null,"html_url":"https://github.com/mikeduglas/Script-Player","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/mikeduglas/Script-Player","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikeduglas%2FScript-Player","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikeduglas%2FScript-Player/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikeduglas%2FScript-Player/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikeduglas%2FScript-Player/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mikeduglas","download_url":"https://codeload.github.com/mikeduglas/Script-Player/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikeduglas%2FScript-Player/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29506452,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T09:05:14.864Z","status":"ssl_error","status_checked_at":"2026-02-16T08:55:59.364Z","response_time":115,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["clarion","fullscreen-mode","winapi","xml-scripts"],"created_at":"2024-11-09T16:08:00.102Z","updated_at":"2026-02-16T11:09:30.597Z","avatar_url":"https://github.com/mikeduglas.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Script Player\r\n\r\n## It allows you to manipulate the properties of windows and controls at run time.\r\nJust add global extension \"ScriptPlayer\", and run the program with a command line parameter: \"Myapp.exe ScriptPlayer=Myscript.xml\" or set script name in INI file:\r\n```\r\n[ScriptPlayer]\r\nName=Myscript.xml\r\n```\r\n**You don't need to write any line of code!**\r\n\r\n[Short video](https://youtu.be/CrBI9xyOm_c)\r\n\r\nAreas of use:\r\n- Easy localization\r\n- Adapting to different screen resolutions\r\n- Uniform GUI\r\n- Quick \"on field\" redesign without the need to rebuild the app\r\n\r\nAdditional features:\r\n- Export listboxes to Excel/HTML/CSV/XML\r\n- Capture any window contents\r\n- Call MESSAGE()\r\n- Custom window caption\r\n- Toggle FullScreen mode\r\n\r\n## Requirements\r\n- C6 and higher, ABC/Legacy\r\n- [EasyXML](http://www.ingasoftplus.com/ProductDetail.php?ProductID=293)\r\n\r\n\r\nNo black boxes, only pure Clarion code (class and template).\r\n\r\n## Price\r\nv1.xx - $80\r\nv2.xx - $120\r\n\r\n## Demo appliaction\r\nStandard School app with ScriptPlayer template. If you run school.exe without command line parameter and without [ScriptPlayer] section in INI file, the program behavior is not changed.\r\nIf you run \"school.exe ScriptPlayer=school.xml\" (or provided school_test.cmd), you'll see the difference:\r\n- All main menu items are \"translated\" (just UPPERCASEd for simplicity)\r\n- All buttons are flat\r\n- Main frame title text is changed\r\n- Procedure BrowseStudents is called\r\n- In BrowseStudents:   \r\nactive TAB is changed to 2nd  \r\n\"Close\" button is **bold**  \r\nlistbox is colorized  \r\nExport to Excel|Html|Xml|CSV allowed\r\n- On exit of application the MESSAGE(\"Bye-bye\") is thrown.\r\n- school.log file created.\r\n- Pressing Ctrl-Shift-P captures active window and saves the image on disk.\r\n\r\n**You can use INI settings instead of command line parameter:**\r\n```\r\n[ScriptPlayer]\r\nName=school_theme.xml\r\n```\r\n\r\n## XML script\r\nIn xml scripts you can use almost all events and writeable window/control properties. It allowed to POST(Event:Accepted), POST(Event:Selected), set window/control properties, or evaluate expressions.\r\nFull list of available events, actions, and properties see in the \\docs subfolder.\r\n\r\n\r\n- See \"docs\\How-To.txt\" to learn more about script syntax.\r\n- Also see provided xml scripts, they contain the comments.\r\n\r\n\r\n## Contacts\r\n\u003cmikeduglas@yandex.ru\u003e  \r\n\u003cmikeduglas66@gmail.com\u003e\r\n\r\n## History\r\n\r\n### v2.03\r\n- NEW: FullScreen mode. You can define hot key to toggle the application between FullScreen and Windowed modes:\r\n```xml\r\n    \u003cprocedure name=\"Main\" fullscreenkey=\"F12\"/\u003e\r\n```\r\nSchool.exe supports F12 key to toggle FullScreen mode.\r\n\r\n- CHG: APPNAME-CONTROLS.txt file now contains LIST and COMBO fields and field properties:  \r\n```\r\n      LIST         ?Browse:1\r\n          Field #01    TEA:LastName \r\n            Header       Last Name\r\n            Picture      @S20\r\n            Format       80L(2)|M~Last Name~@S20@\r\n          Field #02    TEA:FirstName \r\n            Header       First Name\r\n            Picture      @S20\r\n            Format       80L(2)|M~First Name~@S20@\r\n          Field #03    MAJ:Description \r\n            Header       Department\r\n            Picture      @S20\r\n            Format       80L(2)|M~Department~@S20@\r\n```\r\n### v2.02\r\n- FIX: command line corruption.\r\n- FIX: Window{PROP:Pixels} was not restored.\r\n- CHG: new procedure's attributes \"starts-with\" and \"contains\".\r\n- CHG: height of custom caption can be specified.\r\n- CHG: themed controls now can accept \"disabled\" values.\r\n\r\nSee [release notes](https://github.com/mikeduglas/Script-Player/releases/tag/v2.02) for details.\r\n\r\n### v2.01\r\n- FIX: possible program crash on window closing if custom caption used.\r\n- NEW: \"inactivetext\" caption's section allows to define caption text properties when a window gets inactive.\r\n\r\nSee [release notes](https://github.com/mikeduglas/Script-Player/releases/tag/v2.01) for details.\r\n\r\n### v2.00\r\n- NEW: window themes. A theme is a combination of window/controls visual properties, like background, color, font style etc. \r\n- NEW: custom window caption.\r\n- NEW: window animations (at this moment enabled only when closing windows).\r\n\r\nSee [release notes](https://github.com/mikeduglas/Script-Player/releases/tag/v2.00) for details.\r\n\r\n### v1.10\r\n- NEW: inline function parameters.\r\n- CHG: school.xml now includes the code to prevent program hanging caused by App frame menu activation.\r\n\r\nSee [release notes](https://github.com/mikeduglas/Script-Player/releases/tag/v1.10) for details.\r\n\r\n### v1.09\r\n- Property conditions added. For example, you can change pictures to @d10-b for all entries whose picture is @d1.\r\n\r\nSee [release notes](https://github.com/mikeduglas/Script-Player/releases/tag/v1.09) for details.\r\n\r\n### v1.08\r\n- Support for field=\"?\" added (it assumes current field returning by FIELD() function)\r\n\r\nSee [release notes](https://github.com/mikeduglas/Script-Player/releases/tag/v1.08) for details.\r\n\r\n### v1.07\r\n- \"Export\" now supports Page loaded browse boxes.\r\n\r\n### v1.06\r\n- new action \"CALL\" allows to call Clarion functions (over 20 functions: Logic Control, Event/Window/Keyboard/Drag-and-Drop Processing, Operating System Procedures);\r\n- discount period expired.  \r\n\r\nSee [release notes](https://github.com/mikeduglas/Script-Player/releases/tag/v1.06) for details.\r\n\r\n### v1.05\r\n- new ACTION:Capture to capture active window;\r\n- new \"charset\" attribute of properties (applied to \"charset\", \"fontcharset\" and \"style:charset\" properties).  \r\nSee [release notes](https://github.com/mikeduglas/Script-Player/releases/tag/v1.05) for details.\r\n\r\n### v1.04\r\n- Bugfixes, improvements and new features.  \r\nSee [release notes](https://github.com/mikeduglas/Script-Player/releases/tag/v1.04) for details.\r\n\r\n### v1.03\r\n- Localization has has never been easier! New attribute \"language\" (global or procedure level) defines \"language\" section where all texts are located.\r\n- Pseudo-event \"BeforeAcceptLoop\" allows to set SYSTEM properties before ACCEPT loop (this is necessary for example to localize main frame menu: SYSTEM{PROP:CharSet}=CHARSET:CYRILLIC).\r\n- PROPLIST:xxx allowed.\r\n- PROPSTYLE:xxx allowed.\r\n- For properties which expect COLOR value, now you can use \"color\" attribute.\r\n- Properties which are arrays now can use \"index\" attribute.\r\n  \r\nSee [release notes](https://github.com/mikeduglas/Script-Player/releases/tag/v1.03) for details.\r\n\r\n### v1.02\r\n- you can now set properties for \"System\" variable.\r\n- events \"AlertKey\" and \"PreAlertKey\" can be limited by key pressed.\r\n- new action \"Export\" allows to export LIST contents to Excel2007/Html/Xml/Csv formats.\r\n- you can now specify \"logfile\" (on global or procedure level), to automatically log the program behaviour (procedure name, thread, event, field, keycode).  \r\nEvents placed in log file are: EVENT:Accepted, EVENT:AlertKey, EVENT:CloseDown, EVENT:CloseWindow, EVENT:NewSelection, EVENT:OpenWindow.\r\n  \r\nSee [release notes](https://github.com/mikeduglas/Script-Player/releases/tag/v1.02) for details.\r\n\r\n### v1.01\r\n- new ACTION:ChangeText - shortcut for SetProp(text) and allows to significally reduce amount of script lines.  \r\n- new \"type\" attribute for actions used to set properties of all controls with same type at once. See available types in docs\\types.txt.\r\n- new \u003cglobal\u003e section applied to all procedures in an app.\r\n- template now generates app-CONTROLS.txt file with type of controls.\r\n  \r\nSee [release notes](https://github.com/mikeduglas/Script-Player/releases/tag/v1.02) for details.\r\n\r\n### v1.00  \r\nInitial release\r\n\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikeduglas%2Fscript-player","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmikeduglas%2Fscript-player","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikeduglas%2Fscript-player/lists"}