Ralf Horstmann <[email protected]> writes:

> Hi,

Hi,

> xdg-open uses "xdg-mime query filetype" to find out the mime type of a given
> file. Depending on the desktop environment, xdg-mime uses different backends.
> In my case (i3 wm) it falls back to the generic code path, which uses
>
>     file --brief --dereference --mime-type
>
> Since --brief and --dereference are not recognized, xdg-mime returns an empty
> mime type and causes xdg-open to open the given file with a browser instead of
> using the preferred application.

That explains a few things...

> The following patch adds --brief and --dereference to file(1) to address this.

Your patch looks correct and indeed fixes xdg-open here.

Nicholas, objections/ok?

> Regards,
> Ralf
>
> Index: usr.bin/file/file.1
> ===================================================================
> RCS file: /usr/cvs/openbsd/src/usr.bin/file/file.1,v
> retrieving revision 1.43
> diff -u -u -r1.43 file.1
> --- usr.bin/file/file.1       30 Jul 2015 11:13:24 -0000      1.43
> +++ usr.bin/file/file.1       20 Dec 2015 11:13:37 -0000
> @@ -83,7 +83,7 @@
>  .Pp
>  The options are as follows:
>  .Bl -tag -width indent
> -.It Fl b
> +.It Fl b , -brief
>  Does not prepend filenames to output lines.
>  .It Fl c
>  Prints a summary of the parsed magic file; usually used for debugging.
> @@ -97,7 +97,7 @@
>  .Dq text/plain
>  rather than
>  .Dq ASCII text .
> -.It Fl L
> +.It Fl L , -dereference
>  Causes symlinks to be followed.
>  .It Fl s
>  Attempts to read block and character device files, not just regular files.
> Index: usr.bin/file/file.c
> ===================================================================
> RCS file: /usr/cvs/openbsd/src/usr.bin/file/file.c,v
> retrieving revision 1.56
> diff -u -u -r1.56 file.c
> --- usr.bin/file/file.c       5 Dec 2015 13:18:09 -0000       1.56
> +++ usr.bin/file/file.c       20 Dec 2015 10:50:21 -0000
> @@ -102,9 +102,11 @@
>  static FILE  *magicfp;
>  
>  static struct option longopts[] = {
> -     { "mime",      no_argument, NULL, 'i' },
> -     { "mime-type", no_argument, NULL, 'i' },
> -     { NULL,        0,           NULL, 0   }
> +     { "brief",       no_argument, NULL, 'b' },
> +     { "dereference", no_argument, NULL, 'L' },
> +     { "mime",        no_argument, NULL, 'i' },
> +     { "mime-type",   no_argument, NULL, 'i' },
> +     { NULL,          0,           NULL, 0   }
>  };
>  
>  __dead void
>

-- 
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE

Reply via email to