4 * ROX-Filer, filer for the ROX desktop project
5 * By Thomas Leonard, <tal197@ecs.soton.ac.uk>.
12 #include "collection.h"
14 #include <sys/types.h>
17 typedef struct _FilerWindow FilerWindow
;
18 typedef struct _FileItem FileItem
;
19 typedef enum {LEFT
, RIGHT
, TOP
, BOTTOM
} Side
;
23 ITEM_FLAG_SYMLINK
= 0x01, /* Is a symlink */
24 ITEM_FLAG_APPDIR
= 0x02, /* Contains /AppInfo */
25 ITEM_FLAG_MOUNT_POINT
= 0x04, /* Is in mtab or fstab */
26 ITEM_FLAG_MOUNTED
= 0x08, /* Is in /etc/mtab */
27 ITEM_FLAG_TEMP_ICON
= 0x10, /* Free icon after use */
28 ITEM_FLAG_EXEC_FILE
= 0x20, /* File, and has an X bit set */
29 ITEM_FLAG_MAY_DELETE
= 0x40, /* Delete on finishing scan */
34 FILER_NEEDS_RESCAN
= 0x01, /* Call may_rescan after scanning */
35 FILER_UPDATING
= 0x02, /* (scanning) items may already exist */
43 char *path
; /* pathname */
44 Collection
*collection
;
46 gboolean temp_item_selected
;
50 time_t m_time
; /* m-time at last scan */
51 int (*sort_fn
)(const void *a
, const void *b
);
55 gint idle_scan_id
; /* (only if dir != NULL) */
56 guint scan_min_width
; /* Min width possible so far */
63 int base_type
; /* (regular file, dir, pipe, etc) */
64 MIME_type
*mime_type
; /* NULL, except for non-exec files */
73 extern FilerWindow
*window_with_focus
;
74 extern GHashTable
*child_to_filer
;
78 void filer_opendir(char *path
, gboolean panel
, Side panel_side
);
79 void update_dir(FilerWindow
*filer_window
);
80 void scan_dir(FilerWindow
*filer_window
);
81 FileItem
*selected_item(Collection
*collection
);
82 void refresh_dirs(char *path
);
83 void change_to_parent(FilerWindow
*filer_window
);