c9ec32dda1fc56b85f9789b2c78d642e01bf949c
[dana/openbox.git] / obt / ddfile.c
1 /* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
2
3    obt/ddfile.c for the Openbox window manager
4    Copyright (c) 2009        Dana Jansens
5
6    This program is free software; you can redistribute it and/or modify
7    it under the terms of the GNU General Public License as published by
8    the Free Software Foundation; either version 2 of the License, or
9    (at your option) any later version.
10
11    This program is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15
16    See the COPYING file for a copy of the GNU General Public License.
17 */
18
19 #include "obt/ddfile.h"
20 #include <glib.h>
21
22 struct _ObtDDFile {
23     ObtDDFileType type;
24     gchar *name; /*!< Specific name for the object (eg Firefox) */
25     gchar *generic; /*!< Generic name for the object (eg Web Browser) */
26     gchar *comment; /*!< Comment/description to display for the object */
27     gchar *icon; /*!< Name/path for an icon for the object */
28
29     union _ObtDDFileData {
30         struct {
31             gchar *exec; /*!< Executable to run for the app */
32             gchar *wdir; /*!< Working dir to run the app in */
33             gboolean term; /*!< Run the app in a terminal or not */
34             ObtDDFileAppOpen open;
35
36             /* XXX gchar**? or something better, a mime struct.. maybe
37                glib has something i can use. */
38             gchar **mime; /*!< Mime types the app can open */
39
40             ObtDDFileAppStartup startup;
41             gchar *startup_wmclass;
42         } app;
43         struct {
44             gchar *url;
45         } link;
46         struct {
47         } dir;
48     } d;
49 };