Skip to content
@IBus-Customize

IBus Customize

This is an archive of the "IBus Customize" Project that was done by @HollowMan6 during 2021 GSoC.

Project Introduction

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.

Main Focus

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.

Other Goals

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.


Contribution in Details

Blog Posts both in Chinese and English of the Documentations Related to the Project User Guide


Customize IBus Extension (All the commits and releases submitted by @HollowMan6 are my contributions)

Using Customize IBus to Set Background with a Specified Theme

Functionalities

  • 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!)

Issues and PRs Opened and Resolved

Submitted to Open Build Service

My OBS Home

Source Repository (Before revision 87)

Upstream Repository (Before revision 4)

Submit Request #903392

Submit Request #906096

Submit Request #911881



Submitted to Ubuntu PPA (Before Version 70)


Submitted to AUR (Before Version 70)

IBus Theme Tools (All the commits and releases submitted by @HollowMan6 are my contributions)

Select IBus Theme Tools Work Mode on Non-GNOME Desktop

Functionalities

  • 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

Issues and PRs Opened and Resolved

Submitted to Open Build Service

My OBS Home

Source Repository (Before revision 17)

Upstream Repository (Before revision 3)

Submit Request #906099

Submit Request #912456



Submitted to Ubuntu PPA (Before Version 4.1.3)


Submitted to AUR (Before Version 4.1.3)

IBus Theme Hub (All the commits and releases submitted by @HollowMan6 are my contributions)

Functionalities

Issues, Discussions, and PRs Opened and Resolved


IBus (All the commits and releases submitted by @HollowMan6 are my contributions)


Change Theme with GTK Themes PR (Merged for IBus v1.5.27)

Pinned

  1. Customize-IBus Customize-IBus Public archive

    Forked from openSUSE/Customize-IBus

    Full customization of appearance, behavior, system tray and input source indicator for IBus. (深度定制 IBus 的外观、行为、系统托盘以及输入指示)

    JavaScript 2

  2. IBus-Theme-Tools IBus-Theme-Tools Public archive

    Forked from openSUSE/IBus-Theme-Tools

    Generate the IBus GTK or GNOME Shell theme from existing themes. (从现有主题中生成 IBus GTK 或 GNOME Shell 主题)

    Python

  3. IBus-Theme-Hub IBus-Theme-Hub Public archive

    Forked from openSUSE/IBus-Theme-Hub

    This is the hub for IBus theme that can be used by Customize IBus GNOME Shell Extension.(可被自定义IBus GNOME Shell 扩展使用的IBus主题集合)

    CSS 1

  4. ibus ibus Public archive

    Forked from ibus/ibus

    Intelligent Input Bus for Linux/Unix

    C

  5. .github .github Public archive

    Summary of My Google Summer of Code 2021

  6. news-o-o news-o-o Public archive

    Forked from openSUSE/news-o-o

    📰 News from the openSUSE Land

    CSS

Repositories

Showing 6 of 6 repositories

Top languages

Loading…

Most used topics

Loading…