Web lists-archives.com

Re: Run a GTK application without desktop environment


On 18 March 2016 at 00:30, Anatol Pomozov <anatol.pomozov@xxxxxxxxx> wrote:

> I am trying to implement a simple Kiosk-like web application. The
> application will run fullscreen all the time and show web pages. I my
> case it will be project's build status. I want to use a simple
> computer like a RaspberryPi. And I want to avoid starting heavy
> environments like KDE or Gnome.

You'll still need to run a window manager.

I suggest something like Metacity or something simple but with support
for basic window management features.

> Is there any good example/tutorial on this topic?

You can probably look at the archives for this mailing list.

> In fact I already have a simple GTK application that uses WebKit
> engine. I can run it both in Gnome and without it by using xinit. I
> have a few questions about it:
> - gtk_window_fullscreen() works fine with Gnome but with xinit it does
> not expand the window. Does it mean that fullscreen is actually a DE
> feature? What is the best way to make fullscreen app in XWindow? Right
> now I use gdk_screen_get_width/height and then set default size.

Fullscreen, on X11, is a window manager feature; see _NET_WM_STATE:


You need a window manager to set the size of the window to cover the
whole available screen space in a sensible way.

If you don't have, or don't run, a window manager, then you'll have to
get the geometry of the displays and set the size of the window

> - If I run webkit in XWindows it shows pages with horrible fonts. How
> to make the browser fonts similar to what I see in my Gnome desktop?

You will need to run something like gnome-settings-daemon.
Alternatively, you will need a settings.ini file in
$sysconfdir/gtk-3.0 with all the properties managed by GtkSettings:


> Where to start reading about font handling in the modern Linux
> graphical stack?

There's only one thing to read: fonts are handled client side, by
toolkits. What fonts are used, or how are they rendered, it's entirely
up to the toolkit.

> - It looks like Kodi player at RaspberryPi does not not use xinit at
> all. It looks like RaspberryPi has a direct framebuffer feature. Is it
> possible to do it with my webkit-centric application? I can't find any
> details on this topic.

No, it's not possible with WebKitGTK.

You may have more luck with other WebKit backends that use other
windowing systems, but then you get to experience the thrill of having
to reimplement everything GTK and GNOME already provide.


[@] ebassi [@gmail.com]
gtk-list mailing list