summaryrefslogtreecommitdiffstats
path: root/macosx/tkMacOSXWm.c
Commit message (Collapse)AuthorAgeFilesLines
* * macosx/tkMacOSXDebug.c: add TkMacOSX prefix to leftover macosx-privatedas2006-10-311-6/+6
| | | | | | | | | | | | * macosx/tkMacOSXDebug.h: global symbols without Tk prefix; ifdef out * macosx/tkMacOSXEmbed.c: currently unused debug procs. * macosx/tkMacOSXEvent.c: * macosx/tkMacOSXInt.h: * macosx/tkMacOSXCarbonEvents.c: * macosx/tkMacOSXSubwindows.c: * macosx/tkMacOSXWm.c: FossilOrigin-Name: ad3d3ba0c1ba9a4c831ca593aff05fe2adb31ee0
* fix logic bug in previous commitdas2006-09-111-9/+13
| | | FossilOrigin-Name: 8f372f48067d166b6b7cede68b5e07234bba8b1d
* * macosx/tkMacOSXWm.c (TkMacOSXMakeRealWindowExist): revert part ofdas2006-09-111-34/+61
| | | | | | | | | | | | | | | | | | 2006-05-16 change that had set overrideredirect windows to not become activated by the window manager, as this prevented interaction with native widgets in such windows [Bug 1472624]; apply changes to carbon window attributes even if native window has already been created. * macosx/tkMacOSXKeyEvent.c (TkMacOSXProcessKeyboardEvent): fix app * macosx/tkMacOSXMenu.c (DrawMenuBarWhenIdle): menu item key shortcuts * macosx/tkMacOSXInt.h: when custom ".apple" menu is installed. * library/demos/widget: on TkAqua, don't install file menu with single quit menu item, as the application menu already has a quit item. * macosx/tkMacOSXColor.c: fix building on Mac OS X 10.2. FossilOrigin-Name: bc2ad66b9159d170e032a577ebc06639035d85ae
* whitespacedas2006-09-101-2/+2
| | | FossilOrigin-Name: 99b6657a1582c72f686889e863ec051f1066b3e5
* * unix/tcl.m4 (Darwin): add support for --enable-64bit on x86_64, fordas2006-08-181-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | universal builds including x86_64, for 64-bit CoreFoundation on Leopard and for use of -mmacosx-version-min instead of MACOSX_DEPLOYMENT_TARGET. * unix/configure.in (Darwin): remove 64-bit arch flags from CFLAGS for combined 32-bit and 64-bit universal builds, as neither TkAqua nor TkX11 can be built for 64-bit at present. * unix/configure: autoconf-2.13 * macosx/README: updates for x86_64 support in Tcl. * macosx/tkMacOSXInit.c (TkpInit): when available, use public TransformProcessType() API instead of CPSEnableForegroundOperation() SPI to notify the window server that we are a GUI application. * macosx/tkMacOSXWm.c (WmAttrGetTitlePath): use HIWindow API on >=Tiger. * macosx/tkMacOSXMouseEvent.c (GenerateToolbarButtonEvent): * macosx/tkMacOSXMenus.c (GenerateEditEvent): * macosx/tkMacOSXMenu.c (MenuSelectEvent): bzero XVirtualEvent structure before use to ensure all fields are initialized. [Bug 1542205] FossilOrigin-Name: 396a316f6af024382dcb9064c41f393a3acfbecc
* * macosx/tkMacOSXWm.c (WmAttributesCmd): correct OS X result forhobbs2006-08-171-45/+44
| | | | | | [wm attributes $top]. FossilOrigin-Name: 9fd34ee76faa097e780e6f1bfec2081982b979ef
* * macosx/tkMacOSXWm.c (TkWmMapWindow): fix incorrect values of wmInfodas2006-07-241-10/+22
| | | | | | | | parentWidth/Height for toplevels by recalculating them once the window is mapped (i.e. once the window&structure sizes are known). [Bug 1358663] (ParseGeometry): sync with ParseGeometry in tkUnixWm.c/tkWinWm.c. FossilOrigin-Name: 2367230fe070eff0d3e2e882b73f345d9b65fbde
* * macosx/tkMacOSXWm.c (WmAttributesCmd, WmIconbitmapCmd): add supportdas2006-07-201-25/+27
| | | | | | | | | | | | | | | | | | | | | | for weakly importing symbols not available on OSX 10.2 or 10.3, enables binaires built on later OSX versions to run on earlier ones. * macosx/README: document how to enable weak-linking; cleanup. * unix/configure.in: enforce requirement of OSX 10.2 for TkAqua; move * unix/tcl.m4: Darwin specific checks & defines that are only relevant to the tcl build out of tcl.m4; restrict framework option to Darwin; cleanup quoting. * unix/configure: autoconf-2.13 * macosx/tkMacOSXKeyEvent.c: ifdef out diagnostic messages to stderr. * macosx/tkMacOSXEvent.h: standardize MAC_OS_X_VERSION_MAX_ALLOWED * macosx/tkMacOSXMenu.c: checks per QA1316, ensure define can be * macosx/tkMacOSXMenubutton.c: overriden on command line (from default * macosx/tkMacOSXMenus.c: of current OS version). * macosx/tkMacOSXMouseEvent.c: * macosx/tkMacOSXWm.c: FossilOrigin-Name: 9b231103bdd2748eed2a61c012939a07be6a7412
* fix building on Jaguar: move defines of newer OS constants to top, fix warningsdas2006-05-161-13/+16
| | | FossilOrigin-Name: d55682aa32be7de7421ffc99b0a758b38adc9f6e
* * macosx/tkMacOSXWindowEvent.c (TkMacOSXGenerateFocusEvent): don't senddas2006-05-161-14/+55
| | | | | | | | | | | | | | | focus events to windows of class help or to overrideredirect windows. [Bug 1472624] * macosx/tkMacOSXWm.c: set overrideredirect windows to not become activated by the window manager and to not receive OS activate events (should make them behave more like on other platforms); use modern window class API for overrideredirect and transient windows; set the default class of overrideredirect windows to 'simple' rather than 'plain' (i.e. no window frame); add missing Panther and Tiger window attributes to [::tk::unsupported::MacWindowStyle]. FossilOrigin-Name: 79e850106c213e8772913d05bd0f143b4bb174f7
* * macosx/tkMacOSXWm.c (TkWmMapWindow, InitialWindowBounds): fix use ofdas2006-04-281-53/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | potentially stale window position in initial configure event on first map of a window. [Bug 1476443] (TkMacOSXWindowOffset): use modern GetWindowStructureWidths API. * macosx/tkMacOSXInt.h: * macosx/tkMacOSXMouseEvent.c (TkGenerateButtonEventForXPointer): new internal function to generate button events for current pointer directly, without requiring prior call to XQueryPointer(). * macosx/tkMacOSXMouseEvent.c (XQueryPointer): implement return of window-local pointer position. * macosx/tkMacOSXInt.h: use improvements above to avoid calls to * macosx/tkMacOSXKeyEvent.c: GlobalToLocal() when the current port might * macosx/tkMacOSXMenu.c: not be set correctly. May fix [Bug 1243318] * macosx/tkMacOSXMenus.c: * macosx/tkMacOSXScale.c: * macosx/tkMacOSXScrlbr.c: * tkAboutDlg.r: update copyright. * macosx/tkMacOSXCarbonEvents.c: sync with HEAD * macosx/tkMacOSXDebug.c: * macosx/tkMacOSXDebug.h: * macosx/tkMacOSXDraw.c: * macosx/tkMacOSXEvent.c: * macosx/tkMacOSXEvent.h: * macosx/tkMacOSXFont.h: * macosx/tkMacOSXInit.c: * macosx/tkMacOSXInt.h: * macosx/tkMacOSXKeyEvent.c: * macosx/tkMacOSXMenu.c: * macosx/tkMacOSXMenubutton.c: * macosx/tkMacOSXMouseEvent.c: * macosx/tkMacOSXSend.c: * macosx/tkMacOSXTest.c: * macosx/tkMacOSXWindowEvent.c: * macosx/tkMacOSXWm.c: FossilOrigin-Name: 7f39d25fec1969a2fa141c07643cc01c1945f505
* * macosx/tkMacOSXEmbed.c:das2006-04-221-7/+61
| | | | | | | | * macosx/tkMacOSXWm.c: * tests/constraints.tcl: * tests/wm.test: sync with 2006-04-18 commit to HEAD. (darley) FossilOrigin-Name: f19e6c99118ebb086666a56cb1ce92862bd8c4da
* * macosx/tkMacOSXInt.h: Implemented 'zoomed' window statedas2006-04-111-70/+118
| | | | | | | | * macosx/tkMacOSXWindowEvent.c: handling for TkAqua, via titlebar * macosx/tkMacOSXWm.c: widget clicks as well as [wm state]. * doc/wm.n: [Bug 1073456] FossilOrigin-Name: 52e0c8cba697c657842c1e3fdfb39a43d1d121b5
* * macosx/tkMacOSXWm.c (TkSetWMName, TkMacOSXMakeRealWindowExist):das2006-04-101-15/+8
| | | | | | | allow empty name for toplevels, remove bogus initial window name. [Bug 1450800] FossilOrigin-Name: b8d4d844b6248cf2908c447c8cfb8c5da2d647fd
* * macosx/tkMacOSXWm.c (WmResizableCmd): propagate window attributedas2006-04-091-6/+16
| | | | | | changes to Carbon window manager. [FR 1467004] FossilOrigin-Name: d74d8edcdb6959b3911b861e772476e3cf806471
* * macosx/tkMacOSXMouseEvent.c (TkMacOSXProcessMouseEvent): fix returndas2006-04-071-3/+3
| | | | | | | | | | | | | | | values, implement window dragging & growing in background (with Command key down) and by fronting clicks, use correct button & modifier state API when application is in background (also in TkMacOSXButtonKeyState). * macosx/tkMacOSXWm.c (TkMacOSXGrowToplevel): ensure QD port is set correctly before using API relying on it. * macosx/tkMacOSXMouseEvent.c: now that [wm attributes -titlepath] works correctly, add OS support for dragging proxy icons and using the titlepath menu. FossilOrigin-Name: 4a4b61c7d7c287e538bceb09e46b2dbd0ccae655
* * macosx/tkMacOSXWm.c (WmAttributesCmd, WmIconbitmapCmd): fix errorsdas2006-04-061-35/+69
| | | | | | | | | | | in setting/removing window proxy icons via [wm attributes -titlepath] and [wm iconbitmap], use HIWindow API on Tiger or later. [Bug 1455241] * unix/tcl.m4: remove TCL_IO_TRACK_OS_FOR_DRIVER_WITH_BAD_BLOCKING define on Darwin. [Tcl Bug 1457515] * unix/configure: autoconf-2.13 FossilOrigin-Name: 8816101c61bf8a0cce79169160c8c28111d71799
* * macosx/tkMacOSX.h: Cleaned up & rationalized order ofdas2006-03-281-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * macosx/tkMacOSXBitmap.c: #includes of tk and carbon headers; * macosx/tkMacOSXButton.c: sync whitespace, comments & minor * macosx/tkMacOSXCarbonEvents.c: changes with HEAD. * macosx/tkMacOSXClipboard.c: * macosx/tkMacOSXColor.c: * macosx/tkMacOSXConfig.c: * macosx/tkMacOSXCursor.c: * macosx/tkMacOSXDialog.c: * macosx/tkMacOSXDraw.c: * macosx/tkMacOSXEmbed.c: * macosx/tkMacOSXEntry.c: * macosx/tkMacOSXEvent.c: * macosx/tkMacOSXEvent.h: * macosx/tkMacOSXFont.c: * macosx/tkMacOSXFont.h (new file): * macosx/tkMacOSXHLEvents.c: * macosx/tkMacOSXInit.c: * macosx/tkMacOSXInt.h: * macosx/tkMacOSXKeyEvent.c: * macosx/tkMacOSXKeyboard.c: * macosx/tkMacOSXMenu.c: * macosx/tkMacOSXMenubutton.c: * macosx/tkMacOSXMenus.c: * macosx/tkMacOSXMouseEvent.c: * macosx/tkMacOSXNotify.c: * macosx/tkMacOSXRegion.c: * macosx/tkMacOSXScale.c: * macosx/tkMacOSXScrlbr.c: * macosx/tkMacOSXSend.c: * macosx/tkMacOSXSubwindows.c: * macosx/tkMacOSXTest.c: * macosx/tkMacOSXWindowEvent.c: * macosx/tkMacOSXWm.c: * macosx/tkMacOSXWm.h: * macosx/tkMacOSXXStubs.c: FossilOrigin-Name: 761084f876d96b7924531ac0c88d6a2a4c7ec357
* * generic/tkCmds.c: Purged remaining references todgp2006-03-131-2/+1
| | | | | | | | | * macosx/tkMacOSXPort.h: errno, and errno.h. Standardized * macosx/tkMacOSXWm.c: the logic for using header files from * macosx/tkMacOSXWm.h: the compat directory. Thanks Joe * unix/tkUnixPort.h: English for the patch. [Patch 1445404] FossilOrigin-Name: 08294d431681c731c304fe1312f89bf3baaada1c
* * generic/tk.decls: fix signature of TkMacOSXInvalClipRgnsdas2006-02-091-3/+3
| | | | | | | | | | | | * generic/tkPlatDecls.h: to use Tk_Window instead of internal * macosx/tkMacOSXSubwindows.c: type TkWindow (which led to any include * macosx/tkMacOSXWindowEvent.c: of public header tkMacOSX.h requiring * macosx/tkMacOSXWm.c: prior include of tkInt.h). * generic/tk.h: move TkAqua specific REDO_KEYSYM_LOOKUP define * macosx/tkMacOSXPort.h: out of tk.h into platform header. FossilOrigin-Name: 17f6ab80d73813018e189362ff776b6ce20689c7
* 2005-11-16 Don Porter <dgp@users.sourceforge.net>dgp2005-12-011-5/+5
| | | | | | | | | | | | | *** 8.4.12 TAGGED FOR RELEASE *** * changes: Update changes for 8.4.12 release * mac/tkMacWm.c: Restored consistent error checking and * macosx/tkMacOSXWm.c: messages among different platform's * tests/wm.test: [wm grid] commands. [Bug 1323972]. * win/tkWinWm.c: FossilOrigin-Name: be2be9674677032fcecf7db34d56907073bff258
* * unix/tcl.m4 (Darwin): add 64bit support, check for Tiger copyfile(),das2005-11-271-74/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | add CFLAGS to SHLIB_LD to support passing -isysroot in env(CFLAGS) to configure (flag can't be present twice, so can't be in both CFLAGS and LDFLAGS during configure), don't use -prebind when deploying on 10.4, define TCL_IO_TRACK_OS_FOR_DRIVER_WITH_BAD_BLOCKING (rdar://3171542). (SC_ENABLE_LANGINFO, SC_TIME_HANDLER): add/fix caching, fix obsolete autoconf macros. Sync with tk/unix/tcl.m4, sync whitespace with HEAD. * unix/configure.in: fix obsolete autoconf macros, sync gratuitous formatting/ordering differences with tcl/unix/configure.in. * unix/Makefile.in: add CFLAGS to wish/tktest link to make executable linking the same as during configure (needed to avoid loosing any linker relevant flags in CFLAGS, in particular flags that can't be in LDFLAGS). Avoid concurrent linking of wish and compiling of tkTestInit.o during parallel make, fix dependencies and flags for building tkMacOSXInit.o (checkstubs, checkexports): dependency and Darwin fixes * macosx/tkMacOSXEvent.c (TkMacOSXProcessEvent): * macosx/tkMacOSXEvent.h: * macosx/tkMacOSXMouseEvent.c (TkMacOSXProcessMouseEvent): * macosx/tkMacOSXCarbonEvents.c: install standard application event handler, add & call functions to start and stop carbon even timer that runs the tcl event loop periodically during a nested carbon event loop in the toolbox (e.g. during menutracking) to ensure tcl timers etc continue to fire, register app event handler for menu tracking and HI command carbon events, move menu event handling to new handlers for those carbon events, no longer register for/handle appleevent carbon event (now dealt with by standard application event handler), event debugging code dynamically acquires carbon event debugging functions to allow use on Tiger where they are no longer exported from HIToolbox. * macosx/tkMacOSXFont.c (TkMacOSXUseAntialiasedText): * macosx/tkMacOSXKeyEvent.c (GetKeyboardLayout): * macosx/tkMacOSXCarbonEvents.c (TkMacOSXInitCarbonEvents): * macosx/tkMacOSXInit.c: * macosx/tkMacOSXInt.h: abstract common code to dynamically acquire address of a named symbol (from a loaded dynamic library) into new function TkMacOSXGetNamedSymbol() and macro TkMacOSXInitNamedSymbol. * macosx/tkMacOSXMenu.c (TkpNewMenu): * macosx/tkMacOSXMenubutton.c (MenuButtonInitControl): * macosx/tkMacOSXMenus.c (TkMacOSXHandleMenuSelect): switch to modern utf8 aware menu manager API, remove obsolete code, add error handling. * macosx/tkMacOSXMouseEvent.c: define OSX 10.3 or later only constants if necessary to allow compilation on OSX 10.2 * macosx/tkMacOSXWm.c (UpdateSizeHints): remove code that is never executed. * generic/tk.h: add/correct location of version numbers in macosx files. * generic/tkInt.h: clarify fat compile comment. * macosx/Wish.pbproj/default.pbxuser (new file): * macosx/Wish.pbproj/jingham.pbxuser: * macosx/Wish.pbproj/project.pbxproj: sync with HEAD. * macosx/buildTkConfig.tcl (removed): remove obsolete build files. * macosx/README: clarification/cleanup, sync with HEAD, document universal (fat) builds via CFLAGS (i.e. ppc and i386 at the same time). * macosx/Makefile: add support for reusing configure cache, build target fixes. * generic/tkMenu.c: * macosx/tkMacOSXButton.c: * macosx/tkMacOSXDebug.c: * macosx/tkMacOSXDebug.h: * macosx/tkMacOSXDialog.c: * macosx/tkMacOSXDraw.c: * macosx/tkMacOSXEntry.c: * macosx/tkMacOSXMenu.c: * macosx/tkMacOSXMouseEvent.c: * macosx/tkMacOSXXStubs.c: * macosx/tkMacOSXSubwindows.c: * xlib/xgc.c: declare functions and globals used only in own file as static, #ifdef out a few Xlib and aqua functions that are never called (sync with HEAD). * macosx/tkMacOSXPort.h: * generic/tkInt.decls: correct signature of TkMacOSXHandleMenuSelect, add XSync to aqua Xlib stubs. * generic/tkTest.c: #ifdef unix only declarations. (TestmetricsCmd): unify win and mac implementation. * generic/tkTextDisp.c: * generic/tkTextBTree.c: * macosx/tkMacOSXInit.c: * macosx/tkMacOSXKeyEvent.c: * macosx/tkMacOSXWindowEvent.c: * macosx/tkMacOSXXStubs.c: fix gcc 4 warnings. * macosx/tkMacOSXNotify.c: * macosx/tkMacOSXTest.c: sync with HEAD. * generic/tkIntPlatDecls.h: * generic/tkIntXlibDecls.h: * generic/tkStubInit.c: * unix/configure: regen. FossilOrigin-Name: e15439740934613543af9b3024f2456fd10812eb
* * macosx/tkMacOSXMouseEvent.c (TkMacOSXProcessMouseEvent): check ifdas2005-09-101-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | process is in front on MouseDown, otherwise request process activation from BringWindowForward() via new isFrontProcess param. * macosx/tkMacOSXCarbonEvents.c (TkMacOSXInitCarbonEvents): register our event handler on the dispatcher target for all carbon events of interest to TkAqua; this replaces event processing directly from the event queue and thus allows to capture events that are syntesized by Carbon and sent directly to the dispatcher and not to the event queue. * macosx/tkMacOSXEvent.c: remove TkMacOSXCountAndProcessMacEvents(), rename ReceiveAndProcessEvent() to TkMacOSXReceiveAndProcessEvent(). (TkMacOSXReceiveAndProcessEvent): remove tk event processing before sending events to the dispatcher, all events of interest are now processed in our dispatcher target event handler. * macosx/tkMacOSXNotify.c (CarbonEventsCheckProc): dispatch events directly via TkMacOSXReceiveAndProcessEvent(), but dispatch no more than four carbon events at one time to avoid starving other event sources. * macosx/tkMacOSXEvent.c: formatting cleanup, move XSync() to XStubs, * macosx/tkMacOSXEvent.h: removed obsolete kEventClassWish handling. * macosx/tkMacOSXXStubs.c * macosx/tkMacOSXButton.c: conditionalize all debug message printing to * macosx/tkMacOSXCursor.c: stderr via TK_MAC_DEBUG define. * macosx/tkMacOSXDebug.c: * macosx/tkMacOSXDebug.h: * macosx/tkMacOSXDialog.c: * macosx/tkMacOSXEvent.c: * macosx/tkMacOSXInit.c: * macosx/tkMacOSXKeyEvent.c: * macosx/tkMacOSXMenu.c: * macosx/tkMacOSXMenubutton.c: * macosx/tkMacOSXScale.c: * macosx/tkMacOSXWindowEvent.c: * macosx/tkMacOSXWm.c: * unix/configure.in: define TK_MAC_DEBUG on aqua when symbols enabled. * unix/configure: autoconf-2.13 * library/listbox.tcl: corrected comments. * library/text.tcl: * xlib/xcolors.c: fixed warning FossilOrigin-Name: cb862bddc15fa6218f1a4097a2146408d8771c36
* * macosx/tkMacOSXCarbonEvents.c (new): moved carbon events code intodas2005-08-091-41/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * macosx/tkMacOSXHLEvents.c: new file like on HEAD, * macosx/tkMacOSXInit.c (TkpInit): initialize carbon event handlers * macosx/tkMacOSXInt.h: in TkpInit(), add new source * unix/Makefile.in: file to Makefile.in. * macosx/tkMacOSXCarbonEvents.c (AppEventHandlerProc): handle carbon events sent directly to application event target via the general TkMacOSXProcessEvent() in the same way as events posted to the event loop. Moved existing app event handlers to tkMacOSXWindowEvent.c. (TkMacOSXInitCarbonEvents): register our application event handler for kEventWindowExpanded events to deal with uncollapsing from the dock. * macosx/tkMacOSXEvent.h: made TkMacOSXProcessEvent() non-static, added * macosx/tkMacOSXEvent.c: new interp field to TkMacOSXEvent struct for use by app event handler. * macosx/tkMacOSXMouseEvent.c (TkMacOSXProcessMouseEvent): retrieve current window, partCode, modifiers and local cursor position from carbon mouse event if possible. Use new static GenerateButtonEvent() taking a MouseEventData struct instead of TkGenerateButtonEvent() to avoid recomputing already known values. Move process activation on MouseDown into BringWindowForward() to allow clicking on window titlebar widgets without activating process. Move code dealing with clicks in window titelbar into separate function HandleWindowTitlebarMouseDown() to avoid code duplication. Avoid repeated calls to TkMacOSXGetXWindow() by storing result in MouseEventData struct. (TkMacOSXButtonKeyState, XQueryPointer): try to get button and modifier state from currently processed carbon event (to avoid unnecessary IPC with the window server), otherwise use modern carbon API to get this info instead of Button() and GetKeys(); only retrieve info caller asks for (via non-NULL ptr passed to XQueryPointer). (ButtonModifiers2State): new static function converting carbon button and modifier state into tk state, allows detection of more than 3 mouse buttons (tk supports up to 5) and of NumLock and Fn modifier keys (NumLock is mapped to Mod3 and Fn to Mod4). * macosx/tkMacOSXWindowEvent.c (TkMacOSXProcessApplicationEvent): handle kEventWindowExpanded event to deal with window uncollapsing from the dock by generating tk Map event, handle kEventAppHidden and kEventAppShown events (moved here from tkMacOSXCarbonEvents.c). * macosx/tkMacOSXSubwindows.c (XUnmapWindow): only hide window when it is not iconified to avoid window flashing on collapse. * macosx/tkMacOSXWm.c: replaced Tk_DoWhenIdle() by Tcl_DoWhenIdle(). (TkMacOSXZoomToplevel): remove call to TrackBox(), now done in HandleWindowTitlebarMouseDown() in tkMacOSXMouseEvent.c. (TkpWmSetState): avoid window flashing on collapse by unmapping after calling CollapseWindow(); only uncollapse window if it is collapsed. * generic/tkInt.decls: changed TkMacOSXZoomToplevel() signature. * generic/tkIntPlatDecls.h: * macosx/tkMacOSXKeyEvent.c (TkMacOSXProcessKeyboardEvent): only call GetMenuItemCommandID() on KeyDown or KeyRepeat events. * macosx/tkMacOSXMenu.c (ReconfigureMacintoshMenu): remove call to obsolete AppendResMenu() API. * macosx/tkMacOSXKeyEvent.c: replaced all direct uses of expensive * macosx/tkMacOSXMenu.c: GetMouse() and TkMacOSXButtonKeyState() * macosx/tkMacOSXMenus.c: APIs by calls to XQueryPointer() * macosx/tkMacOSXMouseEvent.c: * macosx/tkMacOSXScale.c: * macosx/tkMacOSXScrlbr.c: * macosx/tkMacOSXWm.c: * macosx/tkMacOSXDialog.c: replaced use of FrontNonFloatingWindow() * macosx/tkMacOSXKeyEvent.c: by ActiveNonFloatingWindow() as * macosx/tkMacOSXMenu.c: recommended by Carbon docs. * macosx/tkMacOSXMenus.c: * macosx/tkMacOSXSubwindows.c: * macosx/tkMacOSXWm.c: * macosx/tkMacOSXDialog.c: fixed warnings * macosx/tkMacOSXTest.c: * macosx/tkMacOSXCarbonEvents.c: added CVS Id line to file header. * macosx/tkMacOSXDebug.c: * macosx/tkMacOSXDebug.h: * macosx/tkMacOSXEntry.c: * macosx/tkMacOSXEvent.h: * macosx/tkMacOSXKeyEvent.c: * macosx/tkMacOSXMouseEvent.c: * macosx/tkMacOSXWindowEvent.c: * macosx/tkMacOSXWm.h: * macosx/tkMacOSXEmbed.c: replaced all uses of panic() with Tcl_Panic() * macosx/tkMacOSXFont.c: (sync with HEAD). * macosx/tkMacOSXMenus.c: * macosx/tkMacOSXSubwindows.c: * macosx/tkMacOSXWm.c: * macosx/tkMacOSXXStubs.c: * macosx/tkMacOSXInt.h: sync with HEAD changes of 2005-03-14. * macosx/tkMacOSXSubwindows.c: * macosx/tclets.r (removed): sync with HEAD. * macosx/tkMacOSXScale.c: * macosx/tkMacOSXPort.h: * library/demos/menu.tcl: removed errant '}'. FossilOrigin-Name: f858b664f1ed7fa0bbcd62623dc11b829177eb38
* * macosx/tkMacOSXWm.c (TkpWmSetState): add IsWindowCollapsed checkhobbs2005-07-281-8/+20
| | | | | | | | | | | | | | before calling CollapseWindow. (WmResizableCmd): adjust kWindow*Attributes according to resize parameters. * macosx/tkMacOSXMouseEvent.c (TkMacOSXProcessMouseEvent): handle inToolbarButton action (generates <<ToolbarButton>> virtual event) and correct inCollapseBox to properly track the event (waiting for buttonrelease) and generate the Unmap event (Map event on redisplay still missing). FossilOrigin-Name: 08ed5bae38a23dae6c118a7cc71e30ea20e59cfb
* * generic/tkInt.h: Swap TkUnsupported1Cmd for TkUnsupported1ObjCmd.hobbs2005-07-281-401/+360
| | | | | | | | | | | | | | * generic/tkWindow.c: Ditto. (neil madden) * macosx/tkMacOSXInt.h: Added TkMacOSXWindowClass decl * macosx/tkMacOSXWm.c (TkMacOSXWinStyle) New function. (TkUnsupported1ObjCmd): New function, replaces the un-objectified version of the command, recognizes more classes and attributes. (TkMacOSXWindowClass): private function to return OS X class of a Tk window. * macosx/tkMacOSXSubwindows.c (XMapWindow, XUnmapWindow): recognize special show/hide functions for sheets FossilOrigin-Name: e8bd5694961995b6db3b4bdd7992c8471bfce607
* * macosx/tkMacOSXWm.c (TkWmStackorderToplevelWrapperMap, ↵mdejong2005-06-011-6/+9
| | | | | | | | | | | | | TkWmStackorderToplevel): * unix/tkUnixWm.c (TkWmStackorderToplevelWrapperMap, TkWmStackorderToplevel): * win/tkWinWm.c (TkWmStackorderToplevelWrapperMap, TkWmStackorderToplevel): Fix panic in wm stackorder when a toplevel is created on another diplay. The code now ignores toplevels that have a display that does not match the display of the parent window. [Bug 1152809] FossilOrigin-Name: 0ff7ccce4d05088c52c32e7239d7b0a3595ec9f5
* * macosx/tkMacOSXInit.c:das2005-05-141-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * macosx/tkMacOSXNotify.c: introduction of new tcl notifier based on CFRunLoop allows replacement of the custom TkAqua notifier by a standard tcl event source. Removes requirement of threaded tcl core for TkAqua, allows to stub-link TkAqua against Tcl by removing use of the unstubbed TclInitNotifier & TclFinalizeNotifier. [Tcl Patch 1202052] * macosx/Wish.pbproj/project.pbxproj: stub-link TkAqua: build with USE_TCL_STUBS and link against libtclstub instead of Tcl.framework, unexport libtclstub symbols from Tk to avoid duplicate symbol warnings when linking with both Tcl and Tk, fixes for gcc4.0 warnings. * macosx/tkMacOSXBitmap.c: * macosx/tkMacOSXButton.c: * macosx/tkMacOSXDialog.c: * macosx/tkMacOSXFont.c: * macosx/tkMacOSXHLEvents.c: * macosx/tkMacOSXInit.c: * macosx/tkMacOSXKeyboard.c: * macosx/tkMacOSXMenu.c: * macosx/tkMacOSXMenubutton.c: * macosx/tkMacOSXWm.c: * macosx/tkMacOSXXStubs.c: fixed gcc 4.0 warnings. * unix/tcl.m4: sync with tcl * unix/configure: autoconf-2.13 FossilOrigin-Name: dcd4b7c76aadc90b07fa00b4054d3c1665d43593
* Fix for 1124237 and the mysterious "sometimes buttons don't draw" bug.wolfsuit2005-03-121-2/+3
| | | FossilOrigin-Name: 070826cbe413fd69e51b9ff8ea9fc86f22d929b0
* * generic/tkMain.c:das2004-11-111-10/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * macosx/tkMacOSXAppInit.c (removed): * macosx/Wish.pbproj/project.pbxproj: * macosx/tkMacOSXInit.c: * macosx/tkMacOSXInt.h: changes to make TkAqua dynamically loadable, enabling [package require Tk] from tclsh. Startup code from tkMacOSXAppInit.c moved into tkMacOSXInit.c, added code that notifies the window server that an unbundled executable is a full GUI application after loading Tk. [Patch 1035348] * doc/wm.n: documented [wm attributes] on Mac OS X. [Bug 606665] * macosx/tkMacOSXWm.c: implemented TIP 222 [wm attributes -alpha] on Mac OS X. [Patch 892194] WmIconbitmapCmd: adopted FSRef changes from [wm atttrs -titlepath]. * macosx/tkMacOSXButton.c: * macosx/tkMacOSXMenus.c: * macosx/tkMacOSXRegion.c: * macosx/tkMacOSXSubwindows.c: synced spacing/formatting with HEAD. * macosx/tkMacOSXMouseEvent.c: endianness fixes. * macosx/Wish.pbproj/project.pbxproj: corrected path to html help inside framework. * macosx/Makefile: prevent parallel make from building several targets at the same time. Ensure that xcodebuild will use Wish.pbproj project even if a .xcode project is also present. FossilOrigin-Name: c98b6fdb7f5872d871a0db03acb87ae211e8bc17
* Backport of 8.5 wm iconphoto that added support for Tk photohobbs2004-10-051-3/+74
| | | | | | | | | | * 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] FossilOrigin-Name: 5b4eed7504f9bd5f37587cecc603fd19bba57c39
* Finish the implementation of the CG version of the X Drawing layer.wolfsuit2004-07-251-57/+150
| | | | | | | Add support for returning values for the wm attributes commands, and use FSRef's rather than FSSpec's. FossilOrigin-Name: ca2ae6b80f457379c86b77bf97f43d4b1fd6adfd
* Backport Mac OS X specific fixes from TOT. See ChangeLog for details.wolfsuit2004-02-161-5/+5
| | | | | | | | | In tk_getOpenFile filters, handle the case where you have a Macintosh file type and the files have no filetype. Fix various formatting nits. FossilOrigin-Name: 834854dbdc52160c4050e54c91e1ffa91c9efbb0
* Applying Patch 112997, and hunting down a couple more places where we werewolfsuit2004-02-141-16/+14
| | | | | | still using Pascal interfaces. FossilOrigin-Name: 3ee17e34a3340a8a186f2a6dd80e56a2a414b0f7
* * macosx/tkMacOSXWm.c (TkWmStackorderToplevelWrapperMap): Addcc_benny2003-09-261-5/+7
| | | | | | GetWindowFromPort() [Bug #812415]; make function static. FossilOrigin-Name: ddfdc1577b54dfa045f49a159b5f8c87e007ac85
* * macosx/tkMacOSXHLEvents.c: fixed conversion of apple eventdas2003-02-251-2/+1
| | | | | | | | | | | | | | parameters to posix style path names. [Bug #621672] (steffen, Benjamin Riefenstahl) * macosx/tkMacOSXDialog.c: * macosx/tkMacOSXWm.c: * macosx/Wish.pbproj/project.pbxproj: * macosx/tkMacOSXUtil.c (removed): * macosx/tkMacOSXUtil.h (removed): removed all references to tkMacOSXUtil.{c,h}, made obsolete by the patch above. [Bug #621672] FossilOrigin-Name: 80d818b155fb87550f8e9fac8968471bb5d98f10
* 2003-02-05 Fred Fish <fnf@intrinsity.com>hobbs2003-02-091-2/+2
| | | | | | | * macosx/tkMacOSXWm.c (Tk_SetGrid): Fix precedence problem with * mac/tkMacWm.c (Tk_SetGrid): '==' and '|'. FossilOrigin-Name: adf40dd7c68f4b579eab98be488374ee4e3bb685
* In TkpIsWindowFloating, check for NULL before passing the wRefwolfsuit2002-09-231-1/+6
| | | | | | to GetWindowClass. FossilOrigin-Name: cd3e4dcb7653ee95873c3ae331ae7819d6023987
* * library/tk.tcl: use command instead of control on Aqua bindings.hobbs2002-09-091-2/+12
| | | | | | | | | | | | | | | | | | | | Force dialogs to appear below fixed native Mac menubar. * macosx/tkMacOSXKeyEvent.c: * macosx/tkMacOSXKeyboard.c: Keypress/release events for pure modifier keys were not being passed to Tk. Deadkey presses were inserting null characters into text windows. Now they do nothing. (Still not ideal, but better than before!) * macosx/tkMacOSXMenu.c: Allow more than 200 menus to exist - increased to 2000. * macosx/tkMacOSXMouseEvent.c: Bad interactions between floating windows and ordinary ones. Ensure that local<->global coordinate transformations are wrt to the correct window. * macosx/tkMacOSXWm.c: Better error msg for 'wm attributes'. Remove crash in 'wm transient'. Add 'noActivates' and 'noUpdates' flags to unsupported command. [Patch #606658] (darley) FossilOrigin-Name: b7d6123509d7a7315880680b0ae888f4a853c66b
* wm attributes macosx fixvincentdarley2002-09-031-5/+1
| | | FossilOrigin-Name: 771dc762dc1b6fcf07dd3f9a55be8ff714011996
* *** macosx-8-4-branch merged into the mainline [tcl patch #602770] ***macosx-8-4-merge-2002-08-31-trunkdas2002-08-311-0/+5506
* generic/tk.decls: * generic/tkInt.decls: added new "aqua" specific entries to the stubs tables. Changed all "unix" entries to "x11" to allow us to distinguish and build both "aqua" on MacOSX and "x11" on MacOSX. * generic/tk.h: added a #ifnded RESOURCE_INCLUDED so that tk.h can be passed to the resource compiler. * generic/tkCmds.c (Tk_TkObjCmd): added [tk windowingsystem] subcommand: returns "x11" when running on X11, "win32" on Windows, "classic" on MacOS9 and "aqua" on MacOSX Aqua (i.e. Carbon) * generic/tkFont.c (TkFontGetFirstTextLayout): new private function returning the first chunk of a Tk_TextLayout, i.e. until the first font change on the first line (or the whole first line if there is no such font change). * generic/tkMain.c: made Tcl_ThreadDataKey static * library/demos/puzzle.tcl: fixed button metrics for aqua * tests/cursor.test: check for presence of arrow cursor instead of heart cursor * xlib/xcolors.c: changed xColors static initialization to more standard C * macosx/Wish.pbproj/jingham.pbxuser (new): * macosx/Wish.pbproj/project.pbxproj (new): project for Apple's ProjectBuilder IDE. * macosx/Makefile (new): simple makefile for building the project from the command line via the ProjectBuilder tool 'pbxbuild'. * macosx/tkMacOSXAppInit.c (new): macosx specific AppInit looking for a AppMain.tcl file in its bundled Resources/Scripts folder. If present, argv[1] is set to that file and the Scripts folder is added to the auto_path. This allows tk apps to embed scripts within their bundle directory structure. * macosx/tkMacOSXInit.c (new): macosx adapted version of tkUnixInit.c: we initialize & cache the Carbon native encoding (e.g. 'macRoman') and try to find the tk script library files inside Tk packaged as a framework. * macosx/tkMacOSXNotify.c (new): new macosx specific merged Carbon/select-based notifier. * macosx/tkMacOSXEvent.c (new): * macosx/tkMacOSXEvent.h (new): * macosx/tkMacOSXKeyEvent.c (new): * macosx/tkMacOSXMouseEvent.c (new): * macosx/tkMacOSXWindowEvent.c (new): new macosx specific event handling functionality. * macosx/tkMacOSX.h (new): * macosx/tkMacOSXBitmap.c (new): * macosx/tkMacOSXButton.c (new): * macosx/tkMacOSXClipboard.c (new): * macosx/tkMacOSXColor.c (new): * macosx/tkMacOSXConfig.c (new): * macosx/tkMacOSXCursor.c (new): * macosx/tkMacOSXDefault.h (new): * macosx/tkMacOSXDialog.c (new): * macosx/tkMacOSXDraw.c (new): * macosx/tkMacOSXEmbed.c (new): * macosx/tkMacOSXFont.c (new): * macosx/tkMacOSXHLEvents.c (new): * macosx/tkMacOSXInt.h (new): * macosx/tkMacOSXKeyboard.c (new): * macosx/tkMacOSXMenu.c (new): * macosx/tkMacOSXMenubutton.c (new): * macosx/tkMacOSXMenus.c (new): * macosx/tkMacOSXPort.h (new): * macosx/tkMacOSXRegion.c (new): * macosx/tkMacOSXScale.c (new): * macosx/tkMacOSXScrlbr.c (new): * macosx/tkMacOSXSubwindows.c (new): * macosx/tkMacOSXTest.c (new): * macosx/tkMacOSXUtil.c (new): * macosx/tkMacOSXUtil.h (new): * macosx/tkMacOSXWm.c (new): * macosx/tkMacOSXWm.h (new): * macosx/tkMacOSXXStubs.c (new): macosx ports of classic mac Tk implementation in tk/mac. * macosx/tkMacOSXSend.c (new): only send to local interp implemented currently. * macosx/tkMacOSXDebug.h (new): * macosx/tkMacOSXDebug.c (new): new macosx specific functions for debugging MacOS events, regions, etc. * macosx/tkAboutDlg.r (new): * macosx/tkMacOSXApplication.r (new): * macosx/tkMacOSXCursors.r (new): * macosx/tkMacOSXLibrary.r (new): * macosx/tkMacOSXMenu.r (new): * macosx/tkMacOSXResource.r (new): * macosx/tkMacOSXXCursors.r (new): * macosx/tclets.r (new): sources for Rez resource compiler. * macosx/Wish.icns (new): Wish application icon. * generic/tk.h: * generic/default.h: * generic/tkBind.c: * generic/tkCmds.c: * generic/tkGrab.c: * generic/tkPointer.c: * generic/tkPort.h: * generic/tkSelect.c: * generic/tkStubLib.c: * generic/tkTest.c: * generic/tkText.c: * generic/tkWindow.c: * unix/tkUnix3d.c: * xlib/xgc.c: * xlib/X11/X.h: * xlib/X11/Xlib.h: * xlib/X11/Xutil.h: added #includes and #ifdefs for macosx * library/bgerror.tcl: * library/button.tcl: * library/console.tcl: * library/dialog.tcl: * library/entry.tcl: * library/listbox.tcl: * library/menu.tcl: * library/msgbox.tcl: * library/scrlbar.tcl: * library/spinbox.tcl: * library/text.tcl: * library/tk.tcl: * library/demos/menu.tcl: * library/demos/menubu.tcl: * library/demos/widget: check [tk windowingsystem] instead of and/or in addition to $tcl_platform(platform). * generic/tkInt.h: * mac/tkMacBitmap.c: * mac/tkMacWm.c: added missing CONSTification * generic/tkIntDecls.h: * generic/tkIntPlatDecls.h: * generic/tkIntXlibDecls.h: * generic/tkPlatDecls.h: * generic/tkStubInit.c: regen FossilOrigin-Name: 6b4c1410c56a191e66a5d9fdeed5b10c8b44eaa0