mc/gnome/gdesktop.h

75 lines
2.0 KiB
C
Raw Normal View History

#ifndef _GDESKTOP_H
#define _GDESKTOP_H
#define MC_LIB_DESKTOP "mc.desktop"
/* Drag and drop types recognized by us */
enum {
TARGET_URI_LIST,
TARGET_URL_LIST,
TARGET_TEXT_PLAIN,
};
/* Types of desktop icons:
*
* o Application: Double click: start up application;
* Dropping: start up program with arguments.
*
* o Directory: Double click: opens the directory in a panel.
* Double click: copies/moves files.
*
* o File: Opens the application according to regex_command
*/
typedef enum {
application,
directory,
file
} icon_t;
/* A structure that describes each icon on the desktop */
typedef struct {
GnomeDesktopEntry *dentry;
GtkWidget *widget;
icon_t type;
int x, y;
int grid_x, grid_y;
char *pathname;
} desktop_icon_t;
/* size of the snap to grid size */
#define SNAP_X 80
#define SNAP_Y 80
/* gtrans.c */
extern int want_transparent_icons;
extern int want_transparent_text;
GtkWidget *make_transparent_window (char *file);
/* gdesktop.c */
void drop_on_directory (GtkSelectionData *sel_data, GdkDragContext *context,
GdkDragAction action, char *dest, int force_manually);
#if 0
1998-03-18 09:24:20 +03:00
void drop_on_directory (GdkEventDropDataAvailable *event, char *dest, int force_manually);
void artificial_drag_start (GdkWindow *source_window, int x, int y);
#endif
void gnome_arrange_icons (void);
void start_desktop (void);
void stop_desktop (void);
/* These get invoked by the context sensitive popup menu in gscreen.c */
void desktop_icon_properties (GtkWidget *widget, desktop_icon_t *di);
void desktop_icon_execute (GtkWidget *widget, desktop_icon_t *di);
void desktop_icon_delete (GtkWidget *widget, desktop_icon_t *di);
/* Pops up the context sensitive menu for a WPanel or a desktop_icon_t */
void file_popup (GdkEventButton *event, void *WPanel_pointer, void *desktop_icon_t_pointer, int row, char *filename);
extern int icons_snap_to_grid;
#endif