bolha.us is one of the many independent Mastodon servers you can use to participate in the fediverse.
We're a Brazilian IT Community. We love IT/DevOps/Cloud, but we also love to talk about life, the universe, and more. | Nós somos uma comunidade de TI Brasileira, gostamos de Dev/DevOps/Cloud e mais!

Server stats:

252
active users

#gobject

0 posts0 participants0 posts today
/dev/LUGGuten Morgen Pinguine! Eine kleine Info / Status update \o/<br><br><b>Ein erster Meilenstein ist erreicht!</b> Ich habe heute einen ersten tag (0.0.1) für libcxmpp erstellt. Es ist nicht viel, aber ein Anfang.<br><br><a href="https://devlug.de/social?t=libcxmpp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#libcxmpp</a> besteht aus einer kleinen Menge von <a href="https://devlug.de/social?t=gobject" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#GObject</a> types. Diese sollen eine einfach zu verwendete Schnittstelle für Funktionen rundum <a href="https://devlug.de/social?t=xmpp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#XMPP</a> bereitstellen. Aktuell ist es möglich, dass sich ein Client mit einem XMPP Server verbindet, eine <code>presence</code> schickt. Den <code>roster</code> abfragt und einfach Nachrichten (type <code>chat</code>) senden und empfangen kann.<br><br>Hierfür habe ich eine Demo Implementierung im Projekt angelegt. Dies sieht dann wie folgt aus.<br><br><pre>Loading Client Manager...<br>XMPP&gt; connect<br>XMPP Connect - JID&gt; demo@domain.tld<br>XMPP Connect - PWD&gt; 123456<br>XMPP&gt; Client has been connected with XMPP Server<br><br>XMPP&gt; presence<br>XMPP&gt; message<br>XMPP Message - JID&gt; stefan@domain.tld<br>XMPP Message - Text&gt; Hallo! Das ist ein Test :)<br>XMPP&gt; Message from stefan@domain.tld/Coffein: Hallo. Die Nachricht ist angekommen.<br></pre>Anwendungsdesign muss ich mir noch mal genauer überlegen. Der ersten Entwurf beinhaltet einen CM (Connection Manager). Der Connection Manager soll alle Accounts und Connections verwalten. Die Connection ist eine funktionale Sicht auf die XMPP Verbindung, währen der XMPP Wrapper die technische Implementierung via <a href="https://devlug.de/social?t=libstrophe" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#libstrophe</a> bereitstellt.<br><br>Der Client kann sich mit Signalen verbinden - <a href="https://devlug.de/social?t=signal" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#signal</a> :-x<br><br><pre>g_signal_connect_object(connection, "connected",<br> G_CALLBACK(cxmpp_connected), connection,<br> G_CONNECT_SWAPPED);<br><br>g_signal_connect_object(connection, "new-contact",<br> G_CALLBACK(new_contact), connection,<br> G_CONNECT_SWAPPED);<br><br>g_signal_connect_object(connection, "new-chat-message",<br> G_CALLBACK(new_chat_message), connection,<br> G_CONNECT_SWAPPED);<br></pre><b>Ausblick für den nächsten Meilenstein</b><br><br>Als Backend solle eine <a href="https://devlug.de/social?t=sqlite" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#sqlite</a> Datenbank verwendet werden. Verschlüsselung im ersten Schritt mit <a href="https://devlug.de/social?t=openpgp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#OpenPGP</a> <a href="https://devlug.de/social?t=ox" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#OX</a> via <a href="https://devlug.de/social?t=gnupg" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#GnuPG</a>. Ziel ist es, dass ich im ersten Schritt die Implementierung von <a href="https://devlug.de/social?t=xmppc" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#xmppc</a> (ein XMPP command line client) auf <a href="https://devlug.de/social?t=libcxmpp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#libcxmpp</a> umstellen kann.<br><br>Code ist auf <a href="https://devlug.de/social?t=codeberg" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#Codeberg</a> <a href="https://codeberg.org/devLUG/libcxmpp" rel="nofollow noopener noreferrer" target="_blank">https://codeberg.org/devLUG/libcxmpp</a><br><br>Happy chatting!<br><br><a href="https://devlug.de/social?t=messenger" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#Messenger</a> <a href="https://devlug.de/social?t=debian" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#Debian</a> <a href="https://devlug.de/social?t=gnu" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#GNU</a> <a href="https://devlug.de/social?t=linux" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#Linux</a> <a href="https://devlug.de/social?t=jabber" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#Jabber</a><br>
/dev/urandom<p>okay, i think i don't entirely understand when i should claim a reference using <code>g_object_ref</code> and when i shouldn't <a href="https://toot.cat/tags/GLib" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>GLib</span></a> <a href="https://toot.cat/tags/GObject" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>GObject</span></a></p><p>question 1: should a function that returns a pointer to an object <code>g_object_ref</code> it for the caller's sake?</p>
Emmanuele Bassi<p>I have not blogged or talked about the follow-up work to my "GType Next" blog post that I've been doing in my spare time, mainly because it is happening *in my spare time*, and I don't want to give false impressions to people; the other reason is that the time consuming bit is not writing a bunch of code, but it's planning ahead, because the goal is to avoid breaking stuff at all costs…</p><p><a href="https://mastodon.social/tags/glib" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>glib</span></a> <a href="https://mastodon.social/tags/gobject" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>gobject</span></a> <a href="https://mastodon.social/tags/gtk" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>gtk</span></a></p>
/dev/urandom<p>i still dislike the way you have to write a lot of boilerplate code every time you want to write a new class in <a href="https://toot.cat/tags/GObject" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>GObject</span></a>, but given that it's basically an OOP framework bolted on top of C, i understand why</p><p>i tried using <a href="https://toot.cat/tags/Vala" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Vala</span></a> to solve the problem, but encountered different, less solvable problems there</p><p>either way, things go on, now i'm trying to figure out how signals work</p>
Vala<p><a href="https://mastodon.social/tags/RayLib" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RayLib</span></a> + <a href="https://mastodon.social/tags/Vala" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Vala</span></a> bindings + <a href="https://mastodon.social/tags/OOP" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>OOP</span></a> <a href="https://mastodon.social/tags/GObject" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>GObject</span></a> wrapper library written in <a href="https://mastodon.social/tags/Vala" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Vala</span></a> = the *best* <a href="https://mastodon.social/tags/gamedev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>gamedev</span></a> experience of all time!!??<br>Well, we are working on it! :D At least <span class="h-card" translate="no"><a href="https://fosstodon.org/@halfmexican" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>halfmexican</span></a></span> is one of them!<br>Check out the vapi and WIP wrapper library, for example look at this beautiful `RaylibOOP.Color` class: <a href="https://github.com/Charadon/raylib-vapi/blob/main/src/lib/Color.vala" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/Charadon/raylib-vap</span><span class="invisible">i/blob/main/src/lib/Color.vala</span></a><br>Also this library can of course be used by *all* other GObject language bindings.<br>And this sample is just the first, more are coming! For direct updates join our discord server!</p>
Marcus Lundblad<p>About time to update the shield parsing/rendering to deal with the updated defintions with short-hand "banner maps" from OpenStreetMap Americana.</p><p>So, let's dive down into C (pun kinda intended) again… 😁</p><p><a href="https://fosstodon.org/tags/mapstodon" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>mapstodon</span></a> <a href="https://fosstodon.org/tags/gnomemaps" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>gnomemaps</span></a> <a href="https://fosstodon.org/tags/c" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>c</span></a> <a href="https://fosstodon.org/tags/gobject" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>gobject</span></a> <a href="https://fosstodon.org/tags/gnomebuilder" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>gnomebuilder</span></a></p>
Vala<p>Write your own Wayland Desktop!<br>The "Astal" framework, which is written in Vala, makes it super-simple! (you can use it with any gobject-introspection language though)<br><a href="https://aylur.github.io/astal/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">aylur.github.io/astal/</span><span class="invisible"></span></a><br>Here a WIP project from our community. So far a custom status bar, quick settings, MPRIS, etc. Together with the Hyprland window manager. Built with <a href="https://mastodon.social/tags/GTK4" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>GTK4</span></a>, <a href="https://mastodon.social/tags/Blueprint" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Blueprint</span></a>, <a href="https://mastodon.social/tags/Libadwaita" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Libadwaita</span></a> and of course <a href="https://mastodon.social/tags/Vala" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Vala</span></a>!<br><a href="https://github.com/ARKye03/morghulis" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">github.com/ARKye03/morghulis</span><span class="invisible"></span></a></p><p><a href="https://mastodon.social/tags/GTK" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>GTK</span></a> <a href="https://mastodon.social/tags/GObject" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>GObject</span></a> <a href="https://mastodon.social/tags/GObjectIntrospection" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>GObjectIntrospection</span></a> <a href="https://mastodon.social/tags/Wayland" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Wayland</span></a> <a href="https://mastodon.social/tags/Hyprland" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Hyprland</span></a> <a href="https://mastodon.social/tags/Astal" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Astal</span></a> <a href="https://mastodon.social/tags/freedesktop" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>freedesktop</span></a></p>
Vala<p><span class="h-card" translate="no"><a href="https://mastodon.social/@shriramk" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>shriramk</span></a></span> meanwhile C developers: What's the problem? ;)</p><p><a href="https://mastodon.social/tags/gobject" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>gobject</span></a> <a href="https://mastodon.social/tags/gnome" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>gnome</span></a> <a href="https://mastodon.social/tags/C" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>C</span></a> <a href="https://mastodon.social/tags/gobjectIntrospection" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>gobjectIntrospection</span></a> <a href="https://mastodon.social/tags/gtk" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>gtk</span></a> <a href="https://mastodon.social/tags/vala" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>vala</span></a> <a href="https://mastodon.social/tags/vapi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>vapi</span></a></p>