Coder Social home page Coder Social logo

ibus-gjs's Introduction

ibus-gjs
It is a GNOME-Shell GJS Plugin for IBus
The ibus-gjs works with ibus on gnome-shell.
So you need to install gnome-shell and ibus and enable 3D accelerator with
your graphics card to launch gnome-shell.


Build and install from source
=============================

The build make & make install expect to install the files into system
directories since we'd try to integrate this module into upstream gnome-shell.
 - js files are installed in 
   /usr/share/gnome-shell/js/ui/status/ibus
 - extension files are installed in
   /usr/share/gnome-shell/extensions/[email protected]

To work with gnome-shell 3.4 or later, the latest ibus 1.4.99 and
ibus-xkb is required.

You need to enable gobject-introspection in the latest ibus and
disable engine and UI so that ibus-xkb's ones are used instead.
If you use dconf, the following patch is required for ibus:
https://github.com/ibus/ibus/commit/4bee2863e8d2e51b185b6d149e6259848d8c0cb6

ibus would be built with the following configure options:

# cd ibus-1.4.99.20120529
# ./configure --prefix=/usr \
              --disable-engine --disable-ui --prefix=/usr \
              --enable-dconf --disable-gconf \
              --enable-introspection

ibus-xkb would be built with the following configure options:

# cd ibus-xkb-1.4.99.20120531
# ./configure --prefix=/usr --enable-dconf --disable-gconf


Need to enable the ibus extension by manual after you install ibus-gjs:

Run gnome-tweak-tool on gnome-shell and enable the extension of
"Input-Method Status Indicator"

or

Set a gsetting value by manual:
% gsettings get org.gnome.shell enabled-extensions
[]
% gsettings set org.gnome.shell enabled-extensions "['[email protected]']"
% gsettings get org.gnome.shell enabled-extensions
['[email protected]']



Download and install from web site
==================================

You can install ibus-gjs with the user privilege.
You need to uninstall the ibus-gjs if you installed it.
1. Run gnome-shell
2. Enable "Input-Method Status Indicator" below
https://extensions.gnome.org/extension/68/input-method-status-indicator/

The community version disables an ibus xkb feature because the Fedora
specific feature is not upstreamed in ibus yet.
You could see that user.patch disables XKB in ibusPanel.js and xkbLayout.js.
So if you would use this on Fedora, you could enable XKB to modify
ibusPanel.js and xkbLayout.js by manual.

Actually the web site dowloads the ibjs-gjs files under the user directory
and enables the gnome.shell gsettings above.

% cd $HOME
% mkdir -p .local/share/gnome-shell/extensions/[email protected]
% cp /usr/share/gnome-shell/extensions/[email protected]/* \
  .local/share/gnome-shell/extensions/[email protected]/.
% mkdir .local/share/gnome-shell/extensions/[email protected]/ibus
% cp /usr/share/gnome-shell/js/ui/status/ibus/* \
  .local/share/gnome-shell/extensions/[email protected]/ibus/.
% cd .local/share/gnome-shell/extensions/[email protected]
% patch -p1 < user.patch

(To upload the files in extensions.gnome.org,
bump the version in metadata.json and
% cd [email protected]
% zip -r [email protected] \
  extension.js ibus metadata.json stylesheet.css
)


Installation failure
====================

The gnome-shell extension module has the version information of gnome-shell
and gjs, and gnome-shell checks the versions.
If the versions are not matched, the gnome-shell ibus extension is not enabled.
You could check if the versions are matched by manual.

% rpm -q gnome-shell
gnome-shell-3.2.1-1.fc16.x86_64
% rpm -q gjs
gjs-1.30.0-1.fc16.x86_64
% egrep 'shell-version|js-version' \
  /usr/share/gnome-shell/extensions/[email protected]/metadata.json
{"shell-version": ["3.2"],
 "js-version": ["1.30"],

ibus-gjs's People

Contributors

fujiwarat avatar tigersoldier avatar mengzhuo avatar ueno avatar julroy67 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.