]> pere.pagekite.me Git - homepage.git/blobdiff - blog/archive/2023/01/index.html
Generated.
[homepage.git] / blog / archive / 2023 / 01 / index.html
index 9c63b9717df35822c355e23abdc56abce844317e..2ffe01ad2d20680f8fe4d10a455360d4c7b6cae8 100644 (file)
 
     <h3>Entries from January 2023.</h3>
     
 
     <h3>Entries from January 2023.</h3>
     
+    <div class="entry">
+      <div class="title">
+        <a href="https://people.skolelinux.org/pere/blog/Is_the_desktop_recommending_your_program_for_opening_its_files_.html">Is the desktop recommending your program for opening its files?</a>
+      </div>
+      <div class="date">
+        29th January 2023
+      </div>
+      <div class="body">
+        <p>Linux desktop systems
+<a href="https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html">have
+standardized</a> how programs present themselves to the desktop
+system.  If a package include a .desktop file in
+/usr/share/applications/, Gnome, KDE, LXDE, Xfce and the other desktop
+environments will pick up the file and use its content to generate the
+menu of available programs in the system.  A lesser known fact is that
+a package can also explain to the desktop system how to recognize the
+files created by the program in question, and use it to open these
+files on request, for example via a GUI file browser.</p>
+
+<p>A while back I ran into a package that did not tell the desktop
+system how to recognize its files and was not used to open its files
+in the file browser and fixed it.  In the process I wrote a simple
+debian/tests/ script to ensure the setup keep working.  It might be
+useful for other packages too, to ensure any future version of the
+package keep handling its own files.</p>
+
+<p>For this to work the file format need a useful MIME type that can
+be used to identify the format.  If the file format do not yet have a
+MIME type, it should define one and preferably also
+<a href="https://www.iana.org/assignments/media-types/media-types.xhtml">register
+it with IANA</a> to ensure the MIME type string is reserved.</p>
+
+<p>The script uses the <tt>xdg-mime</tt> program from xdg-utils to
+query the database of standardized package information and ensure it
+return sensible values.  It also need the location of an example file
+for xdg-mime to guess the format of.</p>
+
+<pre>
+#!/bin/sh
+#
+# Author: Petter Reinholdtsen
+# License: GPL v2 or later at your choice.
+#
+# Validate the MIME setup, making sure motor types have
+# application/vnd.openmotor+yaml associated with them and is connected
+# to the openmotor desktop file.
+
+retval=0
+
+mimetype="application/vnd.openmotor+yaml"
+testfile="test/data/real/o3100/motor.ric"
+mydesktopfile="openmotor.desktop"
+
+filemime="$(xdg-mime query filetype "$testfile")"
+
+if [ "$mimetype" != "$filemime" ] ; then
+    retval=1
+    echo "error: xdg-mime claim motor file MIME type is $filemine, not $mimetype"
+else
+    echo "success: xdg-mime report correct mime type $mimetype for motor file"
+fi
+
+desktop=$(xdg-mime query default "$mimetype")
+
+if [ "$mydesktopfile" != "$desktop" ]; then
+    retval=1
+    echo "error: xdg-mime claim motor file should be handled by $desktop, not $mydesktopfile"
+else
+    echo "success: xdg-mime agree motor file should be handled by $mydesktopfile"
+fi
+
+exit $retval
+</pre>
+
+<p>It is a simple way to ensure your users are not very surprised when
+they try to open one of your file formats in their file browser.</p>
+
+<p>As usual, if you use Bitcoin and want to show your support of my
+activities, please send Bitcoin donations to my address
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
+
+      </div>
+      <div class="tags">
+        
+        
+        Tags: <a href="https://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="https://people.skolelinux.org/pere/blog/tags/english">english</a>.
+        
+        
+      </div>
+    </div>
+    <div class="padding"></div>
+    
     <div class="entry">
       <div class="title">
         <a href="https://people.skolelinux.org/pere/blog/Opensnitch__the_application_level_interactive_firewall__heading_into_the_Debian_archive.html">Opensnitch, the application level interactive firewall, heading into the Debian archive</a>
     <div class="entry">
       <div class="title">
         <a href="https://people.skolelinux.org/pere/blog/Opensnitch__the_application_level_interactive_firewall__heading_into_the_Debian_archive.html">Opensnitch, the application level interactive firewall, heading into the Debian archive</a>
@@ -38,7 +130,7 @@ description of the Little Snitch application for MacOS X.  It seemed
 like a very nice tool to have in the tool box, and I decided to see if
 something similar was available for Linux.</p>
 
 like a very nice tool to have in the tool box, and I decided to see if
 something similar was available for Linux.</p>
 
