<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="https://ragibhasin.github.io/feed_style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <tabi:metadata xmlns:tabi="https://github.com/welpo/tabi">
        <tabi:base_url>https:&#x2F;&#x2F;ragibhasin.github.io</tabi:base_url>
        <tabi:separator>
            •
        </tabi:separator>
        <tabi:about_feeds>This is a web feed, also known as an Atom feed. Subscribe by copying the URL from the address bar into your newsreader. Visit About Feeds to learn more and get started. It&#x27;s free.</tabi:about_feeds>
        <tabi:visit_the_site>Visit website</tabi:visit_the_site>
        <tabi:recent_posts>Recent posts</tabi:recent_posts>
        <tabi:last_updated_on>Updated on $DATE</tabi:last_updated_on>
        <tabi:default_theme></tabi:default_theme>
        <tabi:post_listing_date>date</tabi:post_listing_date>
        <tabi:current_section>GUI</tabi:current_section>
    </tabi:metadata><link rel="extra-stylesheet" href="https://ragibhasin.github.io/skins/mint_peach.css?h=6d5f79736ddca2052992" /><title>Ragib's Homepage - GUI</title>
        <subtitle>Personal website of Muhammad Ragib Hasin</subtitle>
    <link href="https://ragibhasin.github.io/tags/gui/atom.xml" rel="self" type="application/atom+xml"/>
    <link href="https://ragibhasin.github.io/tags/gui/" rel="alternate" type="text/html"/>
    <generator uri="https://www.getzola.org/">Zola</generator><updated>2026-04-14T00:00:00+00:00</updated><id>https://ragibhasin.github.io/tags/gui/atom.xml</id><entry xml:lang="en">
        <title>linebender&#x2F;xilem</title>
        <published>2026-04-14T00:00:00+00:00</published>
        <updated>2026-04-14T00:00:00+00:00</updated>
        <author>
            <name>Muhammad Ragib Hasin</name>
        </author>
        <link rel="alternate" href="https://ragibhasin.github.io/contributions/linebender-xilem/" type="text/html"/>
        <id>https://ragibhasin.github.io/contributions/linebender-xilem/</id>
        
            <content type="html">&lt;p&gt;Xilem is a high-level reactive framework inspired by React, SwiftUI and Elm. It lets users create a lightweight view tree, and changes the rendered app based on changes to the tree. It has a web backend and a Masonry backend.&lt;&#x2F;p&gt;
&lt;p&gt;Masonry is a foundational crate for building natively compiled GUIs in Rust. It provides a retained widget tree and runs event handling and update passes on it.&lt;&#x2F;p&gt;
&lt;p&gt;This is the project I’ve contributed most prolifically to, as I use this for all my GUI endeavors and find it joyful to work with the project and the community, both.&lt;&#x2F;p&gt;
</content>
        </entry><entry xml:lang="en">
        <title>endoli&#x2F;understory</title>
        <published>2026-03-28T00:00:00+00:00</published>
        <updated>2026-03-28T00:00:00+00:00</updated>
        <author>
            <name>Muhammad Ragib Hasin</name>
        </author>
        <link rel="alternate" href="https://ragibhasin.github.io/contributions/endoli-understory/" type="text/html"/>
        <id>https://ragibhasin.github.io/contributions/endoli-understory/</id>
        
            <content type="html">&lt;p&gt;Understory is a small family of crates designed to be combined in different stacks over time,
that provides foundational spatial and scene data structures for user interfaces, graphics editors, and CAD viewers.&lt;&#x2F;p&gt;
&lt;p&gt;My contribution was to the &lt;code&gt;understory_virtual_list&lt;&#x2F;code&gt; crate that provides abstractions for 1D virtualization primitives, in particular, adding support for sparse lazy loading of list items.&lt;&#x2F;p&gt;
</content>
        </entry><entry xml:lang="en">
        <title>Scrolled Quran</title>
        <published>2026-02-15T00:00:00+00:00</published>
        <updated>2026-02-15T00:00:00+00:00</updated>
        <author>
            <name>Muhammad Ragib Hasin</name>
        </author>
        <link rel="alternate" href="https://ragibhasin.github.io/projects/scrolled-quran/" type="text/html"/>
        <id>https://ragibhasin.github.io/projects/scrolled-quran/</id>
        
            <content type="html">&lt;div id=&quot;infobar&quot; class=&quot;centered-text&quot;&gt;
  
  &lt;a
    href=&quot;https:&#x2F;&#x2F;github.com&#x2F;RagibHasin&amp;#x2F;scrolled-quran&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    GitHub
  &lt;&#x2F;a&gt;
     ∙ Apache-2.0  
