From 5fed00583d518761da67c5c5448b48b2d21b8fe2 Mon Sep 17 00:00:00 2001 From: Pierre Pronchery Date: Tue, 1 May 2007 22:13:47 +0000 Subject: [PATCH] Added MIME types for non-regular files --- src/browser.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/browser.c b/src/browser.c index bd89cc2..d4a0819 100644 --- a/src/browser.c +++ b/src/browser.c @@ -723,6 +723,7 @@ static void _loop_insert(Browser * browser, GtkTreeIter * iter, icon_48 = browser->pb_folder_48; icon_96 = browser->pb_folder_96; #endif + type = "inode/directory"; } else if(!S_ISLNK(st->st_mode) && st->st_mode & S_IXUSR) { @@ -738,6 +739,18 @@ static void _loop_insert(Browser * browser, GtkTreeIter * iter, : browser->pb_file_96; #endif } + else if(S_ISBLK(st->st_mode)) + type = "inode/blockdevice"; + else if(S_ISCHR(st->st_mode)) + type = "inode/chardevice"; + else if(S_ISFIFO(st->st_mode)) + type = "inode/fifo"; + else if(S_ISLNK(st->st_mode)) + type = "inode/symlink"; +#ifdef S_ISSOCK + else if(S_ISSOCK(st->st_mode)) + type = "inode/socket"; +#endif else if(browser->mime != NULL && (type = mime_type(browser->mime, display)) != NULL) @@ -938,6 +951,7 @@ static void _loop_update(Browser * browser, GtkTreeIter * iter, #if GTK_CHECK_VERSION(2, 6, 0) icon_48 = browser->pb_folder_48; #endif + type = "inode/directory"; } else if(!S_ISLNK(st->st_mode) && st->st_mode & S_IXUSR #if GTK_CHECK_VERSION(2, 6, 0) @@ -950,6 +964,18 @@ static void _loop_update(Browser * browser, GtkTreeIter * iter, icon_48 = browser->pb_executable_48; #endif } + else if(S_ISBLK(st->st_mode)) + type = "inode/blockdevice"; + else if(S_ISCHR(st->st_mode)) + type = "inode/chardevice"; + else if(S_ISFIFO(st->st_mode)) + type = "inode/fifo"; + else if(S_ISLNK(st->st_mode)) + type = "inode/symlink"; +#ifdef S_ISSOCK + else if(S_ISSOCK(st->st_mode)) + type = "inode/socket"; +#endif else if(browser->mime != NULL && (type = mime_type(browser->mime, display)) != NULL)