Bo Berglund wrote:

I have located the release document for Raspbian Jessie here:
https://www.raspberrypi.org/blog/raspbian-jessie-is-here/
A little bit down they write the following:

<quote>the appearance of Raspbian is now based on version 3 of GTK+,
the user interface toolkit used for the LXDE desktop environment. The
older version 2 of GTK+ is slowly being replaced with version 3
</quote>

If this means that Raspbian is using LXDE is beyond me but it seems
like it is using gtk3 by this wording.

Let's try to clarify the overall architecture one last time.

i) Underlying the entire system is the Linux kernel which provides at least partial support allowing other libraries and subsystems to access the screen and other peripherals. In general, the precise version of this isn't relevant.

ii) Assuming that you get a login dialog(ue) when you power up the system, that is being presented by the display manager running on top of an initial X11 session. the display manager also implements the XDMCP protocol which facilitates remote X11 sessions.

iii) Example display managers are xdm, gdm, kdm, LightDM and so on.

iv) When you present a valid userID and password, the display manager shuts down the original X11 session and starts up a new one using the identity of the validated user. Programs running in the context of this session are given a DISPLAY shell variable identifying it.

v) The new X11 session is immediately available for programs that know the DISPLAY value, but if run like that they won't have title bars and other window "furniture" (note that this is a significant architectural difference from Windows).

vi) Each X11 session has special provision for a window manager which is normally started automatically. It is this that displays the title bar etc.

vii) These days, it is common for the window manager to also implement (portions of) a desktop environment. Most of these have some sort of menu button or a list of installed programs, and frequently display special entities like a trash can on the desktop background.

iix) Example window managers are Gnome, KDE, OpenBox, LXDE and so on.

ix)  Most programs aren't bothered about what window manager is running.

x) The window manager usually uses a widget set for convenience, rather than being coded directly on top of the X11 API. Example widget sets are gtk, gtk2, gtk3 and Qt.

xi) You can't easily change the widget set that the window manager (desktop environment) uses, although in most cases it's possible to add alternatives.

xii) As a result, you can easily find yourself in a situation where the window manager (AKA desktop environment) and programs supplied with it use one widget set, while programs that you've installed yourself use a different one: this is generally of little consequence.

I strongly suggest that you make sure the Qt widget set is installed on your Raspbian, and try using Lazarus to build a program for it. My experience is that there are "rough edges" in the interaction between Lazarus and (the widget set etc. supplied with) Debian and Raspbian "Jessie", I believe that at least some of these have been discussed as bugs.

I'll leave somebody else to comment on the current status of GTK3, which I think would be of general interest.

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]

--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to