-<p>It did not took long to find
+<p>It did not take long to find
 <a href="https://github.com/evilsocket/opensnitch">the OpenSnitch
 package</a>, which has been in development since 2017, and now is in
 version 1.5.0.  It has had a
 <a href="https://github.com/evilsocket/opensnitch">the OpenSnitch
 package</a>, which has been in development since 2017, and now is in
 version 1.5.0.  It has had a
@@ -65,7 +157,7 @@ activities, please send Bitcoin donations to my address
       <div class="tags">
         
         
       <div class="tags">
         
         
-        Tags: <a href="https://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="https://people.skolelinux.org/pere/blog/tags/english">english</a>.
+        Tags: <a href="https://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="https://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="https://people.skolelinux.org/pere/blog/tags/opensnitch">opensnitch</a>.
         
         
       </div>
         
         
       </div>
@@ -142,10 +234,47 @@ activities, please send Bitcoin donations to my address
 <h2>Archive</h2>
 <ul>
 
 <h2>Archive</h2>
 <ul>
 
+<li>2024
+<ul>
+
+<li><a href="https://people.skolelinux.org/pere/blog/archive/2024/01/">January (1)</a></li>
+
+<li><a href="https://people.skolelinux.org/pere/blog/archive/2024/02/">February (1)</a></li>
+
+<li><a href="https://people.skolelinux.org/pere/blog/archive/2024/03/">March (2)</a></li>
+
+<li><a href="https://people.skolelinux.org/pere/blog/archive/2024/04/">April (3)</a></li>
+
+<li><a href="https://people.skolelinux.org/pere/blog/archive/2024/05/">May (1)</a></li>
+
+<li><a href="https://people.skolelinux.org/pere/blog/archive/2024/06/">June (1)</a></li>
+
+<li><a href="https://people.skolelinux.org/pere/blog/archive/2024/07/">July (1)</a></li>
+
+</ul></li>
+
 <li>2023
 <ul>
 
 <li>2023
 <ul>
 
-<li><a href="https://people.skolelinux.org/pere/blog/archive/2023/01/">January (2)</a></li>
+<li><a href="https://people.skolelinux.org/pere/blog/archive/2023/01/">January (3)</a></li>
+
+<li><a href="https://people.skolelinux.org/pere/blog/archive/2023/02/">February (1)</a></li>
+
+<li><a href="https://people.skolelinux.org/pere/blog/archive/2023/04/">April (2)</a></li>
+
+<li><a href="https://people.skolelinux.org/pere/blog/archive/2023/05/">May (3)</a></li>
+
+<li><a href="https://people.skolelinux.org/pere/blog/archive/2023/06/">June (1)</a></li>
+
+<li><a href="https://people.skolelinux.org/pere/blog/archive/2023/08/">August (1)</a></li>
+
+<li><a href="https://people.skolelinux.org/pere/blog/archive/2023/09/">September (1)</a></li>
+
+<li><a href="https://people.skolelinux.org/pere/blog/archive/2023/10/">October (1)</a></li>
+
+<li><a href="https://people.skolelinux.org/pere/blog/archive/2023/11/">November (4)</a></li>
+
+<li><a href="https://people.skolelinux.org/pere/blog/archive/2023/12/">December (1)</a></li>
 
 </ul></li>
 
 
 </ul></li>
 
@@ -553,15 +682,15 @@ activities, please send Bitcoin donations to my address
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/betalkontant">betalkontant (9)</a></li>
 
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/betalkontant">betalkontant (9)</a></li>
 
- <li><a href="https://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (12)</a></li>
+ <li><a href="https://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (13)</a></li>
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (17)</a></li>
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
 
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (17)</a></li>
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
 
- <li><a href="https://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (2)</a></li>
+ <li><a href="https://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (3)</a></li>
 
 
- <li><a href="https://people.skolelinux.org/pere/blog/tags/debian">debian (186)</a></li>
+ <li><a href="https://people.skolelinux.org/pere/blog/tags/debian">debian (201)</a></li>
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (159)</a></li>
 
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (159)</a></li>
 
@@ -571,11 +700,11 @@ activities, please send Bitcoin donations to my address
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/dld">dld (18)</a></li>
 
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/dld">dld (18)</a></li>
 
- <li><a href="https://people.skolelinux.org/pere/blog/tags/docbook">docbook (30)</a></li>
+ <li><a href="https://people.skolelinux.org/pere/blog/tags/docbook">docbook (33)</a></li>
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
 
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
 
