]> pere.pagekite.me Git - homepage.git/blobdiff - blog/index.html
Generated.
[homepage.git] / blog / index.html
index 8439ea77cf5a794f848563cc36610a5d46c15ea4..56c5d9e8b3cd92b8628b7be99c88747c1db28925 100644 (file)
 
 
     
+    <div class="entry">
+      <div class="title"><a href="http://people.skolelinux.org/pere/blog/A_program_should_be_able_to_open_its_own_files_on_Linux.html">A program should be able to open its own files on Linux</a></div>
+      <div class="date"> 5th June 2016</div>
+      <div class="body"><p>Many years ago, when koffice was fresh and with few users, I
+decided to test its presentation tool when making the slides for a
+talk I was giving for NUUG on Japhar, a free Java virtual machine.  I
+wrote the first draft of the slides, saved the result and went to bed
+the day before I would give the talk.  The next day I took a plane to
+the location where the meeting should take place, and on the plane I
+started up koffice again to polish the talk a bit, only to discover
+that kpresenter refused to load its own data file.  I cursed a bit and
+started making the slides again from memory, to have something to
+present when I arrived.  I tested that the saved files could be
+loaded, and the day seemed to be rescued.  I continued to polish the
+slides until I suddenly discovered that the saved file could no longer
+be loaded into kpresenter.  In the end I had to rewrite the slides
+three times, condensing the content until the talk became shorter and
+shorter.  After the talk I was able to pinpoint the problem &ndash;
+kpresenter wrote inline images in a way itself could not understand.
+Eventually that bug was fixed and kpresenter ended up being a great
+program to make slides.  The point I'm trying to make is that we
+expect a program to be able to load its own data files, and it is
+embarrassing to its developers if it can't.</p>
+
+<p>Did you ever experience a program failing to load its own data
+files from the desktop file browser?  It is not a uncommon problem.  A
+while back I discovered that the screencast recorder
+gtk-recordmydesktop would save an Ogg Theora video file the KDE file
+browser would refuse to open.  No video player claimed to understand
+such file.  I tracked down the cause being <tt>file --mime-type</tt>
+returning the application/ogg mime type, which no video player I had
+installed listed as a MIME type they would understand.  I asked for
+<a href="http://bugs.gw.com/view.php?id=382">file to change its
+behavour</a> and use the MIME type video/ogg instead.  I also asked
+several video players to add video/ogg to their desktop files, to give
+the file browser an idea what to do about Ogg Theora files.  After a
+while, the desktop file browsers in Debian started to handle the
+output from gtk-recordmydesktop properly.</p>
+
+<p>But history repeats itself.  A few days ago I tested the music
+system Rosegarden again, and I discovered that the KDE and xfce file
+browsers did not know what to do with the Rosegarden project files
+(*.rg).  I've reported <a href="http://bugs.debian.org/825993">the
+rosegarden problem to BTS</a> and a fix is commited to git and will be
+included in the next upload.  To increase the chance of me remembering
+how to fix the problem next time some program fail to load its files
+from the file browser, here are some notes on how to fix it.</p>
+
+<p>The file browsers in Debian in general operates on MIME types.
+There are two sources for a given files MIME type.  The output from
+<tt>file --mime-type</tt> mentioned above, and the content of the
+shared MIME type registry (under /usr/share/mime/).  The file mime
+type is mapped to programs supporting the mime type, and this
+information is collected from
+<a href="https://www.freedesktop.org/wiki/Specifications/desktop-entry-spec/">the
+desktop files</a> available in /usr/share/applications/.  If there is
+one desktop file claiming support for the MIME type of the file, it is
+activated when asking to open a given file.  If there are more, one
+can normally select which one to use by right-clicking on the file and
+selecting the wanted one using 'Open with' or similar.  In general
+this work well.  But it depend on each program picking a good mime
+type (preferably
+<a href="http://www.iana.org/assignments/media-types/media-types.xhtml">a
+MIME type registered with IANA</a>), file and/or the shared mime
+registry recognizing the file and the desktop file to list the MIME
+type in its list of supported MIME types.</p>
+
+<p>The <tt>/usr/share/mime/packages/rosegarden.xml</tt> entry for
+<a href="http://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec">the
+Shared MIME database</a> look like this:</p>
+
+<p><blockquote><pre>
+&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info"&gt;
+  &lt;mime-type type="audio/x-rosegarden"&gt;
+    &lt;sub-class-of type="application/x-gzip"/&gt;
+    &lt;comment&gt;Rosegarden project file&lt;/comment&gt;
+    &lt;glob pattern="*.rg"/&gt;
+  &lt;/mime-type&gt;
+&lt;/mime-info&gt;
+</pre></blockquote></p>
+
+<p>This states that audio/x-rosegarden is a kind of application/x-gzip
+(it is a gzipped XML file).  Note, it is much better to use an
+official MIME type registered with IANA than it is to make up ones own
+unofficial ones like the x-rosegarden type used by rosegarden.</p>
+
+<p>The desktop file of the rosegarden program failed to list
+audio/x-rosegarden in its list of supported MIME types, causing the
+file browsers to have no idea what to do with *.rg files:</p>
+
+<p><blockquote><pre>
+% grep Mime /usr/share/applications/rosegarden.desktop
+MimeType=audio/x-rosegarden-composition;audio/x-rosegarden-device;audio/x-rosegarden-project;audio/x-rosegarden-template;audio/midi;
+X-KDE-NativeMimeType=audio/x-rosegarden-composition
+%
+</pre></blockquote></p>
+
+<p>The fix was to add "audio/x-rosegarden;" at the end of the
+MimeType= line.</p>
+
+<p>If you run into a file which fail to open the correct program when
+selected from the file browser, please check out the output from
+<tt>file --mime-type</tt> for the file, ensure the file ending and
+MIME type is registered somewhere under /usr/share/mime/ and check
+that some desktop file under /usr/share/applications/ is claiming
+support for this MIME type.  If not, please report a bug to have it
+fixed. :)</p>
+</div>
+      <div class="tags">
+        
+        
+        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>. 
+        
+        
+      </div>
+    </div>
+    <div class="padding"></div>
+    
     <div class="entry">
       <div class="title"><a href="http://people.skolelinux.org/pere/blog/Tor___from_its_creators_mouth_11_years_ago.html">Tor - from its creators mouth 11 years ago</a></div>
       <div class="date">28th May 2016</div>
