unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Pierre Neidhardt <mail@ambrevar.xyz>
To: Danny Milosavljevic <dannym@scratchpost.org>,
	Leo Prikler <leo.prikler@student.tugraz.at>
Cc: guix-devel@gnu.org
Subject: Re: GNOME in Guix
Date: Fri, 06 Nov 2020 10:55:57 +0100	[thread overview]
Message-ID: <87o8kavmfm.fsf@ambrevar.xyz> (raw)
In-Reply-To: <20201103101430.711ce21a@scratchpost.org>

[-- Attachment #1: Type: text/plain, Size: 1708 bytes --]

Danny Milosavljevic <dannym@scratchpost.org> writes:

>> [expose guix via dbus]
>
> You should keep in mind for this approach: impedance mismatch, slowness,
> different semantics, protocol versioning, and bugs in dbus (the latter
> of which I also regularily experience in guix--dbus bus hangs etc).
>
> The advantages you listed of better and easier privilege checking are
> valid, though.
>
> (In addition, I don't want a hard dependency to gtk+ in the guix package manager.
> But that can be avoided in other ways, too).

To add on top of what Danny said, I have had experience in writing GUI
over D-Bus with Nyxt: up to version 1.5 (when it was called Next), we
used to have a C server that would communicate over D-Bus to the Common
Lisp client.

We faced many issues.

- Performance was OK but could be critically bad on low-end hardware.

- Code is cumbersome to write (well, it's C :p), but maybe it's less of
  a problem if the server is Guix.

- Extensibility takes a huge toll because any modification to the server
  means the  client must be updated and vice-versa.

- What did it for us was input support: we had to encode and decode
  input events and share them over D-Bus.  This was very brittle, had
  tons of bugs and killed input method support.  I don't think it's
  doable to be honest.

When it comes to Guix, if the server does not deal with keybindings and
if the UI responsiveness only depends on the client (meaning that no
user input result depends on a result returned by the server), then I
suppose that D-Bus could work.  But I would go for GI first before going
down this road.

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 511 bytes --]

  parent reply	other threads:[~2020-11-06  9:56 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-02 13:51 GNOME in Guix Leo Prikler
2020-11-03  9:14 ` Danny Milosavljevic
2020-11-03 13:41   ` Leo Prikler
2020-11-03 19:26     ` Danny Milosavljevic
2020-11-03 23:20       ` Leo Prikler
2020-11-04  8:08         ` Danny Milosavljevic
2020-11-04  9:45           ` Leo Prikler
2020-11-04 13:43             ` Danny Milosavljevic
2020-11-04 14:02               ` Leo Prikler
2020-11-06  9:55   ` Pierre Neidhardt [this message]
  -- strict thread matches above, loose matches on Subject: below --
2020-10-29 16:25 Guix Front End (GUI) and making it more mainstream, popular in scientific community Aniket Patil
2020-10-29 19:34 ` Danny Milosavljevic
2020-11-02  7:44   ` Pierre Neidhardt
2020-11-02 10:17     ` GNOME in Guix Danny Milosavljevic
2020-11-06  9:41       ` Pierre Neidhardt

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://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87o8kavmfm.fsf@ambrevar.xyz \
    --to=mail@ambrevar.xyz \
    --cc=dannym@scratchpost.org \
    --cc=guix-devel@gnu.org \
    --cc=leo.prikler@student.tugraz.at \
    /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.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

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).