diff -uar truecrypt-6.3a-source.orig/Main/UserInterface.cpp truecrypt-6.3a-source/Main/UserInterface.cpp --- truecrypt-6.3a-source.orig/Main/UserInterface.cpp 2009-11-22 16:10:08.000000000 +0100 +++ truecrypt-6.3a-source/Main/UserInterface.cpp 2010-04-04 16:36:49.000000000 +0200 @@ -812,7 +812,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"); @@ -845,6 +845,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 }