{"id":13872252,"url":"https://github.com/ZeeZide/5GUIs","last_synced_at":"2025-07-16T02:30:29.250Z","repository":{"id":41558501,"uuid":"300311729","full_name":"ZeeZide/5GUIs","owner":"ZeeZide","description":"A tiny macOS app that can detect the GUI technologies used in other apps.","archived":false,"fork":false,"pushed_at":"2021-09-01T18:03:54.000Z","size":471,"stargazers_count":230,"open_issues_count":12,"forks_count":13,"subscribers_count":3,"default_branch":"develop","last_synced_at":"2024-08-06T23:51:52.412Z","etag":null,"topics":["appkit","catalyst","electron","swiftui","uikit"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ZeeZide.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}},"created_at":"2020-10-01T14:37:06.000Z","updated_at":"2024-08-05T15:07:35.000Z","dependencies_parsed_at":"2022-07-09T00:16:06.717Z","dependency_job_id":null,"html_url":"https://github.com/ZeeZide/5GUIs","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZeeZide%2F5GUIs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZeeZide%2F5GUIs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZeeZide%2F5GUIs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZeeZide%2F5GUIs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ZeeZide","download_url":"https://codeload.github.com/ZeeZide/5GUIs/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226095618,"owners_count":17572963,"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":["appkit","catalyst","electron","swiftui","uikit"],"created_at":"2024-08-05T23:00:37.934Z","updated_at":"2024-11-23T20:30:46.963Z","avatar_url":"https://github.com/ZeeZide.png","language":"Swift","funding_links":[],"categories":["Swift","Open source apps"],"sub_categories":["macOS"],"readme":"\u003ch2\u003eThe 5 GUIs Application\n  \u003cimg src=\"5GUIs/Assets.xcassets/AppIcon.appiconset/5GUIs-256.png\"\n           align=\"right\" width=\"128\" height=\"128\" /\u003e\n\u003c/h2\u003e\n\n... the app for the [tweet](https://twitter.com/jckarter/status/1310412969289773056):\n\n\u003cblockquote class=\"twitter-tweet\"\u003e\u003cp lang=\"en\" dir=\"ltr\"\u003eWith its eclectic mix of AppKit, Catalyst, iOS, SwiftUI, and web apps, macOS should consider rebranding to “Five GUIs”\u003c/p\u003e\u0026mdash; Joe Groff (@jckarter) \u003ca href=\"https://twitter.com/jckarter/status/1310412969289773056?ref_src=twsrc%5Etfw\"\u003eSeptember 28, 2020\u003c/a\u003e\u003c/blockquote\u003e\n\nGUI is an abbreviation for [Graphical User Interface](https://en.wikipedia.org/wiki/Graphical_user_interface).\n\n\u003ca href=\"https://apps.apple.com/us/app/id1534164621\"\u003e\n  \u003cimg src=\"https://zeezide.com/img/apple/Download_on_the_App_Store_Badge_US-UK_135x40 Canvas.png\"\u003e \n\u003c/a\u003e  \n\n\u003cimg src=\"https://zeezide.com/img/5guis/screenshots/appwindow/5guis-drop-it.png\"\n     width=\"24%\" /\u003e\n\u003cimg src=\"https://zeezide.com/img/5guis/screenshots/appwindow/5guis-marzipan.png\"\n     width=\"24%\" /\u003e\n\u003cimg src=\"https://zeezide.com/img/5guis/screenshots/appwindow/5guis-companion.png\"\n     width=\"24%\" /\u003e\n\u003cimg src=\"https://zeezide.com/img/5guis/screenshots/appwindow/5guis-automator.png\"\n     width=\"24%\" /\u003e\n\n\n### How it works\n\n[5 GUIs](https://zeezide.com/en/products/5guis/index.html) \nfirst grabs some information from the app bundle. \nIt then uses [LLVM](https://llvm.org)'s \n[`objdump`](https://en.wikipedia.org/wiki/Objdump) \nto check what libraries the app links,\ne.g. [Electron](https://www.electronjs.org) or \n[UIKit](https://developer.apple.com/documentation/uikit), to figure out what technology is being used.\n\n[5 GUIs](https://zeezide.com/en/products/5guis/index.html) \nitself is a [SwiftUI](https://developer.apple.com/xcode/swiftui/) 1\nmacOS application (i.e. it runs on Catalina and macOS BS).\n\n\n### Idea and Implementation\n\nThe idea for this kind of app exists for quite some time, but when \n[@jckarter](https://twitter.com/jckarter)\ntweeted the proper name for this: “5 GUIs”, it finally had to be done.\n\nThis is a quick hack, put together in about 2 days. \nThe source is not “nice” at all, don't use it as a proper example 🙈\nPRs with cleanups are warmly welcome.\n\n\n### Help wanted!\n\nAll improvements are very welcome, but most of all this app could use better\ndesign. \nSwiftUI gives you something OKayish looking out of the box, but if someone\nhas the time to add some fancy animations, \nbetter colors, iconography and styling, \nthat would be *very* welcome!\n\nAlso checkout the [Issues](/ZeeZide/5GUIs/issues) page of this repository. \nIt'll have some.\n\n\n### 3rd Party Software Used\n\n- LLVM objdump: [license](LLVM/LLVM-LICENSE.TXT)\n\n\n### Building the Project in Xcode\n\nBefore the app can be build, an `llvm-objdump` binary needs to be put into\nthe `LLVM` folder (the binary was a little big for inclusion in the repository).\n\nFor testing purposes the one included in Xcode should be fine,\nit should be living over here:\n`/Applications/Xcode.app//Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/llvm-objdump`.\n\nFor deployment it is probably better to build an own one. \nTo do so:\n- grab the LLVM source code from the \n  [downloads page](https://releases.llvm.org/download.html#10.0.1)\n- Unpack it somewhere, e.g.: `cd /tmp; \u0026\u0026 tar zxf llvm-10.0.1.src.tar.xz`\n- Create a build dir: `mkdir /tmp/build-dir \u0026\u0026 cd /tmp/build-dir`\n- Create the makefiles: `cmake ../llvm-10.0.1.src/`\n- Build it: `cd tools/llvm-objdump \u0026\u0026 cmake --build .`\n\n\n### Who\n\n**5 GUIs** is brought to you by\n[ZeeZide](http://zeezide.de).\nWe like feedback, GitHub stars, cool contract work,\npresumably any form of praise you can think of.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FZeeZide%2F5GUIs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FZeeZide%2F5GUIs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FZeeZide%2F5GUIs/lists"}