Check for redundant resizes. Keep the alternate screen buffer size the
[vte.git] / src / debug.c
1 /*
2  * Copyright (C) 2002 Red Hat, Inc.
3  *
4  * This is free software; you can redistribute it and/or modify it under
5  * the terms of the GNU Library General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful, but
10  * WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * General Public License for more details.
13  *
14  * You should have received a copy of the GNU Library General Public
15  * License along with this program; if not, write to the Free Software
16  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17  */
18
19 #ident "$Id$"
20 #include "../config.h"
21 #include <glib.h>
22 #include "debug.h"
23
24 static VteDebugFlags vte_debug_flags = 0;
25
26 void
27 vte_debug_parse_string(const char *string)
28 {
29         char **flags = NULL;
30         int i;
31         vte_debug_flags = 0;
32         flags = g_strsplit(string, ",", 0);
33         if (flags != NULL) {
34                 for (i = 0; flags[i] != NULL; i++) {
35                         if (g_ascii_strcasecmp(flags[i], "ALL") == 0) {
36                                 vte_debug_flags |= 0xffffffff;
37                         } else
38                         if (g_ascii_strcasecmp(flags[i], "MISC") == 0) {
39                                 vte_debug_flags |= VTE_DEBUG_MISC;
40                         } else
41                         if (g_ascii_strcasecmp(flags[i], "IO") == 0) {
42                                 vte_debug_flags |= VTE_DEBUG_IO;
43                         } else
44                         if (g_ascii_strcasecmp(flags[i], "UPDATES") == 0) {
45                                 vte_debug_flags |= VTE_DEBUG_UPDATES;
46                         } else
47                         if (g_ascii_strcasecmp(flags[i], "EVENTS") == 0) {
48                                 vte_debug_flags |= VTE_DEBUG_EVENTS;
49                         } else
50                         if (g_ascii_strcasecmp(flags[i], "PARSE") == 0) {
51                                 vte_debug_flags |= VTE_DEBUG_PARSE;
52                         } else
53                         if (g_ascii_strcasecmp(flags[i], "SIGNALS") == 0) {
54                                 vte_debug_flags |= VTE_DEBUG_SIGNALS;
55                         } else
56                         if (g_ascii_strcasecmp(flags[i], "SELECTION") == 0) {
57                                 vte_debug_flags |= VTE_DEBUG_SELECTION;
58                         }
59                 }
60                 g_strfreev(flags);
61         }
62 }
63
64 gboolean
65 vte_debug_on(VteDebugFlags flags)
66 {
67         return (vte_debug_flags & flags) == flags;
68 }