Propagate Layer changes via Style command on-the-fly.
[fvwm.git] / modules / FvwmWinList / FvwmWinList.h
bloba5d42391df3f8f0d2b1f2e27f435343472dd0c8b
1 /* -*-c-*- */
2 /* FvwmWinList 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 FVWMWINLIST_H
23 #define FVWMWINLIST_H
25 #include <X11/Xlib.h>
26 #include <X11/Xutil.h>
27 #include <X11/Xproto.h>
28 #include <X11/Xatom.h>
29 #include <X11/Intrinsic.h>
30 #include <X11/cursorfont.h>
32 #include "libs/fvwmlib.h"
33 #include "fvwm/fvwm.h"
34 #include "libs/vpacket.h"
36 /* Motif window hints */
37 typedef struct
39 long props[4];
40 /* props[0]: flags */
41 /* props[1]: functions */
42 /* props[2]: decorations */
43 /* props[3]: inputMode */
44 } PropMotifWmHints;
46 typedef PropMotifWmHints PropMwmHints;
48 /* Motif window hints */
49 #define MWM_HINTS_FUNCTIONS (1L << 0)
50 #define MWM_HINTS_DECORATIONS (1L << 1)
51 #define MWM_HINTS_INPUT_MODE (1L << 2)
53 /* bit definitions for MwmHints.functions */
54 #define MWM_FUNC_ALL (1L << 0)
55 #define MWM_FUNC_RESIZE (1L << 1)
56 #define MWM_FUNC_MOVE (1L << 2)
57 #define MWM_FUNC_MINIMIZE (1L << 3)
58 #define MWM_FUNC_MAXIMIZE (1L << 4)
59 #define MWM_FUNC_CLOSE (1L << 5)
61 /* values for MwmHints.input_mode */
62 #define MWM_INPUT_MODELESS 0
63 #define MWM_INPUT_PRIMARY_APPLICATION_MODAL 1
64 #define MWM_INPUT_SYSTEM_MODAL 2
65 #define MWM_INPUT_FULL_APPLICATION_MODAL 3
67 /* bit definitions for MwmHints.decorations */
68 #define MWM_DECOR_ALL (1L << 0)
69 #define MWM_DECOR_BORDER (1L << 1)
70 #define MWM_DECOR_RESIZEH (1L << 2)
71 #define MWM_DECOR_TITLE (1L << 3)
72 #define MWM_DECOR_MENU (1L << 4)
73 #define MWM_DECOR_MINIMIZE (1L << 5)
74 #define MWM_DECOR_MAXIMIZE (1L << 6)
76 #define PROP_MOTIF_WM_HINTS_ELEMENTS 4
77 #define PROP_MWM_HINTS_ELEMENTS PROP_MOTIF_WM_HINTS_ELEMENTS
79 /* default values for configuration parameters */
80 #define DEFMAXWIDTH 10000
81 #define DEFMINWIDTH 0
84 Subroutine Prototypes
86 void MainEventLoop(void);
87 void ReadFvwmPipe(void);
88 void ProcessMessage(unsigned long type,unsigned long *body);
89 RETSIGTYPE DeadPipe(int nonsense) __attribute__((noreturn));
90 void MakeMeWindow(void);
91 void RedrawWindow(Bool force, Bool clear_bg, XEvent *evp);
92 void StartMeUp_I(void);
93 void StartMeUp_II(void);
94 void ShutMeDown(void);
95 void ConsoleMessage(const char *fmt,...) __attribute__((format(printf,1,2)));
96 int OpenConsole(void);
97 void ParseConfig(void);
98 void ParseConfigLine(char *line);
99 void LoopOnEvents(void);
100 void AdjustWindow(Bool force);
102 char *makename(const char *string, Bool iconified);
103 void ChangeWindowName(char *str);
104 void LinkAction(char *string);
105 void AddToSkipList(char *string);
106 void PrintSkipList(void);
107 void FvwmNameMessage(long *body);
108 void SetMwmHints(unsigned int value,unsigned int funcs,unsigned int input);
110 int ErrorHandler(Display *d, XErrorEvent *event);
112 #endif