IBus Customize @openSUSE by Songlin Jiang (@HollowMan6)
Before GSoC 2021, the IBus theme follows the global GNOME-Shell theme in GNOME and the global GTK theme in other desktop environments, and IBus lacks customization for users in GNOME.
This project aims to make IBus themes separate from the current GNOME-Shell theme and GTK theme so that users can customize it with other GNOME-Shell themes and GTK themes.
Improve the UI usability for IBus in GNOME. That is, to add more features, including customization of orientation, animation, font, opacity. Support right-click to switch the input source or open the tray menu, scroll to switch among pages or candidates, fix candidate box and IME switch list order, ASCII mode auto-switch, reposition, show or hide candidate box page buttons, set system tray settings, input source indicator with settings. Theme and background picture follow GNOME Night Light Mode, and so on. These customizations will make users find IBus in GNOME familiar if they have just switched from another platform. Eventually, an extension providing full customization of appearance, behavior, system tray, input source indicator for IBus will be available.
Customize IBus Extension (All the commits and releases submitted by @HollowMan6 are my contributions)
- Candidate Box Orientation (imported from ibus-tweaker, refer to ibus-font-setting for settings sync with
ibus-setup
) - Candidate Box Animation (thanks for the help from Florian Müllner)
- Right-click Candidate Box to Switch the Input Mode or Open the Tray Menu
- Scroll on Candidate Box to Switch among Pages or Candidates
- Fix Candidate Box to Not Follow the Caret and Set Fixed Position
- Candidate Box Font (imported from ibus-tweaker and ibus-font-setting)
- Input Mode Remember and Auto-switch by APP (imported from ibus-tweaker, refactor to enable configuring input mode remember)
- Change Candidate Box Opacity
- Fix IME List Order (imported from fixed-ime-list)
- Drag Candidate Box to Reposition
- Show or Hide Candidate Box Page Buttons
- Restart or Start IBus from Preferences
- System Tray Menus and Interaction Settings
- Show or Hide Tray Icon
- Directly Click Tray Icon to Switch Input Mode
- Add Additional Menu
- Input Source Indicator Appearance and Interaction Settings
- Enable Indicator
- Only Indicate when Switching Input Mode
- Only Indicate when Using ASCII Input Mode
- Right-click Indicator to Hide
- Scroll on Indicator to Switch Input Mode
- Indicator Animation
- Customize Font
- Left-click Indicator to Drag to Move Indicator or Switch Input Mode
- Change Opacity
- Enable Auto-hide Indicator and Configure Auto-hide Timeout
- Configure Theme (Stylesheet Provided by IBus Theme Hub or Extracted from IBus Theme Tools GNOME Shell Themes)
- Add a Candidate Box Background Picture and Configure its Displaying Style
- Theme and Background Picture Follow GNOME Night Light Mode (partly referred to ibus-tweaker for this feature)
- Multi GNOME Version Support ranging from GNOME 3.34 to GNOME 40 Simultaneously
- Hot Reload Support for Theme
- Reset to Default Settings
- Export Current Settings to File
- Import Current Settings from File
- Open Official Settings from Preferences
- Multi-Linguistic Support (Chinese and English)
- Packages Definition Files that can Pack it in Arch, RPM Based, Debian Based
- Logo Design
- Eslint and Prettier Check Support
- Workflow for Auto-Generating Extension Upload Zip file
- Distribution Repos
- Makefile for Build, Release, Package, Translate
(Credits for the GJS Documentation and GNOME Shell Codebase!)
Source Repository (Before revision 87)
Upstream Repository (Before revision 4)
IBus Theme Tools (All the commits and releases submitted by @HollowMan6 are my contributions)
- Non-GNOME Desktop Change IBus GTK Theme, Add Theme Settings to Startup (Before v3). Generate an IBus Mixed GTK theme, Supporting to Select a Background Picture and Configure Border Radius (After v4)
- GNOME Desktop Extract IBus Style from GNOME Shell Theme
- Pack into Module Using Python Package Setup
- Multi-Linguistic Support (Chinese and English)
- Workflow for Python Package Check
- Packages Definition Files that can Pack it in Arch
- Makefile for Build, Release, Package, Translate
Source Repository (Before revision 17)
Upstream Repository (Before revision 3)
IBus Theme Hub (All the commits and releases submitted by @HollowMan6 are my contributions)
- Microsoft IME Theme (imported from ibus-tweaker Stylesheet, Page buttons added by Me)
- Nord Theme (contributed by @stonegate, I did some fixes)
- PR template