Top | ![]() |
![]() |
![]() |
![]() |
int
fm_path_depth (FmPath *path
);
Calculates how many elements are in this path.
Since: 1.0.0
char *
fm_path_display_basename (FmPath *path
);
Creates displayable basename of path
. If path
is a scheme root path
(i.e. "/", "sftp://", etc.) then returns basename of path
. For other
paths displayable basename may be reliable only if there was already
FmFileInfo retrieved for the path
, otherwise some estimation will be
done instead, be careful with this API.
Returned data should be freed with g_free()
after usage.
See also: fm_file_info_get_disp_name()
.
Since: 0.1.0
char * fm_path_display_name (FmPath *path
,gboolean human_readable
);
Creates string representation of path
as displayable UTF-8 string.
The conversion is the most probably unreversible so returned value
should be used only for displaying purposes. The displayable path
may be reliable only if there was already FmFileInfo retrieved for
the path
, otherwise some estimation will be returned instead, be
careful with this API.
The main purpose for this API is to create displayable path for the
path entry. Applications are encouraged to use g_file_get_parse_name()
instead for any other purposes.
Returned data should be freed with g_free()
after usage.
See also: fm_path_display_basename()
, fm_path_to_str()
.
Since: 0.1.0
gboolean fm_path_equal (FmPath *p1
,FmPath *p2
);
Compares two paths and returns TRUE
if they are equal.
Note that this function is primarily meant as a hash table comparison function.
See also: fm_path_compare()
.
Since: 0.1.0
gboolean fm_path_equal_str (FmPath *path
,const gchar *str
,int n
);
Compares path string representation with string
.
Since: 0.1.0
FmPath *
fm_path_get_apps_menu (void
);
Retrieves FmPath for menu:// virtual directory.
Returned data are owned by path
and should be not freed by caller.
Since: 0.1.0
const char *
fm_path_get_basename (FmPath *path
);
Retrieves basename of path
.
Returned data are owned by path
and should be not freed by caller.
Since: 0.1.0
FmPath *
fm_path_get_desktop (void
);
Retrieves FmPath for desktop directory.
Returned data are owned by path
and should be not freed by caller.
Since: 0.1.0
FmPathFlags
fm_path_get_flags (FmPath *path
);
Retrieves attributes of path
.
Since: 0.1.0
FmPath *
fm_path_get_home (void
);
Retrieves FmPath for home directory.
Returned data are owned by path
and should be not freed by caller.
Since: 0.1.0
FmPath *
fm_path_get_parent (FmPath *path
);
Retrieves path of directory containing path
.
Returned data are owned by path
and should be not freed by caller.
Since: 0.1.0
FmPath *
fm_path_get_root (void
);
Retrieves FmPath for root directory.
Returned data are owned by path
and should be not freed by caller.
Since: 0.1.0
FmPath *
fm_path_get_scheme_path (FmPath *path
);
Retrieves a root path for scheme used by path
. If path
is a local
path then returned data are the same as returned with fm_path_get_root()
.
Returned data are owned by path
and should be not freed by caller.
Since: 1.2.0
FmPath *
fm_path_get_trash (void
);
Retrieves FmPath for Trash can.
Returned data are owned by path
and should be not freed by caller.
Since: 0.1.0
gboolean fm_path_has_prefix (FmPath *path
,FmPath *prefix
);
Check if prefix
is a prefix of path
.
For example: /usr/share is the prefix of /usr/share/docs/libfm
but /etc is not.
#define fm_path_is_local(path) ((fm_path_get_flags(path)&FM_PATH_IS_LOCAL)!=0)
fm_path_is_local
is deprecated and should not be used in newly-written code.
#define fm_path_is_native(path) ((fm_path_get_flags(path)&FM_PATH_IS_NATIVE)!=0)
#define fm_path_is_native_or_trash(path) ((fm_path_get_flags(path)&(FM_PATH_IS_NATIVE|FM_PATH_IS_TRASH))!=0)
#define fm_path_is_virtual(path) ((fm_path_get_flags(path)&FM_PATH_IS_VIRTUAL)!=0)
fm_path_is_virtual
is deprecated and should not be used in newly-written code.
#define fm_path_is_xdg_menu(path) ((fm_path_get_flags(path)&FM_PATH_IS_XDG_MENU)!=0)
fm_path_is_xdg_menu
is deprecated and should not be used in newly-written code.
FmPathList *
fm_path_list_new_from_file_info_glist (GList *fis
);
Creates a FmPathList from fis
.
Since: 0.1.0
FmPathList *
fm_path_list_new_from_file_info_gslist
(GSList *fis
);
Creates a FmPathList from fis
.
Since: 0.1.0
FmPathList *
fm_path_list_new_from_file_info_list (FmFileInfoList *fis
);
Creates a FmPathList from fis
.
Since: 0.1.0
FmPathList *
fm_path_list_new_from_uri_list (const char *uri_list
);
Creates a FmPathList from uri_list
.
Since: 0.1.0
FmPathList *
fm_path_list_new_from_uris (char * const*uris
);
Creates a FmPathList from uris
.
Since: 0.1.0
char *
fm_path_list_to_uri_list (FmPathList *pl
);
Creates newline-separated list from pl
. Returned data should be freed
with g_free()
after usage.
Since: 0.1.0
void fm_path_list_write_uri_list (FmPathList *pl
,GString *buf
);
Creates newline-separated list of URIs from pl
.
Since: 0.1.0
FmPath * fm_path_new_child (FmPath *parent
,const char *basename
);
Creates new FmPath for child of parent
directory which have name
basename
. basename
is in glib filename encoding (can be non-UTF-8)
of target filesystem.
parent |
a parent path. |
[allow-none] |
basename |
basename of a direct child of |
[allow-none] |
a new FmPath for the path. You have to call
fm_path_unref()
when it's no longer needed.
[transfer full]
FmPath * fm_path_new_child_len (FmPath *parent
,const char *basename
,int name_len
);
Creates new FmPath for child of parent
directory which have name
basename
. The string length of basename
is name_len
. basename
is
in glib filename encoding (can be non-UTF-8) of target filesystem.
If parent
is NULL
then basename
assumed to be root of some file
system.
parent |
a parent path. |
[allow-none] |
basename |
basename of a direct child of |
[allow-none] |
name_len |
length of |
a new FmPath for the path. You have to call
fm_path_unref()
when it's no longer needed.
[transfer full]
FmPath *
fm_path_new_for_commandline_arg (const char *arg
);
arg |
a file path passed in command line argv to the program. The |
a newly created FmPath for the path. You have to call
fm_path_unref()
when it's no longer needed.
FmPath *
fm_path_new_for_display_name (const char *path_name
);
The path_name
can either be a POSIX path in UTF-8 encoding, or an
unescaped URI (can contain non-ASCII characters and spaces). Returned
data should be freed with fm_path_unref()
when it's no longer needed.
Display name may be fully unrelated to it's path name and built path
may be inexistant. Use FmJob to check and validate its existance.
Since: 0.1.14
FmPath *
fm_path_new_for_gfile (GFile *gf
);
This function converts a GFile object to FmPath.
a newly created FmPath for the path. You have to call
fm_path_unref()
when it's no longer needed.
FmPath *
fm_path_new_for_path (const char *path_name
);
a newly created FmPath for the path. You have to call
fm_path_unref()
when it's no longer needed.
FmPath *
fm_path_new_for_str (const char *path_str
);
You can call fm_path_to_str()
to convert a FmPath back to its string
presentation.
path_str |
a string representing the file path in its native encoding (can be non-UTF-8). It can either be a native path or an unescaped URI (can contain non-ASCII characters and spaces). The function will try to figure out what to do. |
[allow-none] |
a newly created FmPath for the path. You have to call
fm_path_unref()
when it's no longer needed.
FmPath *
fm_path_new_for_uri (const char *uri
);
Creates new FmPath by given uri
. You have to call
fm_path_unref()
when it's no longer needed.
You can call fm_path_to_uri()
to convert a FmPath to a escaped URI
string.
This function never fail but it may return root path if URI is local and contains illegal characters in path elements such as '/'.
FmPath * fm_path_new_relative (FmPath *parent
,const char *rel
);
Creates new FmPath which is relative to parent
directory by the
relative path string rel
. rel
is in glib filename encoding (can be
non-UTF-8) if parent
is native and should be escaped URI subpath
otherwise. For example, if parent
is "http://wiki.lxde.org/" and
rel
is "zh/%E9%A6%96%E9%A0%81", the resulting path will be
"http://wiki.lxde.org/zh/%E9%A6%96%E9%A0%81".
If parent
is NULL, this works the same as fm_path_new_for_str(rel
)
a new FmPath for the path. You have to call
fm_path_unref()
when it's no longer needed.
[transfer full]
GFile *
fm_path_to_gfile (FmPath *path
);
Creates GFile representation of path
.
Returned data should be freed with g_object_unref()
after usage.
Since: 0.1.0
char *
fm_path_to_str (FmPath *path
);
Creates string representation of path
. It can be either file path in
local encoding or URI with non-ASCII characters escaped (RFC 3986).
Returned data should be freed with g_free()
after usage.
Since: 0.1.0
char *
fm_path_to_uri (FmPath *path
);
Creates URI representation of path
.
Returned data should be freed with g_free()
after usage.
Since: 0.1.0
Flags of FmPath object.
FM_PATH_IS_VIRTUAL and FM_PATH_IS_XDG_MENU are deprecated since 1.0.2 and FM_PATH_IS_LOCAL is deprecated since 1.2.0, and should not be used in newly written code.