&lt;&#x2F;div&gt;
&lt;p&gt;It is a Quran reader app that automatically scrolls the text for hands-free, uninterrupted recitation.&lt;&#x2F;p&gt;
&lt;p&gt;I built it mainly for personal use in Ramadan of 1447 AH, and did two full recitation of the Holy Quran using this.&lt;&#x2F;p&gt;
&lt;p&gt;It uses resources from the &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;qul.tarteel.ai&quot;&gt;Quranic Universal Library (QUL)&lt;&#x2F;a&gt; by Tarteel.ai, in particular the &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;digitalkhatt.org&quot;&gt;DigitalKhatt&lt;&#x2F;a&gt; font by Dr. Amine Anan which is a digitized replica of the calligraphy by Master Calligrapher Uthman Taha in the 1441H mushaf from King Fahad Glorious Quran Printing Complex.&lt;&#x2F;p&gt;
&lt;p&gt;This project is written in Rust using &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;linebender&#x2F;xilem&quot;&gt;Xilem&lt;&#x2F;a&gt; GUI library from &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;linebender.org&#x2F;&quot;&gt;Linebender&lt;&#x2F;a&gt; and brought the opportunity for a few community contributions, involving the &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;endoli&#x2F;understory&quot;&gt;&lt;code&gt;understory&lt;&#x2F;code&gt;&lt;&#x2F;a&gt; crates.&lt;&#x2F;p&gt;
</content>
        <summary type="html">A horizontally scrolling Quran reader app</summary>
        </entry><entry xml:lang="en">
        <title>lapce&#x2F;floem</title>
        <published>2023-05-01T00:00:00+00:00</published>
        <updated>2023-05-01T00:00:00+00:00</updated>
        <author>
            <name>Muhammad Ragib Hasin</name>
        </author>
        <link rel="alternate" href="https://ragibhasin.github.io/contributions/lapce-floem/" type="text/html"/>
        <id>https://ragibhasin.github.io/contributions/lapce-floem/</id>
        
            <content type="html">&lt;p&gt;Floem is a native cross-platform Rust UI library with fine-grained reactivity inspired by &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;leptos.dev&#x2F;&quot;&gt;Leptos&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;It is the UI library that powers the &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;lap.dev&#x2F;lapce&#x2F;&quot;&gt;Lapce&lt;&#x2F;a&gt; code editor.&lt;&#x2F;p&gt;
&lt;p&gt;I fixed non-standard text input behavior on Windows when using non-standard input method editors (IME) that hooks keyboard events directly, like &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;omicronlab.com&#x2F;avro-keyboard.html&quot;&gt;Avro Keyboard&lt;&#x2F;a&gt; which I used heavily at that time.&lt;&#x2F;p&gt;
&lt;p&gt;However, I’ve switched to my &lt;a href=&quot;https:&#x2F;&#x2F;ragibhasin.github.io&#x2F;projects&#x2F;uo-keyboard&#x2F;&quot;&gt;homegrown replacement&lt;&#x2F;a&gt; of it that uses proper IME framework.&lt;&#x2F;p&gt;
</content>
        </entry><entry xml:lang="en">
        <title>AdhaanGUI</title>
        <published>2021-10-18T00:00:00+00:00</published>
        <updated>2021-10-18T00:00:00+00:00</updated>
        <author>
            <name>Muhammad Ragib Hasin</name>
        </author>
        <link rel="alternate" href="https://ragibhasin.github.io/projects/adhaan-gui/" type="text/html"/>
        <id>https://ragibhasin.github.io/projects/adhaan-gui/</id>
        
            <content type="html">&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;ragibhasin.github.io&#x2F;projects&#x2F;adhaan-gui&#x2F;icon.png&quot; alt=&quot;AdhaanGUI icon&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;div id=&quot;infobar&quot; class=&quot;centered-text&quot;&gt;
  
  &lt;a
    href=&quot;https:&#x2F;&#x2F;github.com&#x2F;RagibHasin&amp;#x2F;AdhaanGUI&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    GitHub
  &lt;&#x2F;a&gt;
     ∙ AGPL-3.0  
&lt;&#x2F;div&gt;
&lt;p&gt;It is small Windows app that lives as a notification area icon and shows prayer times using &lt;a href=&quot;..&#x2F;adhaan&quot;&gt;&lt;code&gt;adhaan&lt;&#x2F;code&gt;&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;ragibhasin.github.io&#x2F;projects&#x2F;adhaan-gui&#x2F;screenshot.png&quot; alt=&quot;A screenshot&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;It is written in Rust using the &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;docs.rs&#x2F;druid&quot;&gt;Druid&lt;&#x2F;a&gt; GUI library. Working on this lead to my first serious foray into community contribution in the &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;linebender.org&#x2F;&quot;&gt;Linebender&lt;&#x2F;a&gt; community.&lt;&#x2F;p&gt;
&lt;p&gt;This project is currently on hiatus. I’m in the process of porting it to &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;linebender&#x2F;xilem&quot;&gt;Xilem&lt;&#x2F;a&gt;, which is the successor of Druid.&lt;&#x2F;p&gt;
</content>
        <summary type="html">A small taskbar app for showing prayer times</summary>
        </entry>
</feed>
