Portability | portable (depends on GHC) |
---|---|
Stability | alpha |
Maintainer | gtk2hs-devel@lists.sourceforge.net |
- 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
formatFileSizeForDisplaySource
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.
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
Launches the default application or component associated with the given URL.
:: String |
|
-> [String] |
|
-> IO () |
Like urlShow
, but using the specified environment variables.
isExecutableCommandStringSource
Checks if commandString
starts with the full path of an
executable file or an executable in the system path.
String Escaping Functions
Escapes string
, replacing any and all special characters with
equivalent escape sequences.
Escapes path, replacing only special characters that would not be
found in paths (so '/'
, '&'
, and '='
will not be escaped by this
function).
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).
Escapes only '/'
and '%'
characters in string
, replacing
them with their escape sequence equivalents.
:: String |
|
-> String |
|
-> String | the escaped string |
Escapes the characters listed in matchSet
in 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 -> StringSource
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
:: TextURI |
|
-> 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.
makeURICanonicalStripFragmentSource
Returns a canonicalized URI. If uri
contains a fragment
(anything after a '#'
), it is stripped off, and the resulting
URI is made canonical.
Returns a canonicalized path name.
:: String |
|
-> Maybe TextURI | the resulting URI, or |
Takes a user input path/URI and makes a valid URI out of it.
This function is the reverse of formatURIForDisplay
.
makeURIFromInputWithDirsSource
:: FilePath |
|
-> [MakeURIDirs] |
|
-> 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 -> StringSource
Similar to makeURIFromInput
, except:
- guesses relative paths instead of HTTP domains
- doesn't bother stripping leading/trailing white space
- doesn't bother with tilde expansion -- that's done by the shell
expandInitialTilde :: String -> IO StringSource
If path
begins with a tilde, representing the user's home
directory, expand it to the actual directory.
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
.
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.
Returns the icon path for filename
. Example:
will
return a string forming the full path of the file
iconPathFromFilename
"nautilus/nautilus-desktop.png"nautilus-desktop.png
, i.e.
${prefix}/share/pixmaps/nautilus/nautilus-desktop.png
.
Stores the amount of free space in bytes on uri
's volume in
| size.
Compare two URIs.
Retrieves the scheme used in uri
.
Miscellaneous Functions
Check if the current thread is the thread with the main glib event loop.