File: misc.hh

package info (click to toggle)
aewm%2B%2B-goodies 1.0-10
  • links: PTS
  • area: main
  • in suites: bullseye, buster, stretch
  • size: 412 kB
  • sloc: cpp: 3,366; ansic: 963; makefile: 163; sh: 13
file content (98 lines) | stat: -rw-r--r-- 2,909 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
/*
 * misc.hh - Various global declarations and includes.
 * Copyright (C) 2001 Frank Hale
 * frankhale@yahoo.com
 * http://sapphire.sourceforge.net/
 *
 * Updated: 19 July 2001
 *
 * NOTE:
 *
 * 	This code borrows a little from fspanel.c and desklaunch.c so
 * credits go to the authors who wrote those two programs. 
 * 
 * I borrowed the GC and grill drawing code from fspanel.
 * I borrowed GNOME and MWM hints stuff from desklaunch. 
 *
 * fspanel: http://www.chatjunkies.org/fspanel/
 * desklaunch : http://www.kensden.pwp.blueyonder.co.uk/Oroborus/
 *
 *
 * 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 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.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 */

// CONFIG FILES NEED TO GO IN /etc/X11/appbar
// Icons to go in /usr/share/appbar

#include <list>

#include "image.hh"
#include "scanner.hh"
#include "icon.hh"

#include <sys/wait.h> 
#include <signal.h> 
#include <iostream>
#include <X11/Xlib.h>
#include <X11/Xproto.h>
#include <X11/Xatom.h>
#include <X11/extensions/shape.h>

// Default directory where appbar looks for its rc file.
#define APPBAR_RC_FILE "/etc/X11/appbar/appbar.rc"

// If you just wanna test from the source directory uncomment
// the following and run it locally from the source directory.
//#define APPBAR_RC_FILE "appbar_test.rc"

#define WIN_STATE		0
#define WIN_HINTS		1
#define WIN_LAYER		2
#define GNOME_HINT_COUNT	3

#define WIN_STATE_STICKY 	(1<<0)
#define WIN_HINTS_SKIP_FOCUS 	(1<<0)
#define WIN_HINTS_SKIP_WINLIST 	(1<<1)
#define WIN_HINTS_SKIP_TASKBAR 	(1<<2)
#define WIN_HINTS_DO_NOT_COVER  (1<<5)

#define MWM_DECORATIONS		(1<<1)

typedef struct
{
  unsigned long flags;
  unsigned long functions;
  unsigned long decorations;
  unsigned long inputMode;
  unsigned long status;
} PropMwmHints;

// Parts below borrowed from fspanel.c
static unsigned short cols[] = {
	0xd75c, 0xd75c, 0xd75c,		  /* 0. light gray */
	0xbefb, 0xbaea, 0xbefb,		  /* 1. mid gray */
	0xaefb, 0xaaea, 0xaefb,		  /* 2. dark gray */
	0xefbe, 0xefbe, 0xefbe,		  /* 3. white */
	0x8617, 0x8207, 0x8617,		  /* 4. darkest gray */
	0x0000, 0x0000, 0x0000		  /* 5. black */
};

#define PALETTE_COUNT (sizeof (cols) / sizeof (cols[0]) / 3)

//static unsigned long palette[PALETTE_COUNT];
extern unsigned long palette[PALETTE_COUNT];

void signal_handler(int signal);
void init_signals();