unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
* understanding guile-gi
@ 2022-01-16 13:37 Zelphir Kaltstahl
  2022-01-16 16:24 ` Luis Felipe
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Zelphir Kaltstahl @ 2022-01-16 13:37 UTC (permalink / raw)
  To: guile-user

Hello Guile Users!

I would like to understand guile-gi better, hopefully at some point I will be
able to create GTK applications using Guile. But perhaps my understanding is
wrong, so I want to ask a few things:

guile-gi – I think this stands for "Guile Gnome(?) Introspection"?

gi – I think this "introspection" part of the name is about inspecting sources
and deriving code from that, to make use of Gnome libraries. Or is it for GTK?

Which things are part of GTK and which things are part of Gnome? Currently my
picture is: GTK contains all the GUI things and Gnome the data things. For
example: GTK might contain some date picker dialog or popup or whatever, but the
datatype for date itself would be part of Gnome. "GDate". As such Gnome provides
a sort of common datatypes basis, which could be used by other frameworks as
well (and maybe is?).

So guile-gi makes use of introspection to give access to Gnome datatypes, or
does it create bindings via FFI for an already existing C code base, which is
the actual introspection for Gnome stuff?

And finally: Is my expectation correct, that I will be able to make GTK
applications using Guile, if I learn to use guile-gi?

Best regards,
Zelphir

-- 
repositories: https://notabug.org/ZelphirKaltstahl




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: understanding guile-gi
  2022-01-16 13:37 understanding guile-gi Zelphir Kaltstahl
@ 2022-01-16 16:24 ` Luis Felipe
  2022-01-16 16:45 ` Luis Felipe
  2022-01-17  2:08 ` Chris Vine
  2 siblings, 0 replies; 9+ messages in thread
From: Luis Felipe @ 2022-01-16 16:24 UTC (permalink / raw)
  To: Zelphir Kaltstahl; +Cc: guile-user


