2 /* FvwmTaskBar Module for Fvwm.
4 * Copyright 1994, Mike Finger (mfinger@mermaid.micro.umn.edu or
7 * The author makes not guarantees or warantees, either express or
8 * implied. Feel free to use any contained here for any purpose, as long
9 * and this and any other applicible copyrights are kept intact.
11 * The functions in this header file that are based on part of the FvwmIdent
12 * module for Fvwm are noted by a small copyright atop that function, all others
13 * are copyrighted by Mike Finger. For those functions modified/used, here is
14 * the full, original copyright:
16 * Copyright 1994, Robert Nation and Nobutaka Suzuki.
17 * No guarantees or warantees or anything
18 * are provided or implied in any way whatsoever. Use this program at your
19 * own risk. Permission to use this program for any purpose is given,
20 * as long as the copyright is kept intact. */
26 #include "libs/fvwmlib.h"
27 #include "fvwm/fvwm.h"
28 #include "libs/vpacket.h"
31 #include <X11/Xutil.h>
32 #include <X11/Xproto.h>
33 #include <X11/Xatom.h>
34 #include <X11/Intrinsic.h>
35 #include <X11/cursorfont.h>
37 /* Motif window hints */
42 /* props[1]: functions */
43 /* props[2]: decorations */
44 /* props[3]: inputMode */
47 typedef PropMotifWmHints PropMwmHints
;
49 /* Motif window hints */
50 #define MWM_HINTS_FUNCTIONS (1L << 0)
51 #define MWM_HINTS_DECORATIONS (1L << 1)
52 #define MWM_HINTS_INPUT_MODE (1L << 2)
54 /* bit definitions for MwmHints.functions */
55 #define MWM_FUNC_ALL (1L << 0)
56 #define MWM_FUNC_RESIZE (1L << 1)
57 #define MWM_FUNC_MOVE (1L << 2)
58 #define MWM_FUNC_MINIMIZE (1L << 3)
59 #define MWM_FUNC_MAXIMIZE (1L << 4)
60 #define MWM_FUNC_CLOSE (1L << 5)
62 /* values for MwmHints.input_mode */
63 #define MWM_INPUT_MODELESS 0
64 #define MWM_INPUT_PRIMARY_APPLICATION_MODAL 1
65 #define MWM_INPUT_SYSTEM_MODAL 2
66 #define MWM_INPUT_FULL_APPLICATION_MODAL 3
68 /* bit definitions for MwmHints.decorations */
69 #define MWM_DECOR_ALL (1L << 0)
70 #define MWM_DECOR_BORDER (1L << 1)
71 #define MWM_DECOR_RESIZEH (1L << 2)
72 #define MWM_DECOR_TITLE (1L << 3)
73 #define MWM_DECOR_MENU (1L << 4)
74 #define MWM_DECOR_MINIMIZE (1L << 5)
75 #define MWM_DECOR_MAXIMIZE (1L << 6)
77 #define PROP_MOTIF_WM_HINTS_ELEMENTS 4
78 #define PROP_MWM_HINTS_ELEMENTS PROP_MOTIF_WM_HINTS_ELEMENTS
92 void EndLessLoop(void);
93 void ReadFvwmPipe(void);
94 void ProcessMessage(unsigned long type
,unsigned long *body
);
95 RETSIGTYPE
DeadPipe(int nonsense
);
97 void Alarm(int nonsense);
98 void SetAlarm(int event);
99 void ClearAlarm(void);
101 void CheckForTip(int x
, int y
);
102 void MakeMeWindow(void);
103 void WaitForExpose(void);
104 void RedrawWindow(int force
, XEvent
*evp
);
105 void StartMeUp(void);
106 void ConsoleMessage(char *fmt
,...);
107 void LoopOnEvents(void);
108 void AdjustWindow(int width
, int height
);
109 void ChangeWindowName(char *str
);
110 void LinkAction(const char *string
);
111 void AddToSkipList(char *string
);
112 int InSkipList(char *string
);
113 void PrintSkipList(void);
114 void FvwmNameMessage(long *body
);
116 unsigned int value
, unsigned int funcs
,unsigned int input
);
117 void RevealTaskBar(void);
118 void HideTaskBar(void);
119 void PurgeConfigEvents(void);
120 void redraw_buttons(void);