Skip to content

Commit

Permalink
ui/gtk3: Add desktop file for Plasma systemsettings5
Browse files Browse the repository at this point in the history
systemsettings5 "Input Devices" -> "Virtual Keyboard" shows
"IBus Wayland" icon in the Plasma Wayland desktop session to
launch `ibus-ui-gtk3 --enable-wayland-im` and the panel can
be launched with "Apply" button after `ibus-daemon --panel disable &`
runs.

BUG=#2408
  • Loading branch information
fujiwarat committed Jul 27, 2023
1 parent 6ed5e45 commit 3f3f0b6
Show file tree
Hide file tree
Showing 3 changed files with 55 additions and 40 deletions.
1 change: 1 addition & 0 deletions po/POTFILES.in
Expand Up @@ -64,6 +64,7 @@ ui/gtk3/emojierapp.vala
ui/gtk3/handle.vala
ui/gtk3/ibus-extension-gtk3.desktop.in
ui/gtk3/ibus-ui-emojier.desktop.in
ui/gtk3/ibus-ui-wayland.desktop.in
ui/gtk3/iconwidget.vala
ui/gtk3/keybindingmanager.vala
ui/gtk3/panel.vala
Expand Down
86 changes: 46 additions & 40 deletions ui/gtk3/Makefile.am
Expand Up @@ -36,6 +36,13 @@ componentdir = $(pkgdatadir)/component
-e 's|@VERSION[@]|$(VERSION)|g' \
-e 's|@libexecdir[@]|$(libexecdir)|g' $< > $@.tmp && \
mv $@.tmp $@
$(NULL)
%.desktop: %.desktop.in
$(AM_V_GEN) sed \
-e 's|@libexecdir[@]|$(libexecdir)|g' \
-e 's|^#Name=|Name=|' $< > $@.tmp && \
mv $@.tmp $@
$(NULL)

# force include config.h before gi18n.h.
AM_CPPFLAGS = \
Expand Down Expand Up @@ -101,22 +108,6 @@ if ENABLE_APPINDICATOR
AM_VALAFLAGS += --define=INDICATOR
endif

if ENABLE_GDK3_WAYLAND
AM_CPPFLAGS += \
-I$(top_srcdir)/client/wayland \
-I$(top_builddir)/client/wayland \
$(NULL)
AM_VALAFLAGS += \
--vapidir=$(top_builddir)/client/wayland \
--vapidir=$(top_srcdir)/client/wayland \
--pkg=ibus-wayland-im-1.0 \
--pkg=gdk-wayland --define=USE_GDK_WAYLAND \
$(NULL)
AM_LDADD += \
$(libibuswaylandim) \
$(NULL)
endif

libexec_PROGRAMS = ibus-ui-gtk3

ibus_ui_gtk3_SOURCES = \
Expand Down Expand Up @@ -150,34 +141,66 @@ gen-%.xml.c: %.xml
sed -e "s:\":\\\\\":g" -e s:^:\": -e s:\$$:\\\\n\": $< >> $@
echo ";" >> $@

emoji_headers = \
ibusemojidialog.h \
$(NULL)

desktop_in_files = \
ibus-ui-emojier.desktop.in \
ibus-ui-wayland.desktop.in \
ibus-extension-gtk3.desktop.in \
$(NULL)
desktop_notrans_files = $(desktop_in_files:.desktop.in=.desktop)
desktopdir = $(datadir)/applications
desktop_DATA =

CLEANFILES = \
$(desktop_notrans_files) \
$(desktop_DATA) \
gtkpanel.xml \
$(NULL)

MAINTAINERCLEANFILES =

emoji_headers = \
ibusemojidialog.h \
$(NULL)

# References:
# libappindicator/src/notification-item.xml
# libappindicator/src/notification-watcher.xml
# kdelibs/kdeui/knotifications/src/org.kde.StatusNotifierItem.xml
# kdelibs/kdeui/knotifications/src/org.kde.StatusNotifierWatcher.xml
EXTRA_DIST = \
$(emoji_headers) \
$(desktop_in_files) \
emojierapp.vala \
extension.vala \
gtkextension.xml.in \
gtkpanel.xml.in \
notification-item.xml \
notification-watcher.xml \
ibus-ui-emojier.desktop.in \
ibus-extension-gtk3.desktop.in \
panelbinding.vala \
$(NULL)

if ENABLE_GDK3_WAYLAND
AM_CPPFLAGS += \
-I$(top_srcdir)/client/wayland \
-I$(top_builddir)/client/wayland \
$(NULL)
AM_VALAFLAGS += \
--vapidir=$(top_builddir)/client/wayland \
--vapidir=$(top_srcdir)/client/wayland \
--pkg=ibus-wayland-im-1.0 \
--pkg=gdk-wayland --define=USE_GDK_WAYLAND \
$(NULL)
AM_LDADD += \
$(libibuswaylandim) \
$(NULL)
desktop_DATA += \
org.freedesktop.IBus.Panel.Wayland.Gtk3.desktop \
$(NULL)
org.freedesktop.IBus.Panel.Wayland.Gtk3.desktop: ibus-ui-wayland.desktop
$(AM_V_GEN) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@
$(NULL)
endif

if ENABLE_EMOJI_DICT
AM_VALAFLAGS += --define=EMOJI_DICT

Expand Down Expand Up @@ -270,33 +293,16 @@ MAINTAINERCLEANFILES += extension.c panelbinding.c
man_seven_DATA = ibus-emoji.7
man_sevendir = $(mandir)/man7

desktop_in_files = \
ibus-ui-emojier.desktop.in \
ibus-extension-gtk3.desktop.in \
$(NULL)
desktop_notrans_files = $(desktop_in_files:.desktop.in=.desktop)
desktop_DATA = \
desktop_DATA += \
org.freedesktop.IBus.Panel.Emojier.desktop \
org.freedesktop.IBus.Panel.Extension.Gtk3.desktop \
$(NULL)
desktopdir = $(datadir)/applications
%.desktop: %.desktop.in
$(AM_V_GEN) sed \
-e 's|@libexecdir[@]|$(libexecdir)|g' $< > $@.tmp && \
mv $@.tmp $@
$(NULL)
org.freedesktop.IBus.Panel.Emojier.desktop: ibus-ui-emojier.desktop
$(AM_V_GEN) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@
$(NULL)
org.freedesktop.IBus.Panel.Extension.Gtk3.desktop: ibus-extension-gtk3.desktop
$(AM_V_GEN) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@
$(NULL)

CLEANFILES += \
$(desktop_DATA) \
$(desktop_notrans_files) \
$(NULL)

endif
# end of ENABLE_EMOJI_DICT

Expand Down
8 changes: 8 additions & 0 deletions ui/gtk3/ibus-ui-wayland.desktop.in
@@ -0,0 +1,8 @@
[Desktop Entry]
# IBus Wayland is a branding name but not translatable.
#Name=IBus Wayland
Exec=@libexecdir@/ibus-ui-gtk3 --enable-wayland-im
Type=Application
X-KDE-Wayland-VirtualKeyboard=true
Icon=ibus
NoDisplay=true

0 comments on commit 3f3f0b6

Please sign in to comment.