16#include "ctwm_atoms.h"
135 if(tmp->winbox && tmp->winbox->twmwin && tmp->
frame) {
152 XSetWindowBorderWidth(
dpy, tmp->
w, tmp->
old_bw);
156 XReparentWindow(
dpy, tmp->
w,
Scr->Root, newx, newy);
159 if(tmp->
wmhints->flags & IconWindowHint) {
178 for(
int scrnum = 0; scrnum <
NumScreens; scrnum++) {
193 if(tw->isiconmgr || tw->iswspmgr || tw->isoccupy) {
232 XDeleteProperty(
dpy,
Scr->Root, XA_WM_WORKSPACESLIST);
236 if(
CLarg.is_captive) {
void RemoveFromCaptiveList(const char *cptname)
bool InstallColormaps(int type, Colormaps *cmaps)
int NumScreens
How many Screens are on our display.
ScreenInfo ** ScreenList
List of ScreenInfo structs for each Screen.
void DoShutdown(void)
Cleanup and exit ctwm.
void RestoreWinConfig(TwmWindow *tmp)
Put a window back where it should be if we don't (any longer) control it and reparent it back up to t...
static void RestoreForShutdown(Time mytime)
Restore some window positions/etc in preparation for going away.
void DoRestart(Time t)
exec() ourself to restart.
int frame_x
X position on screen of frame.
int frame_y
Y position on screen of frame.
Window frame
The X window for the overall frame.
int frame_bw
2d border width.
unsigned int title_height
Height of the full title bar.
int frame_bw3D
3d border width.
TwmWindow * OtpNextWinUp(TwmWindow *twm_win)
TwmWindow * OtpBottomWin(void)
int ReparentWindow(Display *display, TwmWindow *twm_win, WinType wintype, Window parent, int x, int y)
void shutdown_session(void)
void play_exit_sound(void)
Info and control for each X Screen we control.
Info and control for every X Window we take over.
XWMHints * wmhints
Window manager hints.
Window w
The actual X Window handle.
int old_bw
Original window border width before we took it over and made our own bordering.
bool UnmapByMovingFarAway
bool squeezed
Is the window squeezed ?
void Squeeze(TwmWindow *tmp_win)
void SetFocus(TwmWindow *tmp_win, Time tim)
bool visible(const TwmWindow *tmp_win)
void GetGravityOffsets(TwmWindow *tmp, int *xp, int *yp)