{"id":13896389,"url":"https://github.com/kevinhwang91/nvim-ibus-sw","last_synced_at":"2025-04-15T04:32:23.375Z","repository":{"id":105139973,"uuid":"162689384","full_name":"kevinhwang91/nvim-ibus-sw","owner":"kevinhwang91","description":"Switch ibus between insert and normal mode in Neovim","archived":false,"fork":false,"pushed_at":"2023-12-19T15:52:11.000Z","size":1514,"stargazers_count":32,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-12T02:51:17.543Z","etag":null,"topics":["gnome","gnome-shell","ibus","lua","neovim","nvim","vim"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kevinhwang91.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,"roadmap":null,"authors":null}},"created_at":"2018-12-21T08:43:36.000Z","updated_at":"2024-09-02T16:34:00.000Z","dependencies_parsed_at":"2023-12-19T19:11:12.624Z","dependency_job_id":null,"html_url":"https://github.com/kevinhwang91/nvim-ibus-sw","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/kevinhwang91%2Fnvim-ibus-sw","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevinhwang91%2Fnvim-ibus-sw/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevinhwang91%2Fnvim-ibus-sw/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevinhwang91%2Fnvim-ibus-sw/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kevinhwang91","download_url":"https://codeload.github.com/kevinhwang91/nvim-ibus-sw/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249006581,"owners_count":21197301,"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":["gnome","gnome-shell","ibus","lua","neovim","nvim","vim"],"created_at":"2024-08-06T18:02:52.934Z","updated_at":"2025-04-15T04:32:23.349Z","avatar_url":"https://github.com/kevinhwang91.png","language":"Lua","funding_links":[],"categories":["Lua"],"sub_categories":[],"readme":"# nvim-ibus-sw\n\nBe eased to handle multiple inputs methods when changing between normal and insert mode(eg. English and Chinese).\n\n\u003chttps://user-images.githubusercontent.com/17562139/200020687-9d5487cf-4176-4f3a-9e77-ab842e3c7ce9.mp4\u003e\n\n---\n\n## Features\n\n- Save and restore input method when entering/leaving insert mode\n- Switch input method asynchronously\n\n## Requirements\n\n- [Ibus](https://github.com/ibus/ibus)\n- [Neovim](https://github.com/neovim/neovim) 0.6.1 or later\n\n## Installation\n\nInstall with [Packer.nvim](https://github.com/wbthomason/packer.nvim):\n\n```lua\nuse {'kevinhwang91/nvim-ibus-sw'}\n```\n\n\u003e WIP, I may add extra Lua dependences in the further :)\n\n### Minimal configuration\n\n```lua\nuse {'kevinhwang91/nvim-ibus-sw', event = 'InsertEnter',\n     config = function()\n         require('ibus-sw').setup()\n     end\n}\n```\n\n## Gnome users suggestions\n\n1. Use [gnome-shell-ibus-switcher](https://github.com/kevinhwang91/gnome-shell-ibus-switcher) to\n   switch input methods that can refresh the input indicator in tray and restore InputMode.\n2. Enable to switch input sources individually for each window,\n   `gsettings set org.gnome.desktop.input-sources per-window true`\n\nYou can skip (Limitation)[#Limitation] section :)\n\n## Limitation\n\n**If you aren't a Gnome user, the plugin switch input method by `ibus engine` command. When\nswitching input method, tray icon of ibus change nothing.**\n\nUsing `ibus engine` brings a bug when using `switch input sources individually for each window`\noption in input settings in Gnome Desktop Environment, because every progress has a session to save\nthe input status, and restore the data from the session when you refocus on the application.\n\n`ibus engine` can't change this session. Therefore, when you focus lost Neovim window and return\nback later, Gnome Desktop will restore the session for raw input status.\n\n## License\n\nThe project is licensed under a BSD-3-clause license. See the [LICENSE](./LICENSE) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkevinhwang91%2Fnvim-ibus-sw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkevinhwang91%2Fnvim-ibus-sw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkevinhwang91%2Fnvim-ibus-sw/lists"}