From: David Pirotte <david@altosw.be>
To: guile-user <guile-user@gnu.org>, guile-devel <guile-devel@gnu.org>
Subject: GNU G-Golf 0.8.0-rc.5 available for testing
Date: Fri, 19 Jul 2024 21:02:50 -0300 [thread overview]
Message-ID: <20240719210250.2d533054@tintin> (raw)
[-- Attachment #1: Type: text/plain, Size: 6151 bytes --]
Hello Guilers,
The fifth release candidate of the upcoming GNU G-Golf 0.8.0 release is
now available for testing:
* Tarball and a GPG detached signature [*]:
http://ftp.gnu.org/gnu/g-golf/g-golf-0.8.0-rc.5.tar.gz
http://ftp.gnu.org/gnu/g-golf/g-golf-0.8.0-rc.5.tar.gz.sig
* Install
Dependencies and complete installation instructions are given in the
distributed INSTALL file, or here:
https://www.gnu.org/software/g-golf/install.html
* Noteworthy changes in 0.8.0-rc.5
Here is a summary of the noteworthy changes in this release, also
available in NEWS file and on the G-Golf website.
** New interfaces
g-markup-escape-text
gi-import-by-name
new #:allow-constant? optional keyword argument
GVariant
GVariantClass
GVariantType
The GLib Variant, VariantType and VariantClass typelib entries are now
imported. Testing has been so far somewhat limited, but for what it's
worth, the AdwDemoPageTabView, added in this release, defines and uses a
couple of g-variant-new-boolean based simple actions. However, they work
iif g-simple-action-new-stateful calls pass #f (NULL) as their
parameter-type arg, and therefore, (as stated by the upstream
documentation), none of the action activate callback ever receives a
valid g-variant arg value (it always is #f (NULL)). This needs further
investigation, but you may (and even may prefer to) implement an hold an
action state as/in a goops slot, i.e. in the (pages tab-view
tab-view-demo-page) module, the icon?, loading?, needs-attention?,
indicator? and muted? slots.
** Enhancement
*** Template and ui sxml files support
Syntax highlighting support for the comments attribute has been added.
*** g-closure-marshal
(1) <closure> initialize method has been updated to not force the
#:return-type and #:param-types initialize keyword arguments, as as
GObject actually fills the GClosure structure with those (unless you are
testing <closure> and plan to call the invoke g-golf method).
(2) some GObject function/method GClosure arg(s) should preserve the
GValue pointer when calling the user scheme closure, instead of
extracting its value - for example, bind-property-full last two args
expect a BindingTransformFunc GClosure, for which it is essential to
preserve its second and third GValue arguments, as the user needs to
actually set either one, the other or both.
Note that wrt (2), there is no way to automatically detect which
argument(s) of a callback require(s) a GValue pointer preservation prior
to call the user scheme closure. Therefore, g-golf implements a (simple)
mechanism to handle those situations, but it has to be maintained
'manually' - if you come across a similar need, not being covered by the
existing implementation, let us know, we'll fix it. Those interested may
search and read both the preserve-g-value-ptr? procedure code as well as
the preceding comment, which briefly explains how it works, in the
(g-golf hl-api callable) module.
** Examples
*** Adwaita Demo
The Adwaita demo has been restructured, and now properly support the
Dark Style desktop (or application) mode.
The following Adwaita Demo pages have been added:
AdwDemoPageAvatar
AdwDemoPageSplitViews
AdwDemoPageTabView
** Bug fixing
*** <gtype-instance> g-param slots initialization
It was a bug not to call g-inst-g-param-set-property, whether the
instance initialization was passed an init-kw arg or whether the
initialization has to use the p-spec default value - fixed.
*** gi-import-registered with-methods? default value
Removing the specialization default value for the with-methods? argument
when the namespace is part of the namespace import exception list.
The fix allows to automatically (gi) import GLib/GObject typelib
component(s) that are not part of the manually (ffi) defined subset,
such as the GVariant type, constructors and methods.
* You can help
1. Testing by installing from the tarball, or from the source if you
prefer, on the distro of your choice.
2. By running the distributed examples.
Ultimately, one of the best way to test, and participate, is to select
G-Golf to develop the next application of your dream! Here is an
overview of the GNOME platform libraries [1], accessible using G-Golf.
In particular, libadwaita [2] provides a number of widgets that change
their layout based on the available space. This can be used to make
applications adapt their UI between desktop and mobile devices (as shown
in the G-Golf port of the "Adwaita demo").
* Contact
Consider joining us on irc [3], where you may ask for help or report a
problem [4].
However, if you prefer:
G-Golf uses the guile-user@gnu.org mailing list
Report bugs to bug-g-golf@gnu.org
Thanks!
David
[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact. First, be sure to download both the .sig
file and the corresponding tarball. Then, run a command like this:
gpg --verify g-golf-0.8.0-rc.5.tar.gz
If that command fails because you don't have the required public
key, then run this command to import it:
gpg --keyserver keys.gnupg.net --recv-keys A3057AD7
and rerun the 'gpg --verify' command
[1] https://developer.gnome.org/documentation/introduction/overview/libraries.html
[2] https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/
[3] https://www.gnu.org/software/g-golf/contact.html
[4] When reporting a problem, or if you think you found a bug, it is
very important that you prepare a minimal reproducible example (MRE),
sometimes also referred to as a short self-contained correct example
(SSCCE)
http://www.sscce.org/
https://en.wikipedia.org/wiki/Minimal_reproducible_example
Also, on irc, we chat :), so please do not write code snipsets directly
in the channel, unless 2 or 3 lines of code, nor (long/huge) error
messages of course - for more then 2 or 3 lines of code, or error
messages, always use a tor-friendly paste service (avoid those that
track its visitors and require javascript, thanks!).
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
reply other threads:[~2024-07-20 0:02 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/guile/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240719210250.2d533054@tintin \
--to=david@altosw.be \
--cc=guile-devel@gnu.org \
--cc=guile-user@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).