You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Clement Lefebvre d3cd76ae28 1.0.4 3 years ago
debian 1.0.4 3 years ago
docs all: Fix build warnings, documentation. 4 years ago
files Add a VAPI file to support Vala 4 years ago
libxapp xapp-gtk-window: Trap X errors when setting progress 4 years ago
m4 update some files modified by the build 4 years ago
po update some files modified by the build 4 years ago
pygobject pygobject/ simplify and add an explanation as to why this 4 years ago
schemas Initial commit 5 years ago
test-scripts xapp-gtk-window test script: Add an animate button (to test real-world 4 years ago
vapi Add a VAPI file to support Vala 4 years ago
AUTHORS Review licensing 4 years ago
COPYING Review licensing 4 years ago
COPYING.LESSER Review licensing 4 years ago
ChangeLog Initial commit 5 years ago all: Allow XAppGtkWindows to be used in builder (ui) files and in 4 years ago
README Initial commit 5 years ago Create 4 years ago
acinclude.m4 Initial commit 5 years ago Migrate away from gnome-common deprecated vars and macros 4 years ago 1.0.4 3 years ago

This project gathers the components which are common to multiple desktop environments and required to implement cross-DE solutions.


A set of resources and tools.


A library available in C, Python and other languages (via Gobject Introspection).


In the long term Xapps are there to provide applications to users in multiple DEs, but also to provide building blocks, resources and libraries to Linux developers who want to develop applications which work well in multiple DEs.

This project is still relatively new though and we can’t yet commit to a stable ABI.

You are welcome to use libxapp or xapps-common in your application, but if you do, please make sure to tell us, so that we can communicate with you going forward about any potential changes.


XAppMonitorBlanker is used to blank other monitors. It takes a window as an argument and blanks all the monitors but the one where the window is located.

This is particularly useful in multi-monitor situations, for presentations, full screen media playback etc..

XAppMonitorBlanker *xapp_monitor_blanker_new (void);

void xapp_monitor_blanker_blank_other_monitors (XAppMonitorBlanker *self, GtkWindow *window);

void xapp_monitor_blanker_unblank_monitors (XAppMonitorBlanker *self);

gboolean xapp_monitor_blanker_are_monitors_blanked (XAppMonitorBlanker *self);

This is used by:

  • xplayer


XAppKbdLayoutController is used to get a keyboard layout code or flag for a given locale.

XAppKbdLayoutController *xapp_kbd_layout_controller_new (void);

gboolean xapp_kbd_layout_controller_get_enabled (XAppKbdLayoutController *controller);

guint xapp_kbd_layout_controller_get_current_group (XAppKbdLayoutController *controller);

void xapp_kbd_layout_controller_set_current_group (XAppKbdLayoutController *controller, guint group);

void xapp_kbd_layout_controller_next_group (XAppKbdLayoutController *controller);

void xapp_kbd_layout_controller_previous_group (XAppKbdLayoutController *controller);

gchar *xapp_kbd_layout_controller_get_current_name (XAppKbdLayoutController *controller);

gchar **xapp_kbd_layout_controller_get_all_names (XAppKbdLayoutController *controller);

gchar *xapp_kbd_layout_controller_get_current_icon_name (XAppKbdLayoutController *controller);

gchar *xapp_kbd_layout_controller_get_icon_name_for_group (XAppKbdLayoutController *controller, guint group);

gchar *xapp_kbd_layout_controller_get_short_name (XAppKbdLayoutController *controller);

gchar *xapp_kbd_layout_controller_get_short_name_for_group (XAppKbdLayoutController *controller, guint group);

This is used by:

  • cinnamon-screensaver
  • cinnamon keyboard applet