author | Claus Gittinger <cg@exept.de> |
Thu, 19 Nov 2015 14:56:31 +0100 | |
changeset 18923 | fc32a7567437 |
parent 18922 | aee337248062 |
child 18924 | f5063aa4e434 |
--- a/UnixOperatingSystem.st Thu Nov 19 12:24:04 2015 +0100 +++ b/UnixOperatingSystem.st Thu Nov 19 14:56:31 2015 +0100 @@ -1,5 +1,3 @@ -"{ Encoding: utf8 }" - " COPYRIGHT (c) 1988 by Claus Gittinger All Rights Reserved @@ -625,7 +623,6 @@ ! ! !UnixOperatingSystem primitiveFunctions! - %{ /* @@ -1962,9 +1959,9 @@ "open a windows-shell/mac finder/desktop application to present the document contained in aFilenameOrString. This is typically used to present help-files, html documents, pdf documents etc. operationSymbol is one of: - open - edit - explore + open + edit + explore mimeTypeStringArgOrNil is e.g. 'text/html' or: 'application/pdf'; if nil is passed in, the file's suffix is used to guess it. " @@ -1973,16 +1970,16 @@ cmd := self openApplicationHelperCommand. cmd notNil ifTrue:[ - (cmd includesSubString:'%1') ifTrue:[ - cmd := cmd bindWith:aFilenameOrString asString. - ] ifFalse:[ - cmd := cmd, ' "', aFilenameOrString asString, '"'. - ]. - (self - startProcess:cmd - inputFrom:nil outputTo:nil - errorTo:nil auxFrom:nil - environment: self getEnvironment inDirectory:nil) notNil ifTrue:[ ^ self ] + (cmd includesSubString:'%1') ifTrue:[ + cmd := cmd bindWith:aFilenameOrString asString. + ] ifFalse:[ + cmd := cmd, ' "', aFilenameOrString asString, '"'. + ]. + (self + startProcess:cmd + inputFrom:nil outputTo:nil + errorTo:nil auxFrom:nil + environment: self getEnvironment inDirectory:nil) notNil ifTrue:[ ^ self ] ]. ^ super openApplicationForDocument:aFilenameOrString operation:operationSymbol mimeType:mimeTypeStringArgOrNil ifNone:exceptionBlock @@ -2001,18 +1998,26 @@ openApplicationHelperCommand "Return a command line helper to open a default application for file or URL" - | xdgCurrentDesktop | + | xdgCurrentDesktop usersPref | + + ((usersPref := UserPreferences current osFileExplorerCommand) notEmptyOrNil + and:[ self canExecuteCommand:(usersPref subStrings first) ]) ifTrue:[ + ^ usersPref + ]. xdgCurrentDesktop := self getEnvironment: 'XDG_CURRENT_DESKTOP'. ((xdgCurrentDesktop = 'GNOME') and:[self canExecuteCommand: 'gnome-open']) ifTrue:[ - ^ 'gnome-open' + ^ 'gnome-open' ]. "/ Guess... ((xdgCurrentDesktop = 'KDE') and:[self canExecuteCommand: 'kde-open']) ifTrue:[ - ^ 'kde-open' + ^ 'kde-open' ]. (self canExecuteCommand: 'xdg-open') ifTrue:[ - ^ 'xdg-open' + ^ 'xdg-open' + ]. + (self canExecuteCommand: 'nautilus') ifTrue:[ + ^ 'nautilus' ]. ^ nil @@ -2024,7 +2029,6 @@ " "Created: / 13-01-2015 / 09:02:07 / Jan Vrany <jan.vrany@fit.cvut.cz>" - ! ! !UnixOperatingSystem class methodsFor:'error messages'! @@ -9535,7 +9539,7 @@ Codeset := #'utf8-mac'. CodesetEncoder := nil. OperatingSystem getCodesetEncoder - OperatingSystem encodePath:'äöü' + OperatingSystem encodePath:'äöü' " "Modified: / 23-01-2013 / 10:00:11 / Jan Vrany <jan.vrany@fit.cvut.cz>" @@ -13060,7 +13064,7 @@ domain:#'AF_INET' type:nil protocol:nil flags:nil self getAddressInfo:'www.exept.de' serviceName:nil domain:#'AF_INET6' type:nil protocol:nil flags:nil - self getAddressInfo:'www.baden-württemberg.de' serviceName:nil + self getAddressInfo:'www.baden-württemberg.de' serviceName:nil domain:#'AF_INET' type:#stream protocol:nil flags:nil " !