IBus logo | |
Thiết kế bởi | Peng Huang |
---|---|
Phát triển bởi | Peng Huang |
Phát hành lần đầu | tháng 8 năm 2008 |
Phiên bản ổn định | 1.5.12
/ 18 tháng 1 năm 2016[1] |
Kho mã nguồn | |
Viết bằng | C, Python |
Hệ điều hành | Tương tự Unix |
Ngôn ngữ có sẵn | Đa ngôn ngữ |
Thể loại | Bộ gõ |
Giấy phép | GNU LGPL v2 hoặc mới hơn |
Website | github |
Trạng thái | Đang phát triển |
Intelligent Input Bus (IBus, đọc là I-Bus) một nền tảng hỗ trợ các phương thức nhập liệu, hay còn gọi là bộ gõ, cho các hệ điều hành tương tự Unix. Tên "Bus" của nó đến từ kiến trúc tương tự bus của nó.
Mục tiêu chính của IBus bao gồm:
Dự thảo Specification of IM engine Service Provider Interface[2] tài liệu từ Northeast Asia OSS Forum[3] Work Group 3 đề nghị kiến trúc nền tảng bus-centric IM với một bus thêm vào (tương tự như dbus). Theo các đặc điểm kỹ thuật, SCIM-1.4 được xem là không thích hợp thêm,trong khi nó lại được viết bằng c++ thường gây ra các vấn đề chuyển đổi ABI.[4]
Kể từ đó, các dự án thành công như IM-BUS (bởi James Su) và SCIM-2 (bởi Zheng Hu) được khởi động. Tuy nhiên cả hai dự án bị ngừng. Do đó, Huang Peng từ Red Hat thành lập dự án IBus để chứng minh ý tưởng của IM-BUS bằng cách dùng Python, D-Bus và GLib hơn là thực hiện theo các khuyến cáo của diễn đàn CJK OSS. Mặc dù vậy IBus đã nhận được sự chấp thuận của cộng đồng, và FreeBSD cùng nhiều bản phân phối Linux khác như Fedora và Ubuntu đã đưa IBus vào kho phần mềm của họ. IBus trở thành bộ gõ mặc định mới trên Fedora 11,[5] và thay thế SCIM trên Ubuntu 9.10.
IBus được viết bằng C và Python, như vậy tránh được các vấn đề chuyển đổi C++ ABI của SCIM <1.4.14.
IBus cung cấp hầu hết các chức năng của nó thông qua các services. Có ba loại services:
IBus dùng D-Bus để liên lạc giữa các ibus-daemon, services, và IM clients chẳng hạn như giả lập thiết bị đầu cuối, trình soạn thảo và các trình duyệt web. ibus-daemon quản lý tất cả clients và services bằng cách nhận đăng ký từ các services, và gửi các tin nhắn qua D-Bus tới các services và IM client.
Nó triển khai các giao thức XIM, và có các modules bộ gõ GTK+ và Qt.