openbox/obt/ddparse.h
Dana Jansens 3121146ecc parse some of the .desktop stuff into an ObtLink structure
localized names still don't work.
most of the app-specific stuff isn't done yet.
categories aren't handled yet (to only show in/not show in some category)
2010-03-29 22:38:05 -04:00

54 lines
1.7 KiB
C

/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
obt/ddparse.h for the Openbox window manager
Copyright (c) 2009 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
See the COPYING file for a copy of the GNU General Public License.
*/
#include <glib.h>
typedef struct _ObtDDParseGroup ObtDDParseGroup;
typedef enum {
OBT_DDPARSE_STRING,
OBT_DDPARSE_LOCALESTRING,
OBT_DDPARSE_STRINGS,
OBT_DDPARSE_LOCALESTRINGS,
OBT_DDPARSE_BOOLEAN,
OBT_DDPARSE_NUMERIC,
OBT_DDPARSE_ENUM_APPLICATION,
OBT_DDPARSE_NUM_VALUE_TYPES
} ObtDDParseValueType;
typedef struct _ObtDDParseValue {
ObtDDParseValueType type;
union _ObtDDParseValueValue {
gchar *string;
struct _ObtDDParseValueStrings {
gchar *s;
gulong n;
} strings;
gboolean boolean;
gfloat numeric;
guint enumerable;
} value;
} ObtDDParseValue;
/* Returns a hash table where the keys are groups, and the values are
ObtDDParseGroups */
GHashTable* obt_ddparse_file(const gchar *name, GSList *paths);
/* Returns a hash table where the keys are "keys" in the .desktop file,
and the values are "values" in the .desktop file, for the group @g. */
GHashTable* obt_ddparse_group_keys(ObtDDParseGroup *g);