diff -uar truecrypt-7.1a-source.orig/Main/UserInterface.cpp truecrypt-7.1a-source/Main/UserInterface.cpp --- truecrypt-7.1a-source.orig/Main/UserInterface.cpp 2012-02-07 11:36:48.000000000 +0100 +++ truecrypt-7.1a-source/Main/UserInterface.cpp 2012-03-31 13:03:02.996434923 +0200 @@ -828,7 +828,7 @@ // MIME handler for directory seems to be unavailable through wxWidgets wxString desktop = GetTraits()->GetDesktopEnvironment(); - if (desktop == L"GNOME" || desktop.empty()) + if (desktop == L"GNOME") { args.push_back ("--no-default-window"); args.push_back ("--no-desktop"); @@ -861,6 +861,34 @@ catch (exception &e) { ShowError (e); } } } + else if (desktop == L"XFCE") + { + args.push_back (string (path)); + try + { + Process::Execute ("thunar", args, 2000); + } + catch (TimeOut&) { } + catch (exception&) + { + try + { + Process::Execute ("xdg-open", args, 2000); + } + catch (TimeOut&) { } + catch (exception &e) { ShowError (e); } + } + } + else + { + args.push_back (string (path)); + try + { + Process::Execute ("xdg-open", args, 2000); + } + catch (TimeOut&) { } + catch (exception &e) { ShowError (e); } + } #endif }