Skip to content

feat(linux): Add option to select typing tool#760

Merged
cjpais merged 6 commits intocjpais:mainfrom
kakapt:feat/typing_tool_selection
Feb 11, 2026
Merged

feat(linux): Add option to select typing tool#760
cjpais merged 6 commits intocjpais:mainfrom
kakapt:feat/typing_tool_selection

Conversation

@kakapt
Copy link
Copy Markdown
Contributor

@kakapt kakapt commented Feb 10, 2026

  • Added a Linux-only typing tool setting shown for direct paste, with a new dropdown in advanced settings.
  • Wired new typing tool setting through settings store, bindings, and Tauri commands.
  • Added typing tool enum/defaults and selection handling in Linux clipboard direct typing.
  • Added translations for the new typing tool setting across locales.

Before Submitting This PR

Please confirm you have done the following:

Human Written Description

Enable the user to select which typing method is used on Linux. This is especially helpful for user running on Wayland with broken wtype handling like Niri to able to use dotool as a fallback.

Related Issues/Discussions

Discussion: #742

Testing

Manual test

Screenshots/Videos (if applicable)

image

AI Assistance

  • No AI was used in this PR
  • AI was used (please describe below)

If AI was used:

  • Tools used: Sonnet 4.5 + Gpt 5.2 Codex
  • How extensively:
    • Used Sonnet to summarize the code base. Found the current implementation of try_direct_typing_linux
    • Used Codex for summarize the changes and translation

 - Added a Linux-only typing tool setting shown for direct paste, with a new dropdown in advanced settings.
 - Wired new typing tool setting through settings store, bindings, and Tauri commands.
 - Added typing tool enum/defaults and selection handling in Linux clipboard direct typing.
 - Added translations for the new typing tool setting across locales.
@cjpais
Copy link
Copy Markdown
Owner

cjpais commented Feb 10, 2026

This is a really good change for Linux users I'll merge this soon!

@cjpais
Copy link
Copy Markdown
Owner

cjpais commented Feb 11, 2026

@kakapt would you mind testing the latest version, I added a check so it only shows the available tools on the system

@github-actions
Copy link
Copy Markdown

🧪 Test Build Ready

Build artifacts for PR #760 are available for testing.

Download artifacts from workflow run

Artifacts expire after 30 days.

@kakapt
Copy link
Copy Markdown
Contributor Author

kakapt commented Feb 11, 2026

@kakapt would you mind testing the latest version, I added a check so it only shows the available tools on the system

@cjpais It detects the available tools on my system correctly!
image

@kakapt
Copy link
Copy Markdown
Contributor Author

kakapt commented Feb 11, 2026

However, there an ALSA issue that occurs after the v0.6.10:

     Running `target/debug/handy`