[-- Attachment #1.1: Type: text/plain, Size: 787 bytes --]

Hi

On Sunday, January 16th, 2022 at 1:37 PM, Zelphir Kaltstahl <zelphirkaltstahl@posteo.de> wrote:

> guile-gi – I think this stands for "Guile Gnome(?) Introspection"?

It's GObject Introspection: https://gi.readthedocs.io/en/latest/

Many libraries become available through GI, not only GTK.

> And finally: Is my expectation correct, that I will be able to make GTK applications using Guile, if I learn to use guile-gi?

Yes.

For what it's worth I did an attempt to get a minimal GTK app in Python and Guile running (https://gitlab.com/luis-felipe/geteka).

From that exercise, though, I had to choose Python for my current desktop app project, because I found it easier to make progress. But I'd like to try again with Guile knowing what I've learned with Python.

[-- Attachment #1.2: publickey - luis.felipe.la@protonmail.com - 0x12DE1598.asc --]
[-- Type: application/pgp-keys, Size: 1815 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 509 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: understanding guile-gi
  2022-01-16 13:37 understanding guile-gi Zelphir Kaltstahl
  2022-01-16 16:24 ` Luis Felipe
@ 2022-01-16 16:45 ` Luis Felipe
  2022-01-16 20:39   ` Zelphir Kaltstahl
  2022-01-17  2:08 ` Chris Vine
  2 siblings, 1 reply; 9+ messages in thread
From: Luis Felipe @ 2022-01-16 16:45 UTC (permalink / raw)
  To: Zelphir Kaltstahl; +Cc: guile-user


[-- Attachment #1.1: Type: text/plain, Size: 1322 bytes --]

On Sunday, January 16th, 2022 at 1:37 PM, Zelphir Kaltstahl <zelphirkaltstahl@posteo.de> wrote:

> Which things are part of GTK and which things are part of Gnome? Currently my
> picture is: GTK contains all the GUI things and Gnome the data things. For
> example: GTK might contain some date picker dialog or popup or whatever, but the
> datatype for date itself would be part of Gnome. "GDate". As such Gnome provides
> a sort of common datatypes basis, which could be used by other frameworks as
> well (and maybe is?).

Maybe this can serve as an overview of where is everything:

For generic GTK apps (not necessarily targeted at GNOME): https://www.gtk.org/docs/apis/

For GTK apps that integrate well with GNOME: https://developer.gnome.org/documentation/introduction/components.html

Also, for new projects, if you would like your app to adapt well to different screens, like modern web apps do, maybe take a look at libhandy (https://gnome.pages.gitlab.gnome.org/libhandy/) and libadwaita (https://gnome.pages.gitlab.gnome.org/libadwaita/doc/). The latter, if I understand correctly will replace the former.

Also, note that Glade (https://glade.gnome.org/) only supports GTK 3, and there doesn't seem to be any plans to support GTK 4, so people seem to be writing GUIs by hand in GTK 4 projects.

[-- Attachment #1.2: publickey - luis.felipe.la@protonmail.com - 0x12DE1598.asc --]
[-- Type: application/pgp-keys, Size: 1815 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 509 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: understanding guile-gi
  2022-01-16 16:45 ` Luis Felipe
@ 2022-01-16 20:39   ` Zelphir Kaltstahl
  2022-01-16 21:19     ` Tim Meehan
  2022-01-17  2:16     ` Chris Vine
  0 siblings, 2 replies; 9+ messages in thread
From: Zelphir Kaltstahl @ 2022-01-16 20:39 UTC (permalink / raw)
  To: Luis Felipe; +Cc: guile-user

Thanks for the example link and the explanations! I'll try to learn from the
example.

Best regards,
Zelphir

On 1/16/22 5:45 PM, Luis Felipe wrote:
> On Sunday, January 16th, 2022 at 1:37 PM, Zelphir Kaltstahl <zelphirkaltstahl@posteo.de> wrote:
>
>> Which things are part of GTK and which things are part of Gnome? Currently my
>> picture is: GTK contains all the GUI things and Gnome the data things. For
>> example: GTK might contain some date picker dialog or popup or whatever, but the
>> datatype for date itself would be part of Gnome. "GDate". As such Gnome provides
>> a sort of common datatypes basis, which could be used by other frameworks as
>> well (and maybe is?).
> Maybe this can serve as an overview of where is everything:
>
> For generic GTK apps (not necessarily targeted at GNOME): https://www.gtk.org/docs/apis/
>
> For GTK apps that integrate well with GNOME: https://developer.gnome.org/documentation/introduction/components.html
>
> Also, for new projects, if you would like your app to adapt well to different screens, like modern web apps do, maybe take a look at libhandy (https://gnome.pages.gitlab.gnome.org/libhandy/) and libadwaita (https://gnome.pages.gitlab.gnome.org/libadwaita/doc/). The latter, if I understand correctly will replace the former.
>
> Also, note that Glade (https://glade.gnome.org/) only supports GTK 3, and there doesn't seem to be any plans to support GTK 4, so people seem to be writing GUIs by hand in GTK 4 projects.

-- 
repositories: https://notabug.org/ZelphirKaltstahl




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: understanding guile-gi
  2022-01-16 20:39   ` Zelphir Kaltstahl
@ 2022-01-16 21:19     ` Tim Meehan
  2022-01-16 21:19       ` Tim Meehan
  2022-01-17  2:16     ` Chris Vine
  1 sibling, 1 reply; 9+ messages in thread
From: Tim Meehan @ 2022-01-16 21:19 UTC (permalink / raw)
  Cc: guile-user

:(
Links were not posted to list ... could you please post so the rest of us
lurking could benefit?
:)

On Sun, Jan 16, 2022 at 2:40 PM Zelphir Kaltstahl <
zelphirkaltstahl@posteo.de> wrote:

> Thanks for the example link and the explanations! I'll try to learn from
> the
> example.
>
> Best regards,
> Zelphir
>
> On 1/16/22 5:45 PM, Luis Felipe wrote:
> > On Sunday, January 16th, 2022 at 1:37 PM, Zelphir Kaltstahl <
> zelphirkaltstahl@posteo.de> wrote:
> >
> >> Which things are part of GTK and which things are part of Gnome?
> Currently my
> >> picture is: GTK contains all the GUI things and Gnome the data things.
> For
> >> example: GTK might contain some date picker dialog or popup or
> whatever, but the
> >> datatype for date itself would be part of Gnome. "GDate". As such Gnome
> provides
> >> a sort of common datatypes basis, which could be used by other
> frameworks as
> >> well (and maybe is?).
> > Maybe this can serve as an overview of where is everything:
> >
> > For generic GTK apps (not necessarily targeted at GNOME):
> https://www.gtk.org/docs/apis/
> >
> > For GTK apps that integrate well with GNOME:
> https://developer.gnome.org/documentation/introduction/components.html
> >
> > Also, for new projects, if you would like your app to adapt well to
> different screens, like modern web apps do, maybe take a look at libhandy (
> https://gnome.pages.gitlab.gnome.org/libhandy/) and libadwaita (
> https://gnome.pages.gitlab.gnome.org/libadwaita/doc/). The latter, if I
> understand correctly will replace the former.
> >
> > Also, note that Glade (https://glade.gnome.org/) only supports GTK 3,
> and there doesn't seem to be any plans to support GTK 4, so people seem to
> be writing GUIs by hand in GTK 4 projects.
>
> --
> repositories: https://notabug.org/ZelphirKaltstahl
>
>
>


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: understanding guile-gi
  2022-01-16 21:19     ` Tim Meehan
@ 2022-01-16 21:19       ` Tim Meehan
  0 siblings, 0 replies; 9+ messages in thread
From: Tim Meehan @ 2022-01-16 21:19 UTC (permalink / raw)
  Cc: guile-user

Never mind - I'm blind. Sorry for noise.

On Sun, Jan 16, 2022 at 3:19 PM Tim Meehan <btmeehan@gmail.com> wrote:

> :(
> Links were not posted to list ... could you please post so the rest of us
> lurking could benefit?
> :)
>
> On Sun, Jan 16, 2022 at 2:40 PM Zelphir Kaltstahl <
> zelphirkaltstahl@posteo.de> wrote:
>
>> Thanks for the example link and the explanations! I'll try to learn from
>> the
>> example.
>>
>> Best regards,
>> Zelphir
>>
>> On 1/16/22 5:45 PM, Luis Felipe wrote:
>> > On Sunday, January 16th, 2022 at 1:37 PM, Zelphir Kaltstahl <
>> zelphirkaltstahl@posteo.de> wrote:
>> >
>> >> Which things are part of GTK and which things are part of Gnome?
>> Currently my
>> >> picture is: GTK contains all the GUI things and Gnome the data things.
>> For
>> >> example: GTK might contain some date picker dialog or popup or
>> whatever, but the
>> >> datatype for date itself would be part of Gnome. "GDate". As such
>> Gnome provides
>> >> a sort of common datatypes basis, which could be used by other
>> frameworks as
>> >> well (and maybe is?).
>> > Maybe this can serve as an overview of where is everything:
>> >
>> > For generic GTK apps (not necessarily targeted at GNOME):
>> https://www.gtk.org/docs/apis/
>> >
>> > For GTK apps that integrate well with GNOME:
>> https://developer.gnome.org/documentation/introduction/components.html
>> >
>> > Also, for new projects, if you would like your app to adapt well to
>> different screens, like modern web apps do, maybe take a look at libhandy (
>> https://gnome.pages.gitlab.gnome.org/libhandy/) and libadwaita (
>> https://gnome.pages.gitlab.gnome.org/libadwaita/doc/). The latter, if I
>> understand correctly will replace the former.
>> >
>> > Also, note that Glade (https://glade.gnome.org/) only supports GTK 3,
>> and there doesn't seem to be any plans to support GTK 4, so people seem to
>> be writing GUIs by hand in GTK 4 projects.
>>
>> --
>> repositories: https://notabug.org/ZelphirKaltstahl
>>
>>
>>


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: understanding guile-gi
  2022-01-16 13:37 understanding guile-gi Zelphir Kaltstahl
  2022-01-16 16:24 ` Luis Felipe
  2022-01-16 16:45 ` Luis Felipe
@ 2022-01-17  2:08 ` Chris Vine
  2 siblings, 0 replies; 9+ messages in thread
From: Chris Vine @ 2022-01-17  2:08 UTC (permalink / raw)
  To: guile-user

On Sun, 16 Jan 2022 13:37:02 +0000
Zelphir Kaltstahl <zelphirkaltstahl@posteo.de> wrote:
> Hello Guile Users!
> 
> I would like to understand guile-gi better, hopefully at some point I will be
> able to create GTK applications using Guile. But perhaps my understanding is
> wrong, so I want to ask a few things:
> 
> guile-gi – I think this stands for "Guile Gnome(?) Introspection"?

The "gi" stands for gobject-introspection.

> gi – I think this "introspection" part of the name is about inspecting sources
> and deriving code from that, to make use of Gnome libraries. Or is it for GTK?

Instrospection is available for any library with a gobject-introspection
typelib.  That includes glib and GTK and most of the gnome
stack.  /usr/lib[64]/girepository-1.0/ will contain the typelibs
available on your distribution.  There will be many of them.

> Which things are part of GTK and which things are part of Gnome? Currently my
> picture is: GTK contains all the GUI things and Gnome the data things. For
> example: GTK might contain some date picker dialog or popup or whatever, but the
> datatype for date itself would be part of Gnome. "GDate". As such Gnome provides
> a sort of common datatypes basis, which could be used by other frameworks as
> well (and maybe is?).

No.

> So guile-gi makes use of introspection to give access to Gnome datatypes, or
> does it create bindings via FFI for an already existing C code base, which is
> the actual introspection for Gnome stuff?

I am not certain what you mean but gobject-introspection provides
bindings for C libraries written to GObject conventions which make them
available to higher level languages such as python (pygobject),
javascript (gjs) and guile scheme (guile-gi and g-golf).  pygobject is
widely used; gjs is used by gnome-shell amongst others.

> And finally: Is my expectation correct, that I will be able to make GTK
> applications using Guile, if I learn to use guile-gi?

It will mainly work although I believe there are a few missing pieces
which you are unlikely to encounter.  Look at some of the examples in
the guile-gi repository.  Also look at g-golf.



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: understanding guile-gi
  2022-01-16 20:39   ` Zelphir Kaltstahl
  2022-01-16 21:19     ` Tim Meehan
@ 2022-01-17  2:16     ` Chris Vine
  2022-01-17  8:30       ` Zelphir Kaltstahl
  1 sibling, 1 reply; 9+ messages in thread
From: Chris Vine @ 2022-01-17  2:16 UTC (permalink / raw)
  To: guile-user

On Sun, 16 Jan 2022 20:39:47 +0000
Zelphir Kaltstahl <zelphirkaltstahl@posteo.de> wrote:

> Thanks for the example link and the explanations! I'll try to learn from the
> example.
> 
> Best regards,
> Zelphir
> 
> On 1/16/22 5:45 PM, Luis Felipe wrote:
> > On Sunday, January 16th, 2022 at 1:37 PM, Zelphir Kaltstahl <zelphirkaltstahl@posteo.de> wrote:
> >
> >> Which things are part of GTK and which things are part of Gnome? Currently my
> >> picture is: GTK contains all the GUI things and Gnome the data things. For
> >> example: GTK might contain some date picker dialog or popup or whatever, but the
> >> datatype for date itself would be part of Gnome. "GDate". As such Gnome provides
> >> a sort of common datatypes basis, which could be used by other frameworks as
> >> well (and maybe is?).
> > Maybe this can serve as an overview of where is everything:
> >
> > For generic GTK apps (not necessarily targeted at GNOME): https://www.gtk.org/docs/apis/
> >
> > For GTK apps that integrate well with GNOME: https://developer.gnome.org/documentation/introduction/components.html
> >
> > Also, for new projects, if you would like your app to adapt well to different screens, like modern web apps do, maybe take a look at libhandy (https://gnome.pages.gitlab.gnome.org/libhandy/) and libadwaita (https://gnome.pages.gitlab.gnome.org/libadwaita/doc/). The latter, if I understand correctly will replace the former.
> >
> > Also, note that Glade (https://glade.gnome.org/) only supports GTK 3, and there doesn't seem to be any plans to support GTK 4, so people seem to be writing GUIs by hand in GTK 4 projects.

Can you please not top post?

The posting to which you have replied has not appeared with me.  But it
(and the comments concerned) have nothing to do with gobject-introspection
or guile-gi.  "Understanding guile-gi" still appears as the notional title
of this thread so if you want to change the subject you might want also to
change the title to avoid complete confusion.




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: understanding guile-gi
  2022-01-17  2:16     ` Chris Vine
@ 2022-01-17  8:30       ` Zelphir Kaltstahl
  0 siblings, 0 replies; 9+ messages in thread
From: Zelphir Kaltstahl @ 2022-01-17  8:30 UTC (permalink / raw)
  To: vine35792468; +Cc: Guile User

On 1/17/22 3:16 AM, Chris Vine wrote:
> On Sun, 16 Jan 2022 20:39:47 +0000
> Zelphir Kaltstahl <zelphirkaltstahl@posteo.de> wrote:
>
>> Thanks for the example link and the explanations! I'll try to learn from the
>> example.
>>
>> Best regards,
>> Zelphir
>>
>> On 1/16/22 5:45 PM, Luis Felipe wrote:
>>> On Sunday, January 16th, 2022 at 1:37 PM, Zelphir Kaltstahl <zelphirkaltstahl@posteo.de> wrote:
>>>
>>>> Which things are part of GTK and which things are part of Gnome? Currently my
>>>> picture is: GTK contains all the GUI things and Gnome the data things. For
>>>> example: GTK might contain some date picker dialog or popup or whatever, but the
>>>> datatype for date itself would be part of Gnome. "GDate". As such Gnome provides
>>>> a sort of common datatypes basis, which could be used by other frameworks as
>>>> well (and maybe is?).
>>> Maybe this can serve as an overview of where is everything:
>>>
>>> For generic GTK apps (not necessarily targeted at GNOME): https://www.gtk.org/docs/apis/
>>>
>>> For GTK apps that integrate well with GNOME: https://developer.gnome.org/documentation/introduction/components.html
>>>
>>> Also, for new projects, if you would like your app to adapt well to different screens, like modern web apps do, maybe take a look at libhandy (https://gnome.pages.gitlab.gnome.org/libhandy/) and libadwaita (https://gnome.pages.gitlab.gnome.org/libadwaita/doc/). The latter, if I understand correctly will replace the former.
>>>
>>> Also, note that Glade (https://glade.gnome.org/) only supports GTK 3, and there doesn't seem to be any plans to support GTK 4, so people seem to be writing GUIs by hand in GTK 4 projects.
> Can you please not top post?
>
> The posting to which you have replied has not appeared with me.  But it
> (and the comments concerned) have nothing to do with gobject-introspection
> or guile-gi.  "Understanding guile-gi" still appears as the notional title
> of this thread so if you want to change the subject you might want also to
> change the title to avoid complete confusion.
>
Hi Chris!

By "top post" you mean writing an answer or a reply above the part, that is
quoted? I assume so.

I have only quoted e-mail text, which immediately has to do with my original
question and a subject, which I myself chose. So I don't know how you can
possibly get the idea, that those have nothing to do with the topic. Perhaps the
confusion stems from something in your e-mail client, that displays top posted
replies weirdly? In my e-mail client it is very clear, what is quoted text and
what is the reply. I am unaware of the specific problem, potentially caused by
"top posting".

I am also not "changing" the subject here. Or do you mean "If you ever want to
change the subject, it would be better to do have the posts be written in a
different way."? I am replying to someone, who replied to my topic starter
e-mail. I am not intending to change the title at the moment.

Lastly, I was not aware, that there is a "bottom post" rule or convention on
this mailing list. If that is indeed the case, I will try to remember in the
future. Thanks for the hint.

Regards,
Zelphir

-- 
repositories: https://notabug.org/ZelphirKaltstahl




^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2022-01-17  8:30 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-16 13:37 understanding guile-gi Zelphir Kaltstahl
2022-01-16 16:24 ` Luis Felipe
2022-01-16 16:45 ` Luis Felipe
2022-01-16 20:39   ` Zelphir Kaltstahl
2022-01-16 21:19     ` Tim Meehan
2022-01-16 21:19       ` Tim Meehan
2022-01-17  2:16     ` Chris Vine
2022-01-17  8:30       ` Zelphir Kaltstahl
2022-01-17  2:08 ` Chris Vine

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).