Apply window-jump fix (D. Fries).
[fvwm.git] / modules / FvwmTaskBar / FvwmTaskBar.h
blob25ab335957f80276fdbfe085fe3da5f9b18d17c2
1 /* -*-c-*- */
2 /* FvwmTaskBar Module for Fvwm.
4 * Copyright 1994, Mike Finger (mfinger@mermaid.micro.umn.edu or
5 * Mike_Finger@atk.com)
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. */
22 #ifndef FVWMTASKBAR_H
23 #define FVWMTASKBAR_H
25 #include "config.h"
26 #include "libs/fvwmlib.h"
27 #include "fvwm/fvwm.h"
28 #include "libs/vpacket.h"
30 #include <X11/Xlib.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 */
38 typedef struct
40 long props[4];
41 /* props[0]: flags */
42 /* props[1]: functions */
43 /* props[2]: decorations */
44 /* props[3]: inputMode */
45 } PropMotifWmHints;
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
80 /* Alarm Events */
81 typedef enum
83 NOT_SET = 0,
84 SHOW_TIP = 1,
85 HIDE_TASK_BAR = 2,
86 STICK_TASK_BAR = 4
87 } tb_alarm_t;
90 Subroutine Prototypes
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);
115 void SetMwmHints(
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);
122 #endif