| Gtk2Hs | Contents | Index

System.Gnome.VFS.Util

Maintainer | gtk2hs-devel@lists.sourceforge.net Stability : alpha Portability : portable (depends on GHC)

Contents

String Formatting Functions
External Applications
String Escaping Functions
`TextURI` and Path Functions
Miscellaneous Functions

Description
Synopsis

formatFileSizeForDisplay :: FileSize -> String
formatURIForDisplay :: TextURI -> Maybe String
urlShow :: String -> IO ()
urlShowWithEnv :: String -> [String] -> IO ()
isExecutableCommandString :: String -> IO Bool
escapeString :: String -> String
escapePathString :: FilePath -> String
escapeHostAndPathString :: FilePath -> String
escapeSlashes :: String -> String
escapeSet :: String -> String -> String
unescapeString :: String -> String -> String
unescapeStringForDisplay :: String -> String
makeURICanonical :: TextURI -> Maybe TextURI
makeURICanonicalStripFragment :: TextURI -> Maybe TextURI
makePathNameCanonical :: FilePath -> Maybe TextURI
makeURIFromInput :: String -> Maybe TextURI
makeURIFromInputWithDirs :: FilePath -> [MakeURIDirs] -> IO TextURI
makeURIFromShellArg :: String -> String
expandInitialTilde :: String -> IO String
getLocalPathFromURI :: TextURI -> Maybe FilePath
getURIFromLocalPath :: FilePath -> TextURI
iconPathFromFilename :: String -> IO String
getVolumeFreeSpace :: URI -> IO FileSize
urisMatch :: TextURI -> TextURI -> Bool
getURIScheme :: TextURI -> Maybe String
isPrimaryThread :: IO Bool
openFD :: Fd -> IO Handle

String Formatting Functions
formatFileSizeForDisplay

:: FileSize | `size` - the file size to be formatted
-> String | the formatted size ready for display
Formats `size` so that it is easy for the user to read. Gives the size in bytes, kilobytes, megabytes or gigabytes, choosing whatever is appropriate.

formatURIForDisplay

:: TextURI | `textURI` - the URI to format
-> Maybe String | the formatted URI ready for display
Filter, modify, unescape, and change `textURI` to make it appropriate for display to users. Rules: A `file:` URI without fragments should appear as a local path. A `file:` URI with fragments should appear as `file:uri`. All other URIs appear as expected.

External Applications
urlShow

:: String | `url` - the URL to launch an application for
-> IO () |
Launches the default application or component associated with the given URL.

urlShowWithEnv

:: String | `url` - the URL to launch an application for
-> [String] | `env` - a list of strings `["VARIABLE1=value1", "VARIABLE2=value2", ...]`
-> IO () |
Like `urlShow`, but using the specified environment variables.

isExecutableCommandString

:: String | `commandString` -
-> IO Bool |
Checks if `commandString` starts with the full path of an executable file or an executable in the system path.

String Escaping Functions
escapeString

:: String | `string` - the string to be escaped
-> String |
Escapes `string`, replacing any and all special characters with equivalent escape sequences.

escapePathString

:: FilePath | `path` - the path string to be escaped
-> String | the escaped string
Escapes path, replacing only special characters that would not be found in paths (so `'/'`, `'&'`, and `'='` will not be escaped by this function).

escapeHostAndPathString

:: FilePath | `path` - the path to be escaped
-> String | the escaped string
Escapes path, replacing only special characters that would not be found in a path or host name (so `'/'`, `'&'`, `'='`, `':'` and `'@'` will not be escaped by this function).

escapeSlashes

:: String | `string` - the string to be escaped
-> String | the escaped string
Escapes only `'/'` and `'%'` characters in `string`, replacing them with their escape sequence equivalents.

escapeSet

:: String | `string` - the string to be escaped
-> String | `matchSet` - the characters to escape
-> String | the escaped string
Escapes the characters listed in `matchSet` in `string`.

unescapeString

:: String |
-> String |
-> String | the unescaped string
Decodes escaped characters (i.e., `%xx` sequences) in `escapedString`. Characters are decoded in `%xx` form, where `xx` is the hex code for an ASCII character.

