geany  1.38
About: Geany is a text editor (using GTK2) with basic features of an integrated development environment (syntax highlighting, code folding, symbol name auto-completion, ...). F: office T: editor programming GTK+ IDE
  Fossies Dox: geany-1.38.tar.bz2  ("unofficial" and yet experimental doxygen-generated source code documentation)  

app.h
Go to the documentation of this file.
1/*
2 * app.h - this file is part of Geany, a fast and lightweight IDE
3 *
4 * Copyright 2005 The Geany contributors
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 * You should have received a copy of the GNU General Public License along
17 * with this program; if not, write to the Free Software Foundation, Inc.,
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 */
20
21/**
22 * @file app.h
23 * Contains the GeanyApp.
24 */
25
26#ifndef GEANY_APP_H
27#define GEANY_APP_H 1
28
29#include "tm_workspace.h"
30#include "project.h"
31
32#include <glib.h>
33
34G_BEGIN_DECLS
35
36/** Important application fields. */
37typedef struct GeanyApp
38{
39 gboolean debug_mode; /**< @c TRUE if debug messages should be printed. */
40 /** User configuration directory, usually @c ~/.config/geany.
41 * This is a full path read by @ref utils_get_real_path().
42 * @note Plugin configuration files should be saved as:
43 * @code g_build_path(G_DIR_SEPARATOR_S, geany->app->configdir, "plugins", "pluginname",
44 * "file.conf", NULL); @endcode */
45 gchar *configdir;
46 gchar *datadir;
47 gchar *docdir;
48 const TMWorkspace *tm_workspace; /**< TagManager workspace/session tags. */
49 struct GeanyProject *project; /**< Currently active project or @c NULL if none is open. */
50}
52
53
54#ifdef GEANY_PRIVATE
55
56extern GeanyApp *app;
57
58#endif /* GEANY_PRIVATE */
59
60G_END_DECLS
61
62#endif /* GEANY_APP_H */
struct GeanyApp GeanyApp
Important application fields.
GeanyApp * app
Definition: libmain.c:86
Project Management.
Important application fields.
Definition: app.h:38
struct GeanyProject * project
Currently active project or NULL if none is open.
Definition: app.h:49
gchar * docdir
Definition: app.h:47
const TMWorkspace * tm_workspace
TagManager workspace/session tags.
Definition: app.h:48
gchar * configdir
User configuration directory, usually ~/.config/geany.
Definition: app.h:45
gchar * datadir
Definition: app.h:46
gboolean debug_mode
TRUE if debug messages should be printed.
Definition: app.h:39
Structure for representing a project.
Definition: project.h:35
The Tag Manager Workspace.
Definition: tm_workspace.h:28
The TMWorkspace structure is meant to be used as a singleton to store application wide tag informatio...