{"id":23802538,"url":"https://github.com/agx/phosh-osk-stub","last_synced_at":"2025-04-13T08:50:19.241Z","repository":{"id":150122664,"uuid":"562552192","full_name":"agx/phosh-osk-stub","owner":"agx","description":"Read-only mirror of https://gitlab.gnome.org/guidog/phosh-osk-stub","archived":false,"fork":false,"pushed_at":"2025-03-30T10:01:26.000Z","size":1754,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T06:53:31.053Z","etag":null,"topics":["osk","phosh"],"latest_commit_sha":null,"homepage":"https://phosh.mobi","language":"C","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/agx.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS","contributing":null,"funding":null,"license":"COPYING","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-11-06T17:48:07.000Z","updated_at":"2025-03-30T10:00:16.000Z","dependencies_parsed_at":"2023-04-16T09:17:08.205Z","dependency_job_id":"0c3a1dfd-f0e0-41d1-890e-b37dde0d9378","html_url":"https://github.com/agx/phosh-osk-stub","commit_stats":null,"previous_names":[],"tags_count":34,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agx%2Fphosh-osk-stub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agx%2Fphosh-osk-stub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agx%2Fphosh-osk-stub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agx%2Fphosh-osk-stub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agx","download_url":"https://codeload.github.com/agx/phosh-osk-stub/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248688415,"owners_count":21145763,"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":["osk","phosh"],"created_at":"2025-01-01T22:27:00.941Z","updated_at":"2025-04-13T08:50:19.219Z","avatar_url":"https://github.com/agx.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Phosh OSK Stub\n\nAn alternative keyboard for Phosh. It can replace the default OSK\n[squeekboard][].\n\nThe purpose of phosh-osk-stub:\n\n- allow experimentation without the risk of breaking end user systems\n- be helpful when debugging input-method related issues\n- be quick and easy to (cross)compile\n- allow to move GObject bits and Widgets over to squeekboard easily if\n  desired (hence provide API documentation)\n\nFeatures:\n\n- easy to swap out with squeekboard (implements phosh's [sm.puri.OSK0]() DBus\n  interface) for low risk experimentation\n- easy to temporarily replace running instance (`--replace` option)\n- no language boundaries within the codebase to lower the entrance barrier\n- use current GTK and GObject patterns (actions, bindings, …)\n- use GNOME libs and technologies wherever possible (GSettings, json-glib, …)\n- [character popover](https://gitlab.gnome.org/guidog/phosh-osk-stub/-/raw/main/screenshots/pos-popover.png)\n- [emoji layout](https://gitlab.gnome.org/guidog/phosh-osk-stub/-/raw/main/screenshots/pos-emoji.png)\n- cursor navigation via space-bar long-press\n- word correction via hunspell\n- use any program as completer via a `pipe` completer ([Example](https://social.librem.one/@agx/110260534404795348))\n- experimental [word completion](https://social.librem.one/@agx/109428599061094716)\n  based on the presage library\n- experimental input of Indic languages using [varnam](https://github.com/varnamproject)\n- allow to prevent keyboard unfold for certain apps (via app-id)\n- allow to prevent keyboard unfold when a hardware keyboard is present\n\n## License\n\nphosh-osk-stub is licensed under the GPLv3+.\n\n## Getting the source\n\n```sh\ngit clone https://gitlab.gnome.org/guidog/phosh-osk-stub\ncd phosh-osk-stub\n```\n\nThe [main][] branch has the current development version.\n\n## Dependencies\n\nOn a Debian based system run\n\n```sh\nsudo apt-get -y install build-essential\nsudo apt-get -y build-dep .\n```\n\nFor an explicit list of dependencies check the `Build-Depends` entry in the\n[debian/control][] file.\n\n## Building\n\nWe use the meson (and thereby Ninja) build system for phosh-osk-stub.\nThe quickest way to get going is to do the following:\n\n```sh\nmeson setup -Dgtk_doc=false _build\nmeson compile -C _build\nmeson test -C _build\n```\n\nWe're disabling the doc build above as it reduces build time a lot.\n\n## Running\n\n### Running from the source tree\n\nWhen running from the source tree first start *[phosh][]*.\nThen start *phosh-osk-stub* using:\n\n```sh\n_build/run --replace\n```\n\nNote that there's no need to install any files outside the source tree. The\n`--replace` option *temporarily* replaces a running `phosh-osk-stub` so there's\nno need to stop a running instance.\n\nThe result should look something like this:\n\n![character popover](screenshots/pos-popover.png)\n![emoji layout](screenshots/pos-emoji.png)\n![inscript/malayalam](screenshots/pos-wide-in+mal.png)\n\n## Word completion\n\n``phosh-osk-stub`` has support for word completion. There are different\ncompleters built in and it's easy to add more. See the [manpage][] on\navailable completers and how to configure them.\n\n## Documentation\n\n### Development Documentation\n\nThe API documentation is available at\n\u003chttps://guidog.pages.gitlab.gnome.org/phosh-osk-stub\u003e.\n\n### End User Documentation\n\nFor end user documentation see the [manpage][] (or in the installed\nsystem via `man phosh-osk-stub`).\n\n## Getting in Touch\n\n- Issue tracker: \u003chttps://gitlab.gnome.org/guidog/phosh-osk-stub/issues\u003e\n- Matrix: \u003chttps://matrix.to/#/#phosh:sigxcpu.org\u003e\n\n[main]: https://gitlab.gnome.org/guidog/phosh-osk-stub/-/tree/main\n[.gitlab-ci.yml]: https://gitlab.gnome.org/guidog/phosh-osk-stub/-/blob/main/.gitlab-ci.yml\n[debian/control]:https://gitlab.gnome.org/guidog/phosh-osk-stub/-/blob/main/debian/control\n[phosh]: https://gitlab.gnome.org/World/Phosh/phosh\n[squeekboard]: https://gitlab.gnome.org/World/Phosh/squeekboard\n[sm.puri.OSK0]: https://gitlab.gnome.org/World/Phosh/phosh/-/blob/main/src/dbus/sm.puri.OSK0.xml\n[phosh-osk-data]: https://gitlab.gnome.org/guidog/phosh-osk-data/\n[manpage]: ./doc/phosh-osk-stub.rst\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagx%2Fphosh-osk-stub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagx%2Fphosh-osk-stub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagx%2Fphosh-osk-stub/lists"}