- <li><a href="https://people.skolelinux.org/pere/blog/tags/english">english (442)</a></li>
+ <li><a href="https://people.skolelinux.org/pere/blog/tags/english">english (463)</a></li>
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>
 
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>
 
@@ -591,11 +720,11 @@ activities, please send Bitcoin donations to my address
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/intervju">intervju (43)</a></li>
 
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/intervju">intervju (43)</a></li>
 
- <li><a href="https://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (16)</a></li>
+ <li><a href="https://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (18)</a></li>
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/kart">kart (23)</a></li>
 
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/kart">kart (23)</a></li>
 
- <li><a href="https://people.skolelinux.org/pere/blog/tags/kodi">kodi (4)</a></li>
+ <li><a href="https://people.skolelinux.org/pere/blog/tags/kodi">kodi (6)</a></li>
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/ldap">ldap (9)</a></li>
 
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/ldap">ldap (9)</a></li>
 
@@ -603,7 +732,7 @@ activities, please send Bitcoin donations to my address
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/lenker">lenker (8)</a></li>
 
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/lenker">lenker (8)</a></li>
 
- <li><a href="https://people.skolelinux.org/pere/blog/tags/linuxcnc">linuxcnc (4)</a></li>
+ <li><a href="https://people.skolelinux.org/pere/blog/tags/linuxcnc">linuxcnc (7)</a></li>
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (2)</a></li>
 
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (2)</a></li>
 
@@ -613,25 +742,27 @@ activities, please send Bitcoin donations to my address
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (8)</a></li>
 
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (8)</a></li>
 
- <li><a href="https://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (44)</a></li>
+ <li><a href="https://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (46)</a></li>
 
 
- <li><a href="https://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (13)</a></li>
+ <li><a href="https://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (15)</a></li>
 
 
- <li><a href="https://people.skolelinux.org/pere/blog/tags/noark5">noark5 (23)</a></li>
+ <li><a href="https://people.skolelinux.org/pere/blog/tags/noark5">noark5 (25)</a></li>
 
 
- <li><a href="https://people.skolelinux.org/pere/blog/tags/norsk">norsk (320)</a></li>
+ <li><a href="https://people.skolelinux.org/pere/blog/tags/norsk">norsk (325)</a></li>
 
 
- <li><a href="https://people.skolelinux.org/pere/blog/tags/nuug">nuug (198)</a></li>
+ <li><a href="https://people.skolelinux.org/pere/blog/tags/nuug">nuug (199)</a></li>
 
 
- <li><a href="https://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (40)</a></li>
+ <li><a href="https://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (41)</a></li>
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
 
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
 
- <li><a href="https://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (75)</a></li>
+ <li><a href="https://people.skolelinux.org/pere/blog/tags/opensnitch">opensnitch (4)</a></li>
+
+ <li><a href="https://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (76)</a></li>
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/personvern">personvern (114)</a></li>
 
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/personvern">personvern (114)</a></li>
 
- <li><a href="https://people.skolelinux.org/pere/blog/tags/raid">raid (2)</a></li>
+ <li><a href="https://people.skolelinux.org/pere/blog/tags/raid">raid (4)</a></li>
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/reactos">reactos (1)</a></li>
 
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/reactos">reactos (1)</a></li>
 
@@ -647,19 +778,19 @@ activities, please send Bitcoin donations to my address
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
 
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
 
- <li><a href="https://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (59)</a></li>
+ <li><a href="https://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (60)</a></li>
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (5)</a></li>
 
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (5)</a></li>
 
- <li><a href="https://people.skolelinux.org/pere/blog/tags/standard">standard (74)</a></li>
+ <li><a href="https://people.skolelinux.org/pere/blog/tags/standard">standard (76)</a></li>
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (7)</a></li>
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (14)</a></li>
 
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (7)</a></li>
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (14)</a></li>
 
- <li><a href="https://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (64)</a></li>
+ <li><a href="https://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (65)</a></li>
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (5)</a></li>
 
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (5)</a></li>
 
@@ -667,9 +798,9 @@ activities, please send Bitcoin donations to my address
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/valg">valg (9)</a></li>
 
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/valg">valg (9)</a></li>
 
- <li><a href="https://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri (20)</a></li>
+ <li><a href="https://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri (22)</a></li>
 
 
- <li><a href="https://people.skolelinux.org/pere/blog/tags/video">video (77)</a></li>
+ <li><a href="https://people.skolelinux.org/pere/blog/tags/video">video (80)</a></li>
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
 
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>