[2026-02-11][05:34:04][handy_app_lib::managers::history][INFO] Initializing database at "/home/kakapt/.local/share/com.pais.handy/history.db"
[2026-02-11][05:34:04][rusqlite_migration][INFO] Database migrated to version 3
[baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
[2026-02-11][05:34:09][handy_app_lib::commands][INFO] Enigo initialized successfully after permission grant
[2026-02-11][05:34:09][handy_app_lib::commands][INFO] Shortcuts initialized successfully
ALSA lib pcm.c:2713:(snd_pcm_open_conf) Either /nix/store/z8pz8hz2psggqsws4n7mzbbdghpcxm71-pipewire-1.4.9/lib/alsa-lib/libasound_module_pcm_pipewire.so cannot be opened or _snd_pcm_pipewire_open was not defined inside
ALSA lib pcm.c:2713:(snd_pcm_open_conf) Either /nix/store/szmfcymkkxkfb6yrg2mg9h4g9lsh80b2-pipewire-1.4.9/lib/alsa-lib/libasound_module_pcm_pipewire.so cannot be opened or _snd_pcm_pipewire_open was not defined inside
ALSA lib pcm.c:2713:(snd_pcm_open_conf) Either /nix/store/z8pz8hz2psggqsws4n7mzbbdghpcxm71-pipewire-1.4.9/lib/alsa-lib/libasound_module_pcm_pipewire.so cannot be opened or _snd_pcm_pipewire_open was not defined inside
ALSA lib pcm.c:2713:(snd_pcm_open_conf) Either /nix/store/szmfcymkkxkfb6yrg2mg9h4g9lsh80b2-pipewire-1.4.9/lib/alsa-lib/libasound_module_pcm_pipewire.so cannot be opened or _snd_pcm_pipewire_open was not defined inside
ALSA lib pcm.c:2713:(snd_pcm_open_conf) Either /nix/store/z8pz8hz2psggqsws4n7mzbbdghpcxm71-pipewire-1.4.9/lib/alsa-lib/libasound_module_pcm_pipewire.so cannot be opened or _snd_pcm_pipewire_open was not defined inside
ALSA lib pcm.c:2713:(snd_pcm_open_conf) Either /nix/store/szmfcymkkxkfb6yrg2mg9h4g9lsh80b2-pipewire-1.4.9/lib/alsa-lib/libasound_module_pcm_pipewire.so cannot be opened or _snd_pcm_pipewire_open was not defined inside
ALSA lib pcm.c:2713:(snd_pcm_open_conf) Either /nix/store/z8pz8hz2psggqsws4n7mzbbdghpcxm71-pipewire-1.4.9/lib/alsa-lib/libasound_module_pcm_pipewire.so cannot be opened or _snd_pcm_pipewire_open was not defined inside
ALSA lib pcm.c:2713:(snd_pcm_open_conf) Either /nix/store/szmfcymkkxkfb6yrg2mg9h4g9lsh80b2-pipewire-1.4.9/lib/alsa-lib/libasound_module_pcm_pipewire.so cannot be opened or _snd_pcm_pipewire_open was not defined inside
ALSA lib pcm.c:2793:(snd_pcm_open_noupdate) Unknown PCM pulse
ALSA lib pcm.c:2793:(snd_pcm_open_noupdate) Unknown PCM pulse
ALSA lib pcm.c:2793:(snd_pcm_open_noupdate) Unknown PCM jack
ALSA lib pcm.c:2793:(snd_pcm_open_noupdate) Unknown PCM jack
ALSA lib pcm.c:2793:(snd_pcm_open_noupdate) Unknown PCM oss
ALSA lib pcm.c:2793:(snd_pcm_open_noupdate) Unknown PCM oss
ALSA lib pcm.c:2713:(snd_pcm_open_conf) Either /nix/store/z8pz8hz2psggqsws4n7mzbbdghpcxm71-pipewire-1.4.9/lib/alsa-lib/libasound_module_pcm_pipewire.so cannot be opened or _snd_pcm_pipewire_open was not defined inside
ALSA lib pcm.c:2713:(snd_pcm_open_conf) Either /nix/store/szmfcymkkxkfb6yrg2mg9h4g9lsh80b2-pipewire-1.4.9/lib/alsa-lib/libasound_module_pcm_pipewire.so cannot be opened or _snd_pcm_pipewire_open was not defined inside
ALSA lib pcm.c:2713:(snd_pcm_open_conf) Either /nix/store/z8pz8hz2psggqsws4n7mzbbdghpcxm71-pipewire-1.4.9/lib/alsa-lib/libasound_module_pcm_pipewire.so cannot be opened or _snd_pcm_pipewire_open was not defined inside
ALSA lib pcm.c:2713:(snd_pcm_open_conf) Either /nix/store/szmfcymkkxkfb6yrg2mg9h4g9lsh80b2-pipewire-1.4.9/lib/alsa-lib/libasound_module_pcm_pipewire.so cannot be opened or _snd_pcm_pipewire_open was not defined inside
ALSA lib pcm.c:2713:(snd_pcm_open_conf) Either /nix/store/z8pz8hz2psggqsws4n7mzbbdghpcxm71-pipewire-1.4.9/lib/alsa-lib/libasound_module_pcm_pipewire.so cannot be opened or _snd_pcm_pipewire_open was not defined inside
ALSA lib pcm.c:2713:(snd_pcm_open_conf) Either /nix/store/szmfcymkkxkfb6yrg2mg9h4g9lsh80b2-pipewire-1.4.9/lib/alsa-lib/libasound_module_pcm_pipewire.so cannot be opened or _snd_pcm_pipewire_open was not defined inside
ALSA lib pcm.c:2713:(snd_pcm_open_conf) Either /nix/store/z8pz8hz2psggqsws4n7mzbbdghpcxm71-pipewire-1.4.9/lib/alsa-lib/libasound_module_pcm_pipewire.so cannot be opened or _snd_pcm_pipewire_open was not defined inside
ALSA lib pcm.c:2713:(snd_pcm_open_conf) Either /nix/store/szmfcymkkxkfb6yrg2mg9h4g9lsh80b2-pipewire-1.4.9/lib/alsa-lib/libasound_module_pcm_pipewire.so cannot be opened or _snd_pcm_pipewire_open was not defined inside
ALSA lib pcm.c:2793:(snd_pcm_open_noupdate) Unknown PCM pulse
ALSA lib pcm.c:2793:(snd_pcm_open_noupdate) Unknown PCM pulse
ALSA lib pcm.c:2793:(snd_pcm_open_noupdate) Unknown PCM jack
ALSA lib pcm.c:2793:(snd_pcm_open_noupdate) Unknown PCM jack
ALSA lib pcm.c:2793:(snd_pcm_open_noupdate) Unknown PCM oss
ALSA lib pcm.c:2793:(snd_pcm_open_noupdate) Unknown PCM oss

@kakapt
Copy link
Copy Markdown
Contributor Author

kakapt commented Feb 11, 2026

@cjpais I've found the issue. We need to update the flake.lock file.

@cjpais
Copy link
Copy Markdown
Owner

cjpais commented Feb 11, 2026

@kakapt thanks if you could submit a fix would be great

@kakapt
Copy link
Copy Markdown
Contributor Author

kakapt commented Feb 11, 2026

@kakapt thanks if you could submit a fix would be great

What do think about a workflow of daily update of flake.lock?

@cjpais
Copy link
Copy Markdown
Owner

cjpais commented Feb 11, 2026

@kakapt mind joining discord and we can talk there? this pr is another issue

@kakapt
Copy link
Copy Markdown
Contributor Author

kakapt commented Feb 11, 2026

@kakapt mind joining discord and we can talk there? this pr is another issue

I've joined

@cjpais cjpais merged commit b02873d into cjpais:main Feb 11, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants