… | |
… | |
30 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
30 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
31 | *---------------------------------------------------------------------*/ |
31 | *---------------------------------------------------------------------*/ |
32 | |
32 | |
33 | #include "../config.h" /* NECESSARY */ |
33 | #include "../config.h" /* NECESSARY */ |
34 | #include "rxvt.h" /* NECESSARY */ |
34 | #include "rxvt.h" /* NECESSARY */ |
35 | #include "main.intpro" /* PROTOS for internal routines */ |
|
|
36 | |
35 | |
37 | #include <csignal> |
36 | #include <csignal> |
38 | #include <cstring> |
37 | #include <cstring> |
39 | |
38 | |
40 | #ifdef TTY_GID_SUPPORT |
39 | #ifdef TTY_GID_SUPPORT |
… | |
… | |
253 | //if (menuBar.win) |
252 | //if (menuBar.win) |
254 | // XDestroyWindow (disp, menuBar.win); |
253 | // XDestroyWindow (disp, menuBar.win); |
255 | #endif |
254 | #endif |
256 | delete TermWin.drawable; |
255 | delete TermWin.drawable; |
257 | // destroy all windows |
256 | // destroy all windows |
258 | if (TermWin.parent[0]) |
257 | if (TermWin.parent[0] |
|
|
258 | #if ENABLE_FRILLS |
|
|
259 | && !rs[Rs_embed] |
|
|
260 | #endif |
|
|
261 | ) |
259 | XDestroyWindow (disp, TermWin.parent[0]); |
262 | XDestroyWindow (disp, TermWin.parent[0]); |
260 | } |
263 | } |
261 | |
264 | |
262 | // TODO: free pixcolours, colours should become part of rxvt_display |
265 | // TODO: free pixcolours, colours should become part of rxvt_display |
263 | |
266 | |
… | |
… | |
712 | if (!parsed_geometry) |
715 | if (!parsed_geometry) |
713 | { |
716 | { |
714 | parsed_geometry = 1; |
717 | parsed_geometry = 1; |
715 | if (rs[Rs_geometry]) |
718 | if (rs[Rs_geometry]) |
716 | flags = XParseGeometry (rs[Rs_geometry], &x, &y, &w, &h); |
719 | flags = XParseGeometry (rs[Rs_geometry], &x, &y, &w, &h); |
|
|
720 | |
717 | if (flags & WidthValue) |
721 | if (flags & WidthValue) |
718 | { |
722 | { |
719 | TermWin.ncol = BOUND_POSITIVE_INT16 (w); |
723 | TermWin.ncol = BOUND_POSITIVE_INT16 (w); |
720 | szHint.flags |= USSize; |
724 | szHint.flags |= USSize; |
721 | } |
725 | } |
|
|
726 | |
722 | if (flags & HeightValue) |
727 | if (flags & HeightValue) |
723 | { |
728 | { |
724 | TermWin.nrow = BOUND_POSITIVE_INT16 (h); |
729 | TermWin.nrow = BOUND_POSITIVE_INT16 (h); |
725 | szHint.flags |= USSize; |
730 | szHint.flags |= USSize; |
726 | } |
731 | } |
|
|
732 | |
727 | if (flags & XValue) |
733 | if (flags & XValue) |
728 | { |
734 | { |
729 | szHint.x = x; |
735 | szHint.x = x; |
730 | szHint.flags |= USPosition; |
736 | szHint.flags |= USPosition; |
731 | if (flags & XNegative) |
737 | if (flags & XNegative) |
732 | { |
738 | { |
733 | recalc_x = 1; |
739 | recalc_x = 1; |
734 | szHint.win_gravity = NorthEastGravity; |
740 | szHint.win_gravity = NorthEastGravity; |
735 | } |
741 | } |
736 | } |
742 | } |
|
|
743 | |
737 | if (flags & YValue) |
744 | if (flags & YValue) |
738 | { |
745 | { |
739 | szHint.y = y; |
746 | szHint.y = y; |
740 | szHint.flags |= USPosition; |
747 | szHint.flags |= USPosition; |
741 | if (flags & YNegative) |
748 | if (flags & YNegative) |