unescapeStringForDisplay :: String -> String
Similar to `unescapeString`, but returns something semi-intelligible to the user, even upon receiving traumatic input such as `00` or URIs in bad form. WARNING: You should never use this function on a whole URI! It unescapes reserved characters, and can result in a mangled URI that can not be re-entered. For example, it unescapes `'#'`, `'&'` and `'?'`, which have special meanings in URI strings.
`TextURI` and Path Functions
makeURICanonical

:: TextURI | `textURI` - an absolute or relative URI; it may have a scheme
-> Maybe TextURI | the canonical representation of the URI
Standardizes the format of `uri`, so that it can be used later in other functions that expect a canonical URI.

makeURICanonicalStripFragment

:: TextURI | `textURI` - the URI to canonicalize
-> Maybe TextURI | the canonical representation of the URI
Returns a canonicalized URI. If `uri` contains a fragment (anything after a `'#'`), it is stripped off, and the resulting URI is made canonical.

makePathNameCanonical

:: FilePath | `pathName` - the path name to canonicalize
-> Maybe TextURI | the canonicalized path name
Returns a canonicalized path name.

makeURIFromInput

:: String | `location` - the input to try to parse
-> Maybe TextURI | the resulting URI, or `Nothing` if `location` is invalid
Takes a user input path/URI and makes a valid URI out of it. This function is the reverse of `formatURIForDisplay`.

makeURIFromInputWithDirs

:: FilePath | `location` - the relative or absolute input path to resolve
-> [MakeURIDirs] | `dirs` - the directories to search
-> IO TextURI | the resulting URI
Determine a fully qualified URI from a relative or absolute input path. The directories specified by `dirs` are searched when the path is relative.

makeURIFromShellArg :: String -> String
Similar to `makeURIFromInput`, except: 1. guesses relative paths instead of HTTP domains 2. doesn't bother stripping leading/trailing white space 3. doesn't bother with tilde expansion -- that's done by the shell
expandInitialTilde :: String -> IO String
If `path` begins with a tilde, representing the user's home directory, expand it to the actual directory.
getLocalPathFromURI

:: TextURI | the URI to convert
-> Maybe FilePath | the resulting path
Create a local path for a uri. If `uri` is not a `file:///` URI, or it contains a fragment identifier or is chained, this function returns `Nothing`.

getURIFromLocalPath

:: FilePath | `localFullPath` -
-> TextURI | the resulting URI
Returns a `file:///` URI for the local path `localFullPath`, such as a path provided by Graphics.UI.Gtk.Selectors.FileChooser.fileChooserGetFilename. The resulting URI may be provided, for instance, to System.Gnome.VFS.URI.uriFromString. On Windows `localFullPath` should be in the UTF-8 encoding, and can start with a drive letter, but doesn't have to.

iconPathFromFilename

:: String | `filename` - a relative or absolute pathname
-> IO String | the absolute path to the icon file
Returns the icon path for `filename`. Example: ``iconPathFromFilename` "nautilus/nautilus-desktop.png"` will return a string forming the full path of the file `nautilus-desktop.png`, i.e. `${prefix}/share/pixmaps/nautilus/nautilus-desktop.png`.

getVolumeFreeSpace

:: URI | `uri` - a URI to a file on a volume
-> IO FileSize | the free space in bytes on the volume
Stores the amount of free space in bytes on `uri`'s volume in | size.

urisMatch

:: TextURI | `uri1` -
-> TextURI | `uri2` -
-> Bool | `True` if the URIs are the same, `False` otherwise.
Compare two URIs.

getURIScheme

:: TextURI | `uri` -
-> Maybe String | the scheme used in `uri`, or `Nothing` if `uri` does not use a scheme
Retrieves the scheme used in `uri`.

Miscellaneous Functions
isPrimaryThread

:: IO Bool | `True` if the current thread is the thread with the main glib event loop, otherwise `False`
Check if the current thread is the thread with the main glib event loop.

openFD

:: Fd | `filedes` - the file descriptor to use
-> IO Handle | the returned handle
Convert an open unix file descriptor into a `Handle` object.

Produced by Haddock version 2.4.2