{"id":16567050,"url":"https://github.com/sangafabrice/shuffler","last_synced_at":"2026-03-08T19:33:19.507Z","repository":{"id":103652082,"uuid":"469928089","full_name":"sangafabrice/shuffler","owner":"sangafabrice","description":"A simple component that helps shuffle a list of related objects like a playlist.","archived":false,"fork":false,"pushed_at":"2022-03-26T21:50:04.000Z","size":4,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-15T23:42:49.811Z","etag":null,"topics":["desktop-background","lockscreen-background","logon-picture","personalization","photos-app-tile","vbscript","windows-script-component"],"latest_commit_sha":null,"homepage":"","language":"VBScript","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/sangafabrice.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":"2022-03-14T22:44:17.000Z","updated_at":"2022-03-23T01:04:06.000Z","dependencies_parsed_at":"2023-04-27T17:31:02.185Z","dependency_job_id":null,"html_url":"https://github.com/sangafabrice/shuffler","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sangafabrice%2Fshuffler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sangafabrice%2Fshuffler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sangafabrice%2Fshuffler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sangafabrice%2Fshuffler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sangafabrice","download_url":"https://codeload.github.com/sangafabrice/shuffler/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242008806,"owners_count":20056967,"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":["desktop-background","lockscreen-background","logon-picture","personalization","photos-app-tile","vbscript","windows-script-component"],"created_at":"2024-10-11T21:05:27.377Z","updated_at":"2026-03-08T19:33:19.469Z","avatar_url":"https://github.com/sangafabrice.png","language":"VBScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# **The shuffler component**\n\n##### Author: Fabrice Sanga\n\u003cbr/\u003e\n\u003cbr/\u003e\n\nThe component is mainly built around the `RandomSelect()` function that selects an element from a list of objects randomly, as its name suggests. The selection proceeds similarly to a media player in shuffle mode. It avoids selecting an item that it had already picked til every item in the list is marked. Then the process restarts.\n\nIt works on any type of list, but for illustration purposes, it is restricted to Photos App Tiles, Desktop and Lockscreen Backgrounds, and the default Logon Picture.\n\nAn example of use:\n```vbscript\nWith CreateObject(\"CustomUI.Shuffler\")\n    .WorkDir = \"\\Path\\to\\Example\"           '(1)\n    .Shuffle \"DesktopBG\"                    '(2)\n    .Shuffle \"LockScreenBG\"                 \n    .Shuffle \"LogonPicture\"                 \n    .Shuffle \"PhotosTile\"                   \n    .RefreshStartMenu                       '(3)\nEnd With\n```\n**(1)** `WorkDir` is the root directory\n\n**(2)** `Shuffle` is a sub that shuffles the items of the `DesktopBG` subfolder of the root\n\n**(3)** `RefreshStartMenu` is a feature sub that makes the change available immediately and is needed for `LogonPicture` and `PhotosTile`\n\u003cbr/\u003e\n\nThe filesystem:\n```\n    Example\n        |--DesktopBG\n        |--LockScreenBG\n        |--LogonPicture\n        |--PhotosTile\n```\n`DesktopBG`, `LockScreenBG`, `PhotosTile` contain image objects.\n`PhotosTile` contain subfolders of square images of `32px`, `40px`, `48px`, `192px` and `448px` size. They are different sized-images of the same picture. The figure shows an example of those images.\n\u003cbr/\u003e\n\u003cbr/\u003e\n![](https://drive.google.com/uc?export=view\u0026id=1qeUPHuRFGBPCtsyyAjGjoMOjcq_-Vchr)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsangafabrice%2Fshuffler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsangafabrice%2Fshuffler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsangafabrice%2Fshuffler/lists"}