@@ -425,57 +544,6 @@ as it must go to stop this kind of DNS hijacking.</p>
     </div>
     <div class="padding"></div>
     
-    <div class="entry">
-      <div class="title"><a href="http://people.skolelinux.org/pere/blog/Ny_utgave__v2_2__av_den_frie_norske_stavekontrollen_gitt_ut.html">Ny utgave (v2.2) av den frie norske stavekontrollen gitt ut</a></div>
-      <div class="date">15th April 2016</div>
-      <div class="body"><p>I dag tok jeg mot til meg og pakket sammen en ny versjon av den
-frie norske stavekontrollen, ca. tre og et halvt år etter forrige
-gang.  Resultatet kan lastes ned fra
-<a href="http://no.speling.org/">no.speling.org-prosjeksiden</a>, både
-som kildekodepakke og som "pack"-fil som kanskje fortsatt kan brukes
-av OpenOffice.org/LibreOffice.  Byggesystemet trenger oppussing, men i
-denne omgang hadde jeg bare tid til å fikse byggefeil forårsaket av
-endringer i GNU grep.  De øvrige endringene var gjort tidligere i
-påvente av en ny utgave.</p>
-
-<p><strong>Her er det som er nytt (fra NEWS-fila i
-kildekodepakken):</strong></p>
-
-<p>Release 2.2 (2016-04-15)</p>
-
-<ul>
-
- <li>Rewrite how scripts/speling2words handle tripple consonants, to
-   avoid importing duplicate words from no.speling.org, and getting
-   rid of the existing duplicates in norsk.words.</li>
- <li>Remove duplicate entries with tripple consonants from norsk.words.</li>
- <li>Update frequency for entries in norsk.words based on
-   <URL:http://helmer.aksis.uib.no/nta/ordlistf.zip> (ran 'make
-   freq-update').</li>
- <li>Correct nn ispell build, avoid crash in munchlist causing lots of
-   words to fall out of the database.</li>
- <li>Use grep -a to convince grep it is working on text files, to work
-   with newer grep versions.</li>
-
- <li>Remove some words disputed in the no.speling.org review process:
-   <ul>
-    <li>apparent (nb)</li>
-    <li>likke (nb)</li>
-    <li>ugjest, ugjesten, ugjestens (nb)</li>
- </ul></li>
-
-</ul>
-</div>
-      <div class="tags">
-        
-        
-        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>, <a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll</a>. 
-        
-        
-      </div>
-    </div>
-    <div class="padding"></div>
-    
     <p style="text-align: right;"><a href="index.rss"><img src="http://people.skolelinux.org/pere/blog/xml.gif" alt="RSS feed" width="36" height="14" /></a></p>
     <div id="sidebar">
       
@@ -497,6 +565,8 @@ kildekodepakken):</strong></p>
 
 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/05/">May (8)</a></li>
 
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2016/06/">June (1)</a></li>
+
 </ul></li>
 
 <li>2015
@@ -734,7 +804,7 @@ kildekodepakken):</strong></p>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (2)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (129)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (130)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (156)</a></li>
 
@@ -746,7 +816,7 @@ kildekodepakken):</strong></p>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (319)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (320)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>