Lines Matching refs:tmp_win

86                 TwmWindow *tmp_win);
115 TwmWindow *tmp_win; /* new twm window structure */
152 tmp_win = calloc(1, sizeof(TwmWindow));
153 if(tmp_win == NULL) {
166 tmp_win->w = w;
167 tmp_win->zoomed = ZOOM_NONE;
168 tmp_win->isiconmgr = (wtype == AWT_ICON_MANAGER);
169 tmp_win->iconmgrp = iconp;
170 tmp_win->iswspmgr = (wtype == AWT_WORKSPACE_MANAGER);
171 tmp_win->isoccupy = (wtype == AWT_OCCUPY);
173 tmp_win->iswinbox = (wtype == AWT_WINDOWBOX);
175 tmp_win->vs = vs;
176 tmp_win->parent_vs = vs;
177 tmp_win->savevs = NULL;
178 tmp_win->cmaps.number_cwins = 0;
179 tmp_win->savegeometry.width = -1;
180 tmp_win->widthEverChangedByUser = false;
181 tmp_win->heightEverChangedByUser = false;
182 tmp_win->nameChanged = false;
183 tmp_win->squeezed = false;
184 tmp_win->iconified = false;
185 tmp_win->isicon = false;
186 tmp_win->icon_on = false;
187 tmp_win->ring.cursor_valid = false;
188 tmp_win->squeeze_info = NULL;
189 tmp_win->squeeze_info_copied = false;
200 * in tmp_win->w to do their stuff. e.g., anything that relies on
201 * other values in our ctwm TwmWindow tmp_win (window name, various
204 XSelectInput(dpy, tmp_win->w, PropertyChangeMask);
205 XGetWindowAttributes(dpy, tmp_win->w, &tmp_win->attr);
206 FetchWmProtocols(tmp_win);
207 FetchWmColormapWindows(tmp_win);
209 EwmhGetProperties(tmp_win);
217 tmp_win->old_bw = tmp_win->attr.border_width;
226 tmp_win->names.ctwm_wm_name = GetWMPropertyString(tmp_win->w,
229 tmp_win->names.net_wm_name = GetWMPropertyString(tmp_win->w,
232 tmp_win->names.wm_name = GetWMPropertyString(tmp_win->w, XA_WM_NAME);
233 set_window_name(tmp_win);
234 namelen = strlen(tmp_win->name);
237 tmp_win->class = NoClass;
238 XGetClassHint(dpy, tmp_win->w, &tmp_win->class);
239 if(tmp_win->class.res_name == NULL) {
240 tmp_win->class.res_name = NoName;
242 if(tmp_win->class.res_class == NULL) {
243 tmp_win->class.res_class = NoName;
247 tmp_win->names.ctwm_wm_icon_name = GetWMPropertyString(tmp_win->w,
250 tmp_win->names.net_wm_icon_name = GetWMPropertyString(tmp_win->w,
253 tmp_win->names.wm_icon_name = GetWMPropertyString(tmp_win->w,
255 set_window_icon_name(tmp_win);
259 #define CHKL(lst) IsInList(Scr->lst, tmp_win)
263 tmp_win->istransient = XGetTransientForHint(dpy, tmp_win->w,
264 &tmp_win->transientfor);
265 if(tmp_win->istransient) {
267 * XXX Should this be looking up transientfor instead of tmp_win?
275 tmp_win->istransient = false;
290 if(GetWindowConfig(tmp_win,
300 tmp_win->attr.x = saved_x;
301 tmp_win->attr.y = saved_y;
303 tmp_win->widthEverChangedByUser = width_ever_changed_by_user;
304 tmp_win->heightEverChangedByUser = height_ever_changed_by_user;
307 tmp_win->attr.width = saved_width;
311 tmp_win->attr.height = saved_height;
324 if(tmp_win->attr.width > Scr->MaxWindowWidth) {
325 tmp_win->attr.width = Scr->MaxWindowWidth;
327 if(tmp_win->attr.height > Scr->MaxWindowHeight) {
328 tmp_win->attr.height = Scr->MaxWindowHeight;
336 tmp_win->wmhints = XGetWMHints(dpy, tmp_win->w);
337 if(!tmp_win->wmhints) {
338 tmp_win->wmhints = gen_synthetic_wmhints(tmp_win);
339 if(!tmp_win->wmhints) {
341 free(tmp_win); // XXX leaky
352 tmp_win->wmhints->initial_state = IconicState;
353 tmp_win->wmhints->flags |= StateHint;
357 tmp_win->wmhints->icon_x = restore_icon_x;
358 tmp_win->wmhints->icon_y = restore_icon_y;
359 tmp_win->wmhints->flags |= IconPositionHint;
364 munge_wmhints(tmp_win, tmp_win->wmhints);
370 tmp_win->highlight = Scr->Highlight && !CHKL(NoHighlight);
371 tmp_win->stackmode = Scr->StackMode && !CHKL(NoStackModeL);
372 tmp_win->titlehighlight = Scr->TitleHighlight && !CHKL(NoTitleHighlight);
373 tmp_win->AlwaysSqueezeToGravity = Scr->AlwaysSqueezeToGravity
375 tmp_win->DontSetInactive = CHKL(DontSetInactive);
376 tmp_win->AutoSqueeze = CHKL(AutoSqueeze);
377 tmp_win->StartSqueezed =
379 (tmp_win->ewmhFlags & EWMH_STATE_SHADED) ||
383 tmp_win->auto_raise = Scr->AutoRaiseDefault || CHKL(AutoRaise);
384 if(tmp_win->auto_raise) {
388 tmp_win->auto_lower = Scr->AutoLowerDefault || CHKL(AutoLower);
389 if(tmp_win->auto_lower) {
393 tmp_win->OpaqueMove = Scr->DoOpaqueMove;
395 tmp_win->OpaqueMove = true;
398 tmp_win->OpaqueMove = false;
401 tmp_win->OpaqueResize = Scr->DoOpaqueResize;
403 tmp_win->OpaqueResize = true;
406 tmp_win->OpaqueResize = false;
419 if(tmp_win->isiconmgr || CHKL(DontIconify)) {
426 tmp_win->iconify_by_unmapping = ibum;
435 tmp_win->UnmapByMovingFarAway = CHKL(UnmapByMovingFarAway);
436 if(tmp_win->istransient || tmp_win->group) {
438 if(tmp_win->istransient) {
439 t = GetTwmWindow(tmp_win->transientfor);
441 if(!t && tmp_win->group) {
442 t = GetTwmWindow(tmp_win->group);
445 tmp_win->UnmapByMovingFarAway = t->UnmapByMovingFarAway;
458 (Scr->WindowRingAll && !tmp_win->iswspmgr
459 && !tmp_win->isiconmgr
461 && EwmhOnWindowRing(tmp_win)
464 AddWindowToRing(tmp_win);
467 InitWindowNotOnRing(tmp_win);
489 tmp_win->squeeze_info = LookInListWin(Scr->SqueezeTitleL, tmp_win);
490 if(!tmp_win->squeeze_info) {
492 tmp_win->squeeze_info = &default_squeeze;
505 GetMWMHints(tmp_win->w, &mwmHints);
521 tmp_win->frame_bw3D = Scr->ThreeDBorderWidth;
524 !EwmhHasBorder(tmp_win) ||
528 tmp_win->frame_bw = 0;
529 tmp_win->frame_bw3D = 0;
531 else if(tmp_win->frame_bw3D != 0) {
532 tmp_win->frame_bw = 0;
535 tmp_win->frame_bw = tmp_win->old_bw;
538 tmp_win->frame_bw = Scr->BorderWidth;
540 bw2 = tmp_win->frame_bw * 2; // Used repeatedly later
556 have_title = EwmhHasTitle(tmp_win);
581 if(tmp_win->istransient && !Scr->DecorateTransients) {
582 tmp_win->title_height = 0;
585 tmp_win->title_height = Scr->TitleHeight + tmp_win->frame_bw;
588 tmp_win->title_height = 0;
599 EwmhSet_NET_FRAME_EXTENTS(tmp_win);
608 GetWindowSizeHints(tmp_win);
613 tmp_win->wmhints->initial_state = IconicState;
614 tmp_win->wmhints->flags |= StateHint;
626 GetGravityOffsets(tmp_win, &gravx, &gravy);
656 if(tmp_win->istransient) {
659 else if(tmp_win->hints.flags & USPosition) {
662 else if(tmp_win->hints.flags & PPosition) {
667 && (tmp_win->attr.x != 0 || tmp_win->attr.y != 0)) {
680 * Note that SetupOccupation() may update tmp_win->{parent_,}vs if
682 * set tmp_win->vs to NULL if it has no occupation in the current
685 SetupOccupation(tmp_win, saved_occupation);
690 winbox = findWindowBox(tmp_win);
707 tmp_win->frame_width = tmp_win->attr.width + 2 * tmp_win->frame_bw3D;
708 tmp_win->frame_height = tmp_win->attr.height + 2 * tmp_win->frame_bw3D +
709 tmp_win->title_height;
710 ConstrainSize(tmp_win, &tmp_win->frame_width, &tmp_win->frame_height);
721 if(PlaceWindowInRegion(tmp_win, &(tmp_win->attr.x), &(tmp_win->attr.y))) {
731 char *geom = LookInListWin(Scr->WindowGeometries, tmp_win);
734 &tmp_win->attr.x, &tmp_win->attr.y,
735 (unsigned int *) &tmp_win->attr.width,
736 (unsigned int *) &tmp_win->attr.height);
739 tmp_win->attr.x += Scr->rootw - tmp_win->attr.width;
742 tmp_win->attr.y += Scr->rooth - tmp_win->attr.height;
750 if(tmp_win->parent_vs) {
751 vroot = tmp_win->parent_vs->window;
755 tmp_win->parent_vs = Scr->currentvs;
780 ((tmp_win->wmhints->initial_state == IconicState) ||
781 (! visible(tmp_win))))) {
787 tmp_win->attr.width, tmp_win->attr.height,
788 tmp_win->attr.x, tmp_win->attr.y,
790 tmp_win->title_height,
800 PlaceX = Scr->rootw - tmp_win->attr.width - Scr->BorderRight - 5;
806 PlaceY = Scr->rooth - tmp_win->attr.height - tmp_win->title_height
815 && (PlaceX + tmp_win->attr.width
825 PlaceX = Scr->rootw - tmp_win->attr.width - Scr->BorderRight - 5;
834 && (PlaceY + tmp_win->attr.height + tmp_win->title_height
845 PlaceY = Scr->rooth - tmp_win->attr.height - tmp_win->title_height
851 tmp_win->attr.x = PlaceX;
852 tmp_win->attr.y = PlaceY + tmp_win->title_height;
863 tmp_win->attr.width, tmp_win->attr.height,
864 tmp_win->attr.x, tmp_win->attr.y,
866 bw2, tmp_win->frame_bw3D);
873 if((tmp_win->attr.x + tmp_win->attr.width) > Scr->rootw) {
874 available = Scr->rootw - tmp_win->attr.width
875 - 2 * tmp_win->frame_bw3D - bw2;
895 tmp_win->attr.x = available / 2;
903 if((tmp_win->attr.y + tmp_win->attr.height) > Scr->rooth) {
904 available = Scr->rooth - tmp_win->attr.height
905 - tmp_win->title_height
906 - 2 * tmp_win->frame_bw3D - bw2;
927 tmp_win->attr.y = available / 2 + tmp_win->title_height;
933 tmp_win->attr.width, tmp_win->attr.height,
934 tmp_win->attr.x, tmp_win->attr.y,
943 if(PlaceX - tmp_win->attr.x < 15
944 || PlaceY - (tmp_win->attr.y - tmp_win->title_height) < 15) {
951 else if(!(tmp_win->wmhints->flags & StateHint &&
952 tmp_win->wmhints->initial_state == IconicState)) {
1033 tmp_win->name, namelen,
1052 tmp_win->name, namelen);
1056 ConstrainedToWinBox(tmp_win, AddingX, AddingY, &AddingX, &AddingY);
1060 AddingW = tmp_win->attr.width + bw2 + 2 * tmp_win->frame_bw3D;
1061 AddingH = tmp_win->attr.height + tmp_win->title_height +
1062 bw2 + 2 * tmp_win->frame_bw3D;
1064 tmp_win->frame_bw, tmp_win->title_height + tmp_win->frame_bw3D);
1069 DisplayPosition(tmp_win, AddingX, AddingY);
1075 tmp_win->frame_width = AddingW - bw2;
1076 tmp_win->frame_height = AddingH - bw2;
1116 /* TryTo*() need tmp_win->frame_{width,height} */
1117 TryToGrid(tmp_win, &AddingX, &AddingY);
1119 TryToPack(tmp_win, &AddingX, &AddingY);
1124 ConstrainByBorders(tmp_win, &AddingX, AddingW, &AddingY, AddingH);
1136 TryToGrid(tmp_win, &AddingX, &AddingY);
1138 TryToPack(tmp_win, &AddingX, &AddingY);
1141 ConstrainByBorders(tmp_win, &AddingX, AddingW, &AddingY, AddingH);
1144 tmp_win->frame_bw, tmp_win->title_height + tmp_win->frame_bw3D);
1146 DisplayPosition(tmp_win, AddingX, AddingY);
1167 int dx = (tmp_win->attr.width / 4);
1168 int dy = (tmp_win->attr.height / 4);
1178 dx += (tmp_win->frame_bw + 1);
1179 dy += (bw2 + tmp_win->title_height + 1);
1194 AddStartResize(tmp_win, AddingX, AddingY, AddingW, AddingH);
1213 AddEndResize(tmp_win);
1236 DoResize(AddingX, AddingY, tmp_win);
1264 ConstrainSize(tmp_win, &AddingW, &AddingH); /* w/o borders */
1278 tmp_win->attr.x = AddingX;
1279 tmp_win->attr.y = AddingY + tmp_win->title_height;
1280 tmp_win->attr.width = AddingW - bw2 - 2 * tmp_win->frame_bw3D;
1281 tmp_win->attr.height = AddingH - tmp_win->title_height -
1282 bw2 - 2 * tmp_win->frame_bw3D;
1293 tmp_win->attr.y -= gravy * tmp_win->title_height;
1300 tmp_win->attr.x,
1301 tmp_win->attr.y,
1302 tmp_win->attr.width,
1303 tmp_win->attr.height);
1312 int delta = tmp_win->attr.border_width - tmp_win->frame_bw -
1313 tmp_win->frame_bw3D;
1314 tmp_win->attr.x += gravx * delta;
1315 tmp_win->attr.y += gravy * delta;
1324 tmp_win->title_width = tmp_win->attr.width;
1335 XmbTextExtents(Scr->TitleBarFont.font_set, tmp_win->name, namelen,
1337 tmp_win->name_width = logical_rect.width;
1342 if(tmp_win->old_bw) {
1343 XSetWindowBorderWidth(dpy, tmp_win->w, 0);
1350 #define SETC(lst, save) GetColorFromList(Scr->lst, tmp_win->name, \
1351 &tmp_win->class, &tmp_win->save)
1354 tmp_win->borderC.fore = Scr->BorderColorC.fore;
1355 tmp_win->borderC.back = Scr->BorderColorC.back;
1359 tmp_win->border_tile.fore = Scr->BorderTileC.fore;
1360 tmp_win->border_tile.back = Scr->BorderTileC.back;
1364 tmp_win->title.fore = Scr->TitleC.fore;
1365 tmp_win->title.back = Scr->TitleC.back;
1373 GetShadeColors(&tmp_win->title);
1376 GetShadeColors(&tmp_win->borderC);
1377 GetShadeColors(&tmp_win->border_tile);
1402 if(XGetGeometry(dpy, tmp_win->w, &JunkRoot, &JunkX, &JunkY,
1404 UnlinkWindowFromRing(tmp_win);
1407 free(tmp_win);
1414 tmp_win->next = Scr->FirstWindow;
1416 Scr->FirstWindow->prev = tmp_win;
1418 tmp_win->prev = NULL;
1419 Scr->FirstWindow = tmp_win;
1442 tmp_win->frame_x = tmp_win->attr.x + tmp_win->old_bw
1443 - tmp_win->frame_bw - tmp_win->frame_bw3D;
1444 tmp_win->frame_y = tmp_win->attr.y - tmp_win->title_height
1445 + tmp_win->old_bw
1446 - tmp_win->frame_bw - tmp_win->frame_bw3D;
1447 tmp_win->frame_width = tmp_win->attr.width + 2 * tmp_win->frame_bw3D;
1448 tmp_win->frame_height = tmp_win->attr.height + 2 * tmp_win->frame_bw3D
1449 + tmp_win->title_height;
1452 ConstrainSize(tmp_win, &tmp_win->frame_width, &tmp_win->frame_height);
1460 ConstrainByBorders(tmp_win, &tmp_win->frame_x, tmp_win->frame_width,
1461 &tmp_win->frame_y, tmp_win->frame_height);
1470 area = RAreaNew(tmp_win->frame_x, tmp_win->frame_y,
1471 (int)tmp_win->frame_width,
1472 (int)tmp_win->frame_height);
1491 if(tmp_win->ewmhFlags & EWMH_HAS_STRUT) {
1509 tmp_win->frame_x = min_x;
1510 tmp_win->frame_y = min_y;
1516 DealWithNonSensicalGeometries(dpy, vroot, tmp_win);
1526 attributes.border_pixel = tmp_win->border_tile.back;
1527 attributes.background_pixel = tmp_win->border_tile.back;
1546 if(tmp_win->attr.save_under) {
1550 if(tmp_win->hints.flags & PWinGravity) {
1551 attributes.win_gravity = tmp_win->hints.win_gravity;
1557 tmp_win->frame = XCreateWindow(dpy, vroot,
1558 tmp_win->frame_x, tmp_win->frame_y,
1559 tmp_win->frame_width,
1560 tmp_win->frame_height,
1561 tmp_win->frame_bw,
1565 XStoreName(dpy, tmp_win->frame, "CTWM frame");
1573 if(tmp_win->title_height) {
1588 attributes.border_pixel = tmp_win->borderC.back;
1589 attributes.background_pixel = tmp_win->title.back;
1593 x = y = tmp_win->frame_bw3D - tmp_win->frame_bw;
1594 tmp_win->title_w = XCreateWindow(dpy, tmp_win->frame, x, y,
1595 tmp_win->attr.width,
1596 Scr->TitleHeight, tmp_win->frame_bw,
1600 XStoreName(dpy, tmp_win->title_w, "CTWM titlebar");
1604 tmp_win->title_w = None;
1605 tmp_win->squeeze_info = NULL;
1616 if(tmp_win->highlight) {
1625 tmp_win->gray = mk_blackgray_pixmap(which, vroot,
1626 tmp_win->border_tile.fore,
1627 tmp_win->border_tile.back);
1629 tmp_win->hasfocusvisible = true;
1630 SetFocusVisualAttributes(tmp_win, false);
1633 tmp_win->gray = None;
1640 OtpAdd(tmp_win, WinWin);
1648 if(tmp_win->title_w) {
1649 ComputeTitleLocation(tmp_win);
1650 CreateWindowTitlebarButtons(tmp_win);
1651 XMoveWindow(dpy, tmp_win->title_w,
1652 tmp_win->title_x, tmp_win->title_y);
1653 XDefineCursor(dpy, tmp_win->title_w, Scr->TitleCursor);
1656 tmp_win->title_x = tmp_win->frame_bw3D - tmp_win->frame_bw;
1657 tmp_win->title_y = tmp_win->frame_bw3D - tmp_win->frame_bw;
1675 XChangeWindowAttributes(dpy, tmp_win->w, valuemask, &attributes);
1684 if(tmp_win->title_w) {
1685 XMapWindow(dpy, tmp_win->title_w);
1700 XShapeSelectInput(dpy, tmp_win->w, ShapeNotifyMask);
1701 XShapeQueryExtents(dpy, tmp_win->w,
1704 tmp_win->wShaped = boundingShaped;
1718 if(!(tmp_win->isiconmgr || tmp_win->iswspmgr || tmp_win->isoccupy)) {
1719 XAddToSaveSet(dpy, tmp_win->w);
1726 XReparentWindow(dpy, tmp_win->w, tmp_win->frame, tmp_win->frame_bw3D,
1727 tmp_win->title_height + tmp_win->frame_bw3D);
1735 tmp_win->mapped = false;
1743 SetupFrame(tmp_win, tmp_win->frame_x, tmp_win->frame_y,
1744 tmp_win->frame_width, tmp_win->frame_height, -1, true);
1761 if(!tmp_win->isiconmgr) {
1762 GrabButtons(tmp_win);
1763 GrabKeys(tmp_win);
1768 AddIconManager(tmp_win);
1778 XSaveContext(dpy, win, TwmContext, (XPointer) tmp_win); \
1783 SETCTXS(tmp_win->w);
1784 SETCTXS(tmp_win->frame);
1787 if(tmp_win->title_height) {
1791 SETCTXS(tmp_win->title_w);
1794 SETCTXS(tmp_win->titlebuttons[i].window);
1796 if(tmp_win->hilite_wl) {
1797 SETCTXS(tmp_win->hilite_wl);
1799 if(tmp_win->hilite_wr) {
1800 SETCTXS(tmp_win->hilite_wr);
1802 if(tmp_win->lolite_wl) {
1803 SETCTXS(tmp_win->lolite_wl);
1805 if(tmp_win->lolite_wr) {
1806 SETCTXS(tmp_win->lolite_wr);
1839 if(!tmp_win->iswspmgr) {
1840 WMapAddWindow(tmp_win);
1850 SetPropsIfCaptiveCtwm(tmp_win);
1859 savegeometry(tmp_win);
1865 return tmp_win;
1892 * tmp_win - the twm window structure to use
1903 void GrabButtons(TwmWindow *tmp_win)
1916 grabbutton(tmp->num, tmp->mods, tmp_win->frame, GrabModeAsync);
1921 tmp_win->frame, GrabModeAsync);
1925 grabbutton(AnyButton, None, tmp_win->w, GrabModeSync);
1927 grabbutton(AnyButton, ModifierMask [i], tmp_win->w, GrabModeSync);
1931 grabbutton(Scr->RaiseOnClickButton, None, tmp_win->w, GrabModeSync);
1934 ModifierMask [i], tmp_win->w, GrabModeSync);
1946 * tmp_win - the twm window structure to use
1957 void GrabKeys(TwmWindow *tmp_win)
1977 grabkey(tmp, 0, tmp_win->w);
1982 grabkey(tmp, ModifierMask [i], tmp_win->w);
1988 if(!tmp_win->icon || tmp_win->icon->w) {
1992 grabkey(tmp, 0, tmp_win->icon->w);
1997 grabkey(tmp, ModifierMask [i], tmp_win->icon->w);
2003 if(!tmp_win->title_w) {
2007 grabkey(tmp, 0, tmp_win->title_w);
2012 grabkey(tmp, ModifierMask [i], tmp_win->title_w);
2018 grabkey(tmp, 0, tmp_win->w);
2022 grabkey(tmp, ModifierMask [i], tmp_win->w);
2025 if(tmp_win->icon && tmp_win->icon->w) {
2026 grabkey(tmp, 0, tmp_win->icon->w);
2031 grabkey(tmp, ModifierMask [i], tmp_win->icon->w);
2035 if(tmp_win->title_w) {
2036 grabkey(tmp, 0, tmp_win->title_w);
2041 grabkey(tmp, ModifierMask [i], tmp_win->title_w);
2049 if(tmp_win->ewmhWindowType != wt_Desktop) {
2053 grabkey(tmp, 0, tmp_win->w);
2058 grabkey(tmp, ModifierMask [i], tmp_win->w);
2109 TwmWindow *tmp_win)
2143 if(tmp_win->frame_x > 0 && tmp_win->frame_x >= w) {
2144 tmp_win->frame_x -= abs(dropx);