summaryrefslogtreecommitdiffstats
path: root/win/tkWinWm.c
Commit message (Collapse)AuthorAgeFilesLines
...
* * tests/wm.test: Add Win32 test cases for attributesmdejong2004-10-291-9/+11
| | | | | | subcommand. * win/tkWinWm.c (WmAttributesCmd): Fixup broken option processing logic for attributes subcommand.
* * win/tkWinWm.c (UpdateWrapper): pass SWP_NOOWNERZORDER tohobbs2004-10-211-2/+3
| | | | | SetWindowPos when maintaining win Z order, to prevent parent from flashing (adjusting Z order).
* * doc/wm.n (iconphoto): added support for Tk photohobbs2004-10-051-6/+117
| | | | | | | | * generic/tkInt.h (TkDisplay): images as titlebar icons. TIP #159 * win/tkWinWm.c (WmIconphotoCmd): wm iconphoto ?-default? image1 ... * macosx/tkMacOSXWm.c (WmIconphotoCmd): Implemented for Win/Unix, * unix/tkUnixWm.c (WmIconphotoCmd): stubbed out for OS X. * tests/wm.test, tests/unixWm.test, tests/winWm.test: [Bug 815751]
* * win/tkWinInt.h (TkWinDisplayChanged): added declhobbs2004-09-231-1/+107
| | | | | | | | * win/tkWinX.c (TkWinDisplayChanged, TkpOpenDisplay): Correctly * win/tkWinWm.c (InvalidateSubTreeDepth, WmProc): handle color and screen resolution changes. Tested for 16/24/32 bpp changes on XP. May need more fixes for 8bpp switch, use of special colormaps, or other special palette handling cases. [Bug 223689]
* * win/tkWinWm.c: Rework WS_EX_LAYERED and LWA_ALPHAmdejong2004-09-211-3/+5
| | | | defines so that compiling with mingw works again.
* * win/tkWinWm.c (UpdateWrapper, WmAttributesCmd): handle attributehobbs2004-09-211-41/+41
| | | | | settings prior to window mapping and resort to more forceful wrapper update again for -toolwindow (to remove it from taskbar).
* (UpdateWrapper): don't adjust Z order of TOPMOST window.hobbs2004-09-191-13/+26
| | | | | (WmAttributesCmd): don't call UpdateWrapper for -disabled or -toolwindow attr changes.
* * win/tkWinWm.c (WmAttributesCmd): correct -alpha 0.0/1.0 settinghobbs2004-09-181-17/+14
| | | | and round the value.
* * doc/wm.n:hobbs2004-09-171-20/+157
| | | | | | * tests/winWm.test: Add 'wm attributes -alpha' to control toplevel * win/tkWinInt.h: alpha transparency on Win2K/XP+. * win/tkWinWm.c: TIP #222 [Patch 892194]
* * win/tkWinWm.c (UpdateWrapper): Ensure that we maintain Z orderhobbs2004-09-171-4/+30
| | | | | * tests/winWm.test: and focus of preexisting window when replacing the wrapper window.
* * win/tkWinWm.c (WmIconwindowCmd): Replace bogusmdejong2004-09-151-8/+3
| | | | | | | | call to XWithdrawWindow with proper code. This avoids a "couldn't send withdraw message to window manager" error when the iconwindow is already mapped. The wm iconwindow command does not seem to do much under Win32, but at least this avoids an error message.
* * win/tkWinWm.c (ReadIconFromFile): fix mem alloc to get the righthobbs2004-09-131-15/+10
| | | | size for both icons ('?:' order of precedence mistake).
* (UpdateWrapper): update to 2004-06-12 Kovalenko to account forhobbs2004-09-101-14/+16
| | | | | | whether the override window has a transient parent, and apply WS_POPUP in the correct case. The makes splash screens pop up as well as making dropdowns not grab focus away from the parent.
* * win/tkWinWm.c (ActivateWindow): SetFocus to grab window whenhobbs2004-09-101-4/+9
| | | | clicking outside the grab window hierarchy. [Bug 220908]
* * win/tkWinWm.c (ReadIconFromFile): when using SHGetFileInfo tohobbs2004-09-101-22/+45
| | | | retrieve icon, get regular icon as well for correct Alt-Tab icon.
* * win/tkWinDialog.c (Tk_MessageBoxObjCmd): Inherit the icon fromhobbs2004-08-201-15/+86
| | | | | * win/tkWinInt.h: the -parent window for * win/tkWinWm.c (TkWinGetIcon): the MessageBox.
* Fix for #742882 "Potential division by zero in gridded wm geometry"jenglish2004-06-161-5/+16
|
* * win/tkWinWm.c (UpdateWrapper): Let overrideredirect'ed window'sa_kovalenko2004-06-121-2/+10
| | | | | | wrapper be the child of desktop window, thus making it to behave more similarly to X11 Override Redirect. Esp. useful for combobox-like megawidgets.
* Fixed bug 767176chengyemao2004-05-081-3/+3
|
* * generic/tk3d.c: All uses of 'panic' (the macro) changeddavygrvy2004-01-131-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tkBind.c: to 'Tcl_Panic' (the function). The #define * generic/tkBitmap.c: of panic in tcl.h clearly states it is * generic/tkCanvArc.c: deprecated in the comments. * generic/tkCanvBmap.c: [Tcl Patch 865264] * generic/tkCanvImg.c: * generic/tkCanvLine.c: * generic/tkCanvPoly.c: * generic/tkCanvText.c: * generic/tkCanvWind.c: * generic/tkColor.c: * generic/tkConfig.c: * generic/tkCursor.c: * generic/tkError.c: * generic/tkEvent.c: * generic/tkFocus.c: * generic/tkFont.c: * generic/tkFrame.c: * generic/tkGC.c: * generic/tkGrid.c: * generic/tkImgBmap.c: * generic/tkImgPhoto.c: * generic/tkImgUtil.c: * generic/tkMenu.c: * generic/tkObj.c: * generic/tkPack.c: * generic/tkPlace.c: * generic/tkRectOval.c: * generic/tkSelect.c: * generic/tkText.c: * generic/tkTextBTree.c: * generic/tkTextDisp.c: * generic/tkTextImage.c: * generic/tkTextIndex.c: * generic/tkTextMark.c: * generic/tkTextWind.c: * generic/tkVisual.c: * generic/tkWindow.c: * mac/tkMacAppInit.c: * mac/tkMacAppearanceStubs.c: * mac/tkMacButton.c: * mac/tkMacDraw.c: * mac/tkMacEmbed.c: * mac/tkMacFont.c: * mac/tkMacInit.c: * mac/tkMacMenus.c: * mac/tkMacPort.h: * mac/tkMacSubwindows.c: * mac/tkMacWm.c: * mac/tkMacXStubs.c: * macosx/tkMacOSXEmbed.c: * macosx/tkMacOSXFont.c: * macosx/tkMacOSXMenus.c: * macosx/tkMacOSXNotify.c: * macosx/tkMacOSXPort.h: * macosx/tkMacOSXSubwindows.c: * macosx/tkMacOSXWm.c: * macosx/tkMacOSXXStubs.c: * unix/tkUnix3d.c: * unix/tkUnixColor.c: * unix/tkUnixEmbed.c: * unix/tkUnixEvent.c: * unix/tkUnixFocus.c: * unix/tkUnixFont.c: * unix/tkUnixSelect.c: * unix/tkUnixSend.c: * unix/tkUnixWm.c: * win/tkWin3d.c: * win/tkWinButton.c: * win/tkWinColor.c: * win/tkWinDialog.c: * win/tkWinDraw.c: * win/tkWinEmbed.c: * win/tkWinFont.c: * win/tkWinPixmap.c: * win/tkWinPointer.c: * win/tkWinScrlbr.c: * win/tkWinWm.c: * win/tkWinX.c:
* Check for TK_ALREADY_DEAD to avoid handling of dead windows.a_kovalenko2003-12-161-2/+2
|
* opps.. paren typodavygrvy2003-12-161-3/+3
|
* * win/tkWinWm.c (UpdateGeometryInfo) : wmPtr->wrapper mightdavygrvy2003-12-161-2/+3
| | | | | be NULL. No exception is thrown, but it isn't correct to ignore. discovered with NuMega's BoundsChecker.
* fix to memory leaks and reading of freed memoryvincentdarley2003-12-091-18/+20
|
* * doc/wm.n (minimize, maximize): Remove claimmdejong2003-03-121-6/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | that the resizable command keeps scripts from changing the size of windows since it is not true. The resizable command only applies to user sizing via user interaction. * tests/unixWm.test: Replace broken tests with the nonPortable constraint with new tests for maxsize and minsize options. These tests verify that setting the minsize and maxsize will resize the window if needed, and that the wm hints will be updated with the new sizes. * tests/wm.test: Add an exhaustive set of tests for the wm maxsize and wm minsize commands. These tests verify that setting the minsize and maxsize will resize the window if needed. These tests have only been run under Win98 and Window Maker under Linux, so further tweaking may be needed for other systems. * unix/tkUnixWm.c (UpdateGeometryInfo, UpdateSizeHints): Fixup comments and initialization for the minWidth, minHeight, maxWidth, maxHeight, width, and height members of the WmInfo struct. Check to ensure that a new toplevel window size is not larger than the maxsize or smaller than the minsize when updating the geometry at idle time. Pass new width and height values to the UpdateSizeHints method so that it can properly set the window min and max sizes for a window that cannot be resized by the user. This fixes a bug where the window resizes back to the original size when the user clicks on the window border. * win/tkWinWm.c (UpdateGeometryInfo): Fixup comments and initialization for the minWidth, minHeight, maxWidth, maxHeight, width, and height members of the WmInfo struct. Check to ensure that a new toplevel window size is not larger than the maxsize or smaller than the minsize when updating the geometry at idle time. [Patch 568861]
* * win/tkWinX.c (TkWinXInit): Move cleanup into an exit handlerhobbs2002-12-061-1/+6
| | | | | | * win/tkWin32Dll.c (DllMain): to ensure that it will be called * win/tkWinWm.c (TkWinWmCleanup): without having to unload the dll. Also reset the static int initialized on cleanup to allow reinit.
* * tests/wm.test: Add wm-transient-6.3 tomdejong2002-12-011-17/+9
| | | | | | | | | | | check that a transient remains withdrawn when it is first withdrawn and then turned into a transient. * unix/tkUnixWm.c: * win/tkWinWm.c: Replace WM_TRANSIENT_WITHDRAWN with WM_WITHDRAWN and set this flag whenever a window is explicitly withdrawn. This fixes the test case added above. [Bug 644356]
* Fix for Tk Bug #592201 "wm transient fails with two masters".jenglish2002-08-081-4/+4
|
* * win/tkWinFont.c: Additional changes to fix CONST warnings ondgp2002-08-051-5/+5
| | | | * win/tkWinWM.c: Windows due to latest patch. Tks Vince Darley.
* Objectifed wm. [Patch #564521]pspjuth2002-07-251-1347/+2310
|
* code cleanupvincentdarley2002-07-171-38/+80
|
* WinWm fixesvincentdarley2002-07-161-20/+216
|
* * Fixes for [Bug 581627].dgp2002-07-151-2/+2
| | | | | | | | * generic/tkTest.c: Test commands not supported on non-Unix platforms should not be defined there in the first place. * tests/constraints.tcl: Fixed "secureserver" constraint. * tests/unixWm.test: Some tests needed "unix" constraint. * win/tkWinWm.c: Typo in error message.
* * tests/winWm.test: Verify that both an unmappedmdejong2002-06-241-3/+13
| | | | | | | | | | | | | | | | | | | | and already mapped toplevel are raised and receive the focus when deiconified. * tests/wm.test: Add wm deiconify tests. Check that a toplevel that has never been mapped is not mapped by the deiconify command since it should be done at idle by MapFrame. * win/tkWinWm.c (Tk_WmCmd): Check the WM_NEVER_MAPPED flag while processing the wm deiconify command. The WM_UPDATE_PENDING flag should never be set when WM_NEVER_MAPPED is set, but double check so that the implementation is more explicit and matches the comment just above. Return without invoking TkWmRestackToplevel or TkSetFocusWin on a toplevel that has never been mapped. This fixes a bug where a toplevel is mapped with the wrong size and is then resized by the idle call to MapFrame. [Tk bug 233150]
* * win/tkWinWm.c (UpdateGeometryInfo): remove the check for a nullhobbs2002-06-241-3/+2
| | | | | | | wrapper introduced in r1.41 on 2002-06-15 because it prevented geometry setting from taking effect if the window was not on the screen. Another check may go in it's place as IsIconic and IsZoomed should not be passed NULL.
* * tests/wm.test: Remove invalid minsize test. Add updatemdejong2002-06-241-4/+4
| | | | | | | | | | calls to wm transient tests so that idle handlers get run. This is needed to get the tests to pass under Win32. * unix/tkUnixWm.c (WmWaitMapProc): Move the special transient withdrawn check into the if body to make it easier to set a breakpoint on this test inside a debugger. No functional changes. * win/tkWinWm.c (WmWaitVisibilityOrMapProc): Ditto.
* * doc/wm.n: TIP #95 Windows implementation andhobbs2002-06-221-51/+49
| | | | | | | | * mac/tkMacWm.c (Tk_WmCmd): docs with mac and unix stubs. * unix/tkUnixWm.c (Tk_WmCmd): * win/tkWinWm.c (Tk_WmCmd): * tests/unixWm.test: * tests/winWm.test: more wm attr tests will be needed.
* * tests/wm.test: Add tests to make sure a withdrawnmdejong2002-06-221-2/+29
| | | | | | | | | | | transient does not get remapped by state changes in the master. * unix/tkUnixWm.c (Tk_WmCmd, WmWaitMapProc): * win/tkWinWm.c (Tk_WmCmd, WmWaitVisibilityOrMapProc): Add a WM_TRANSIENT_WITHDRAWN flag that gets set by the withdraw, deiconify, or state wm subcommands. Check this flag before mapping a transient when processing a MapNotify event. [Tk bug 570764]
* * generic/tkInt.h:hobbs2002-06-151-34/+107
| | | | | | | * generic/tkCmds.c (Tk_WmObjCmd): * unix/tkUnixWm.c (Tk_WmCmd): * win/tkWinWm.c (Tk_WmCmd): changed wmTracing from being an int to just a bit in the flags variable (TK_DISPLAY_WM_TRACING)
* TIP #47 "Modifying Tk to Allow Writing X Window managers"jenglish2002-06-141-8/+23
| | | | | | | | (patch from Neil McKay). * Add CirculateRequest, Create, MapRequest, ResizeRequest, and ConfigureRequest event types; * Split TK_TOPLEVEL flag into TK_TOPLEVEL, TK_HAS_WRAPPER, TK_WIN_MANAGED, and TK_TOP_HIERARCHY.
* * changes: Add note about new transient behavior.mdejong2002-06-121-30/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tests/unixWm.test: Check that the WM_TRANSIENT_FOR property for a transient window is being cleared when the master is destroyed. * tests/wm.test: Source defs.tcl instead of using tcltest to match the rest of Tk's test files. Add new tests that ensure that a transient's state mirrors the state of the master. * unix/tkUnixWm.c (WmInfo, TkWmNewWindow, TkWmMapWindow, TkWmDeadWindow, Tk_WmCmd, WmWaitMapProc): Add numTransients member to WmInfo structure. Keep state of master and transient in sync using a callback that tracks MapNotify and UnmapNotify events. When the master is mapped, map the transient. When the master is unmapped or iconified, withdraw the transient. * win/tkWinWm.c (TkWmMapWindow, TkpWmSetState, TkWmDeadWindow, Tk_WmCmd, WmWaitVisibilityOrMapProc): Keep state of master and transient in sync using a callback that tracks MapNotify and UnmapNotify events. Move masterPtr check from TkpWmSetState into TkWmMapWindow to deal with WM_NEVER_MAPPED transients. Cleanup numTransients and the callback in TkWmDeadWindow. Cleanup numTransients and the callback only after deleting a master in wm transient command to avoid deleting the callback when an error is raised. Add support for MapNotify and UnmapNotify events to the master callback.
* * changes: Document [wm transient .t .t] error.mdejong2002-05-271-27/+29
| | | | | | | | | | | | | | * tests/wm.test: Check that setting a window as a transient of itself raises an error. Check that passing a non-toplevel window to the wm transient command uses the enclosing toplevel. * unix/tkUnixWm.c (Tk_WmCmd): Raise an error if the user tries to make a toplevel a transient of itself. * win/tkWinWm.c (Tk_WmCmd): Raise an error if the user tries to make a toplevel a transient of itself. Test for other error before checking for the transient self error.
* * mac/tkMacWm.c (Tk_WmCmd):mdejong2002-05-241-1/+21
| | | | | | | | | | | * tests/unixWm.test: Move wm transient checks over to wm.test so they will be run on all systems. * tests/wm.test: Add tests to check for error when an iconwindow is passed to the wm transient command. * unix/tkUnixWm.c (Tk_WmCmd): * win/tkWinWm.c (Tk_WmCmd): Raise an error if one of the windows passed to the wm transient command is an iconwindow for another toplevel.
* * mac/tkMacWm.c (TkWmStackorderToplevelWrapperMap):mdejong2002-05-231-2/+3
| | | | | | | | * tests/wm.test: Add embedded Window test case for the stackorder command. * unix/tkUnixWm.c (TkWmStackorderToplevelWrapperMap): * win/tkWinWm.c (TkWmStackorderToplevelWrapperMap): Ignore embedded windows during wm stackorder command.
* * doc/wm.n:mdejong2002-04-101-2/+2
| | | | | | | | | * mac/tkMacWm.c: * tests/wm.test: * unix/tkUnixWm.c: * win/tkWinWm.c: Update wm stackorder usage message to make it clear that either 1 or 3 arguments are required. [Bug 540013]
* * Updated callers of Tcl_SplitList and Tcl_Merge.dgp2002-01-251-4/+4
| | | | | | | | | * Updated callers of Tcl_GetStringResult. Rewrote PrintScrollFractions to ScrollFractions to stop scribbling directly on interp->result. * Updated callers of Tcl_GetVar, Tcl_GetVar2 * Updated callers of Tcl_SplitPath, Tcl_JoinPath, and Tcl_TranslateFileName.
* * win/tkWinWm.c (InitWindowClass): corrected init routines tohobbs2001-12-281-41/+56
| | | | | allow unicode in window titles on Windows (for Win2K/XP). (TkWmStackorderToplevel): Corrected casts to enable debug compile
* Add TK patch 481148 to implement TIP 74, themdejong2001-12-041-3/+271
| | | | | | | | | | | | | | | | | | | | | | | | | | wm stackorder command. * doc/winfo.n: Update documentation for the winfo children command to indicate that top-level windows are not returned in stacking order. * doc/wm.n: Add documentation for wm stackorder. * generic/tkInt.decls (TkWmStackorderToplevel): Add decl for new function. * generic/tkIntDecls.h: Regen. * generic/tkStubInit.c: Regen. * tests/unixWm.test: Add stackorder command to test for wm command usage message. * tests/wm.test: Add new set of tests for generic window manager methods. * unix/tkUnixWm.c (Tk_WmCmd, TkWmStackorderToplevelWrapperMap, TkWmStackorderToplevel): Add unix implementation of new wm stackorder command. * win/tkWinWm.c (Tk_WmCmd, TkWmStackorderToplevelEnumProc, TkWmStackorderToplevelWrapperMap, TkWmStackorderToplevel): Add windows implementation of new wm stackorder command.
* implementation of TIP 63 (accepted) -compound option to menu items.macosx_8_4_branchpointtmh2001-10-121-2/+4
|
* * win/tkWinWm.c (WinSetIcon): fixed SetClassLong for 64bit support.hobbs2001-09-211-3/+19
|