<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Knowledge Base (Posts about gtk3)</title><link>https://bgstack15.ddns.net/blog/</link><description></description><atom:link href="https://bgstack15.ddns.net/blog/categories/gtk3.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2024 &lt;a href="mailto:bgstack15@gmail.com"&gt;bgstack15&lt;/a&gt; 
&lt;a rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/"&gt;
&lt;img alt="Creative Commons License BY-SA"
style="border-width:0; margin-bottom:12px;"
src="https://bgstack15.ddns.net/.images/l_by-sa_4.0_88x31.png"&gt;&lt;/a&gt;</copyright><lastBuildDate>Sat, 14 Dec 2024 14:30:38 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>New program: fprintd-tk</title><link>https://bgstack15.ddns.net/blog/posts/2024/12/14/new-program-fprintd-tk/</link><dc:creator>bgstack15</dc:creator><description>&lt;p&gt;I wanted to make fprintd a little more accessible for the average desktop user (that happens to use my exact configuration, wanna bet how many that is?).&lt;/p&gt;
&lt;p&gt;I use this on my fleet of systems now:&lt;/p&gt;
&lt;h2&gt;README for fprintd-tk&lt;/h2&gt;
&lt;p&gt;This project is a desktop application that makes it easy for a user to control fingerprint enrollments.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://bgstack15.ddns.net/blog/2024/screenshot-fprintd-tk-window.png"&gt;App window&lt;br&gt;&lt;img alt="" src="https://bgstack15.ddns.net/blog/2024/screenshot-fprintd-tk-window.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Upstream&lt;/h3&gt;
&lt;p&gt;The upstream project is hosted at &lt;a href="https://bgstack15.ddns.net/cgit/fprintd-tk"&gt;https://bgstack15.ddns.net/cgit/fprintd-tk&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Alternatives&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Use &lt;code&gt;fprintd-enroll&lt;/code&gt; on cli.&lt;/li&gt;
&lt;li&gt;Use whatever probably-GNOME software is demonstrated in &lt;a href="https://wiki.debian.org/SecurityManagement/fingerprint%20authentication"&gt;https://wiki.debian.org/SecurityManagement/fingerprint%20authentication&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Reason for existence&lt;/h3&gt;
&lt;p&gt;I couldn't find a window-manager friendly gui for managing fingerprints.&lt;/p&gt;
&lt;h3&gt;Using&lt;/h3&gt;
&lt;p&gt;Run the program.&lt;/p&gt;
&lt;h3&gt;Dependencies&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bgstack15.ddns.net/cgit/python3-tkstackrpms/"&gt;python-tkstackrpms&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;python3-tk&lt;/li&gt;
&lt;li&gt;python3-pil&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The application really needs the user to have password-less auth permission in dbus/polkit to the fprintd actions. You will want a file like &lt;a href="https://bgstack15.ddns.net/blog/posts/2024/12/14/new-program-fprintd-tk/aux/80-fprintd.rules"&gt;80-fprintd.rules&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Building&lt;/h3&gt;
&lt;p&gt;Python application.&lt;/p&gt;
&lt;h3&gt;References&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Icons adapted from &lt;a href="https://github.com/numixproject/numix-icon-theme-circle"&gt;Numix Circle icon theme&lt;/a&gt; under GPL 3.0&lt;/li&gt;
&lt;/ul&gt;</description><category>fprintd</category><category>gtk3</category><category>programming</category><guid>https://bgstack15.ddns.net/blog/posts/2024/12/14/new-program-fprintd-tk/</guid><pubDate>Sat, 14 Dec 2024 14:29:00 GMT</pubDate></item><item><title>Devuan Ceres and zenity that uses gtk3</title><link>https://bgstack15.ddns.net/blog/posts/2024/01/10/devuan-ceres-and-zenity-that-uses-gtk3/</link><dc:creator>bgstack15</dc:creator><description>&lt;p&gt;I tend to use &lt;a href="https://bgstack15.ddns.net/blog/outbound/https:/help.gnome.org/users/zenity/stable/"&gt;zenity&lt;/a&gt; for my basic dialog needs, and sometimes &lt;a href="https://bgstack15.ddns.net/blog/outbound/https:/sourceforge.net/projects/yad-dialog/"&gt;yad&lt;/a&gt;. I found out recently that zenity now looks like a child drew it (read: the GNOME people use it) instead of showing a real dialog box.&lt;/p&gt;
&lt;p&gt;So after some poking around, I found out that I cannot just purge it: Steam depends on zenity, and that zenity now (as of version 4.0.0-1) depends on libgtk-4-0. So, I found using one of the more helpful Debian web pages which &lt;a href="https://bgstack15.ddns.net/blog/outbound/https:/packages.debian.org/bookworm/zenity"&gt;version of zenity&lt;/a&gt; still uses gtk3: &lt;code&gt;3.44.2-1&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://bgstack15.ddns.net/blog/2024/scrot-debian-zenity-page.png"&gt;&lt;img alt="" src="https://bgstack15.ddns.net/blog/2024/scrot-debian-zenity-page.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;So I whipped up an Open Build Service project for &lt;a href="https://bgstack15.ddns.net/blog/outbound/https:/build.opensuse.org/package/show/home:bgstack15/zenity"&gt;zenity&lt;/a&gt;, but of course due to the ridiculous usrmerge problems Debian has introduced (and SUSE doesn't show any knack or willingness to fix on their behalf; can you blame them?!) the project doesn't build.&lt;/p&gt;
&lt;p&gt;So I built it myself and host it on my own internal package repository. And then I updated my &lt;code&gt;set-my-repos.sh&lt;/code&gt; &lt;a href="https://bgstack15.ddns.net/blog/posts/2023/07/30/devuan-preseed-july-2023-edition/"&gt;script&lt;/a&gt; with 2 new lines. Thankfully I wrote a function I can call again.&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;confirm_preferences "all" "zenity" "zenity" "release" "600" "3.44.2-1"
confirm_preferences "all" "zenity-common" "zenity-common" "release" "600" "3.44.2-1"
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Which if you don't bother to click through to that previous post, makes two files on a system where you run the script:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;# file /etc/apt/preferences.d/zenity
Package: zenity
Version: 3.44.2-1
Pin: release
Pin-Priority: 600
# file /etc/apt/preferences.d/zenity-common
Package: zenity-common
Version: 3.44.2-1
Pin: release
Pin-Priority: 600
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Perhaps I should have forked the package and given it a higher version, and figured how to enforce the same version. The d/control already has &lt;code&gt;Depends: zenity-common (= ${source:Version})&lt;/code&gt; but somehow it doesn't take effect; I was able to install zenity=3.44.2-1 but it kept my zenity-common=4.0.0-1 which failed, because gtk4 changes the paradigms of gtk so much that they got rid of the /usr/share/zenity/ directory with its xml-defined ui (glade?) business.&lt;/p&gt;</description><category>apt</category><category>devuan</category><category>gtk3</category><category>zenity</category><guid>https://bgstack15.ddns.net/blog/posts/2024/01/10/devuan-ceres-and-zenity-that-uses-gtk3/</guid><pubDate>Wed, 10 Jan 2024 13:54:57 GMT</pubDate></item></channel></rss>