goxkey icon indicating copy to clipboard operation
goxkey copied to clipboard

[Feature] switching unix socket for command-line

Open khanhicetea opened this issue 1 year ago • 1 comments

Hi tác giả,

Mình mở PR này để giải quyết cái issue nhỏ khi làm việc với Vim, background mình không phải là Rust dev nên code có dở thì tác giả góp ý nhé.

Ref Issue : https://github.com/huytd/goxkey/issues/89

IDEA : Mình sẽ open 1 UNIX socket (sau này có thể bật qua UI settings), mở socket ở file /tmp/gox-switch-socket (do mở = User run app nên quyền access cũng thuộc chung về User)

Khi cần switch thẳng mode (vi or en) thì mình dùng 1 client (bằng bất kỳ ngôn ngữ hoặc tool có thể send packet đến UNIX socket, nếu là bash thì macos có tool socat)

$ echo "vi" | socat - UNIX-CONNECT:/tmp/gox-switch-socket
done
$ echo "en" | socat - UNIX-CONNECT:/tmp/gox-switch-socket
done

Note : mình có bundle và test thử thì đã work, nhưng còn 1 lỗi nhỏ là khi switch thì cái system tray value nó không update, có thể chưa gửi event update UI (này thật tình mình không rành kiến trúc rust và mac-ui)

Chúc tác giả 1 năm mới nhiều may mắn nhé, cảm ơn đã tạo ra 1 bộ gõ tốt cho người Việt.

khanhicetea avatar Feb 05 '24 17:02 khanhicetea