## Tcl8.6.17/Tk8.6.17 Documentation > Tk Commands > tk_mac

### Tcl/Tk Applications | Tcl Commands | Tk Commands | [incr Tcl] Package Commands | SQLite3 Package Commands | TDBC Package Commands | tdbc::mysql Package Commands | tdbc::odbc Package Commands | tdbc::postgres Package Commands | tdbc::sqlite3 Package Commands | Thread Package Commands | Tcl C API | Tk C API | [incr Tcl] Package C API | TDBC Package C API

  NAME
    tk::mac — Tk から OS X のマック固有機能を利用する Access Mac-Specific Functionality on OS X from Tk
  構文 SYNOPSIS
  行事操作子呼戻し EVENT HANDLER CALLBACKS
    ::tk::mac::DoScriptFile
    ::tk::mac::DoScriptText
    ::tk::mac::ShowPreferences
    ::tk::mac::OpenApplication
    ::tk::mac::ReopenApplication
    ::tk::mac::OpenDocument file...
    ::tk::mac::PrintDocument file...
    ::tk::mac::Quit
    ::tk::mac::OnHide
    ::tk::mac::OnShow
    ::tk::mac::ShowHelp
    ::tk::mac::PerformService
    ::tk::mac::LaunchURL URL...
    ::tk::mac::GetAppPath
  追加の対話箱 ADDITIONAL DIALOGS
    ::tk::mac::standardAboutPanel
  系の構成設定　SYSTEM CONFIGURATION
    ::tk::mac::useCompatibilityMetrics boolean
    ::tk::mac::CGAntialiasLimit limit
    ::tk::mac::antialiasedtext number
    ::tk::mac::useThemedToplevel boolean
  運営する命令 SUPPORT COMMANDS
    ::tk::mac::iconBitmap name width height -kind value
      -file
      -fileType
      -osType
      -systemType
      -namedImage
      -imageFile
  SEE ALSO
  KEYWORDS

### NAME

tk::mac — Tk から OS X のマック固有機能を利用する Access Mac-Specific Functionality on OS X from Tk

### 構文 SYNOPSIS

::tk::mac::DoScriptFile
::tk::mac::DoScriptText
::tk::mac::ShowPreferences
::tk::mac::OpenApplication
::tk::mac::ReopenApplication
::tk::mac::OpenDocument file...
::tk::mac::PrintDocument file...
::tk::mac::Quit
::tk::mac::OnHide
::tk::mac::OnShow
::tk::mac::ShowHelp
::tk::mac::PerformService
::tk::mac::LaunchURL URL...
::tk::mac::GetAppPath
::tk::mac::standardAboutPanel
::tk::mac::useCompatibilityMetrics boolean
::tk::mac::CGAntialiasLimit limit
::tk::mac::antialiasedtext number
::tk::mac::useThemedToplevel boolean
::tk::mac::iconBitmap name width height -kind value

### 行事操作子呼戻し EVENT HANDLER CALLBACKS

Aqua/Mac OS X 応用譜環境は応用譜が応じる様な多数の追加行事を定義する｡これらの行事は Tk によって ::tk::mac 名前空間内の命令呼出しに対応付けされ; 別に註がない限り､命令が存在しない場合､何も行動がとられない｡[譯註:8.6.14版⇒8.6.15版で何か変ったかも｡本項目の内容は8.6.14版のまま｡] The Aqua/Mac OS X application environment defines a number of additional events that applications should respond to. These events are mapped by Tk to calls to commands in the ::tk::mac namespace; unless otherwise noted, if the command is absent, no action will be taken.

::tk::mac::DoScriptFile
  省略時設定の AEDoScriptHandlerの為の Apple 行事操作子｡この命令は､AppleScript が “do script” 命令を ファイル経路を假引数として伴って Wish に送る時に､ Tcl ファイルを実行する｡ The default Apple Event handler for AEDoScriptHandler. This command executes a Tcl file when an AppleScript sends a “do script” command to Wish with a file path as a parameter.

::tk::mac::DoScriptText
  省略時設定の AEDoScriptHandler の為の Apple 行事操作子｡この命令は､AppleScript が “do script” 命令を Tcl 符号命令か Tcl 手続き函数を假引数として伴って Wish に送る時に､ Tcl 符号命令を実行する｡ The default Apple Event handler for AEDoScriptHandler. This command executes Tcl code when an AppleScript sends a “do script” command to Wish with Tcl code or a Tcl procedure as a parameter.

::tk::mac::ShowPreferences
  kAEShowPreferences, “pref” の為の省略時設定のApple行事操作子である｡応用譜メニュー “Preferences” メニューはこの手続函数が定義されている時にのみ利用できる｡ 典型的にはこの命令は､特定の､優先窓を出現させる､自身の優先命令を一括する為に使用される､このように: The default Apple Event handler for kAEShowPreferences, “pref”. The application menu “Preferences” menu item is only enabled when this proc is defined. Typically this command is used to wrap a specific own preferences command, which pops up a preferences window. Something like:

      proc ::tk::mac::ShowPreferences {} {
          setPref
      }

::tk::mac::OpenApplication
  この名前の手続函数が定義されていると､使用者の応用譜が最初に開かれたときに､この手続函数は､雇用で満たされる｡それは､TkAEOpenApplication, “oapp” の為の省略時設定のApple行事操作子である｡ If a proc of this name is defined, this proc fill fire when your application is initially opened. It is the default Apple Event handler for kAEOpenApplication, “oapp”.

::tk::mac::ReopenApplication
  この名前の手続函数が定義されると､kAEReopenApplication, “rapp” の為の省略時設定のApple行事操作子であり､既に実行されている使用者の応用譜が開かれるとき(譬えば､説明内のアイコンの軽叩により)Apple Eventが送られる｡次のものは説明アイコンが軽叩された時最小化された窓を表に出す､様な例である｡ If a proc of this name is defined it is the default Apple Event handler for kAEReopenApplication, “rapp”, the Apple Event sent when your application is opened when it is already running (e.g. by clicking its icon in the Dock). Here is a sample that raises a minimized window when the Dock icon is clicked:

      proc ::tk::mac::ReopenApplication {} {
          if {[wm state .] eq "withdrawn"} {
              wm state . normal
          } else {
              wm deiconify .
          }
          raise .
      }

::tk::mac::OpenDocument file...
  もしこの名前の手続函数定義されていると､それはTkAEReopenApplication, “odoc” の為の省略時設定のApple行事操作子であり､使用者の応用譜が一つ或はそれ以上の説明書を開ける様､要求される時Apple Eventが送られる(譬えば､応用譜の上に引張り落すか､応用譜に結合された型の説明書を開くことにより)｡手続函数は開けるべきファイルへの経路を引数としてとるはずである､このように: If a proc of this name is defined it is the default Apple Event handler for kAEOpenDocuments, “odoc”, the Apple Event sent when your application is asked to open one or more documents (e.g., by drag & drop onto the app or by opening a document of a type associated to the app). The proc should take as arguments paths to the files to be opened, like so:

      proc ::tk::mac::OpenDocument {args} {
          foreach f $args {my_open_document $f}
      }

::tk::mac::PrintDocument file...
  もしこの名前の手続函数定義されていると､それは TkAEReopenApplication “pdoc” の為の省略時設定のApple行事操作子であり､使用者の応用譜が説明書を印刷する様､要求される時 Apple Eventが送られた｡それは一個のファイル絶対経路を引数として採る｡ If a proc of this name is defined it is the default Apple Event handler for kAEPrintDocuments, “pdoc”, the Apple Event sent when your application is asked to print a document. It takes a single absolute file path as an argument.

::tk::mac::Quit
  もしこの名前の手続函数定義されていると､それはkAEQuitApplication, “quit” の為の省略時設定のApple行事操作子であり､譬えば､応用譜内の停止メニュー項目､又は､説明メニュー内の停止項目､又は 接続終了/再開始/終業 等を経由して､使用者の応用譜が停止するよう要求される時Apple Eventが送られる｡ If a proc of this name is defined it is the default Apple Event handler for kAEQuitApplication, “quit”, the Apple Event sent when your application is asked to be quit, e.g. via the quit menu item in the application menu, the quit menu item in the Dock menu, or during a logout/restart/shutdown etc. If this is not defined, exit is called instead.

::tk::mac::OnHide
  もし定義されると､譬えば､応用譜又は説明メニュー内の隠蔽メニュー項目経由で､使用者の応用譜が TkEventAppHidden 行事を､譬えば応用譜内のメニュー隠し品目経由で､受取った時にこれが呼ばれる｡ If defined, this is called when your application receives a kEventAppHidden event, e.g. via the hide menu item in the application or Dock menus.

::tk::mac::OnShow
  もし定義されると､譬えば､応用譜内の全てのメニュー提示又は､隠蔽された応用譜の説明アイコンの軽叩経由で､使用者の応用譜がkEventAppHidden行事を受取った時にこれが呼ばれる｡ If defined, this is called when your application receives a kEventAppShown event, e.g. via the show all menu item in the application menu, or by clicking the Dock icon of a hidden application.

::tk::mac::ShowHelp
  Apple説明メニューの振舞を誂える; もしこの手続函数が定義されないと､OS固有の標準説明メニュー項目 “YourApp Help” が､応用譜の情報リストであるInfo.plist内で構成設定された説明の本を提示するという初期設定Cocoa動作を遂行する(又は､説明の本が設定されていない場合警告が表示される)｡ Customizes behavior of Apple Help menu; if this procedure is not defined, the platform-specific standard Help menu item “YourApp Help” performs the default Cocoa action of showing the Help Book configured in the application's Info.plist (or displaying an alert if no Help Book is set).

::tk::mac::PerformService
  応用符メニュー品目内の macOS “Services” メニューから呼ばれた Tcl 手続き函数を遂行する｡その “Services” メニュー品目は内部-応用譜通信を許容している；一つの応用譜のデータが､譬えば､選択された文書が､処理のために他の応用符に送られ得る､譬えば Google に関する捜索項目としての Safari に､とか､ファイルに追加されるべき TextEdit に､の如し｡手続き函数の例は下にある､又､誂えるには､応用譜記述譜内に再記述すべきである：　　　　　 Executes a Tcl procedure called from the macOS “Services” menu in the Application menu item. The “Services” menu item allows for inter-application communication; data from one application, such as selected text, can be sent to another application for processing, for example to Safari as a search item for Google, or to TextEdit to be appended to a file. An example of the proc is below, and should be rewritten in an application script for customization:

      proc ::tk::mac::PerformService {} {
          set data [clipboard get]
          $w insert end $data
      }

  註意すべきは､データからの取り出しの仕組みは臨時板からである； データを得るそれ以外の方法は運営されていない｡もし､奉仕課程が望ましくない場合､ NSServices は応用譜の Info.plist ファイルから削除できる｡この命令を運営している基礎の符号命令は､他の応用譜から Services メニュー経由で奉仕譜を利用する為に､文書､入力部品､ttk::entry 部品を許容している｡ Wish の Info.plist ファイル内の NSPortName 鍵は現在 “Wish” に設定されている； もし開発者が Wish 実行譜の名前を何か他に変更すると､この鍵は同じ名前に修正されるべきである｡ Note that the mechanism for retrieving the data is from the clipboard; there is no other supported way to obtain the data. If the Services process is not desired, the NSServices keys can be deleted from the application's Info.plist file. The underlying code supporting this command also allows the text, entry and ttk::entry widgets to access services from other applications via the Services menu. The NSPortName key in Wish's Info.plist file is currently set as “Wish” ; if a developer changes the name of the Wish executable to something else, this key should be modified with the same name.

::tk::mac::LaunchURL URL...
  定められた場合は､ Tk 内部の URL を発進させる｡これは､もし Tk 応用符が URL そのものを処理したい場合に使われる､譬えば､ RSSフィード からのデータを表示する如く､URL を処理する為に省略時設定の応用符を発進させるよりも､但し､その様にも定義できる｡ Wish はその Info.plist フィルの CFBundleURLSchemes 鍵内に “foo://” の stub URL 構想を含んでいる； これは開発者が運営している特定の URL 構想の為に誂えることができる｡ If defined, launches a URL within Tk. This would be used if a Tk application wants to handle a URL itself, such as displaying data from an RSS feed, rather than launching a default application to handle the URL, although it can defined as such. Wish includes a stub URL scheme of “foo://” in the CFBundleURLSchemes key of its Info.plist file; this should be customized for the specific URL scheme the developer wants to support.

::tk::mac::GetAppPath
  現在の応用譜のファイル経路を返す｡ Returns the current applications's file path.

### 追加の対話箱 ADDITIONAL DIALOGS

Aqua/Mac OS X は､応用譜が運営する為の追加の対話箱を定義する｡ The Aqua/Mac OS X defines additional dialogs that applications should support.

::tk::mac::standardAboutPanel
  正面への画板に､応用譜のファイル束を詰めた情報伴った標準Cocoaを適用する｡画板は応用譜のアイコンとCFBundleNameとCFBundleShortVersionStringとNSAboutPanelOptionVersion と NSHumanReadableCopyright と名付けられた info.plist 鍵に関連付けられた値を表示する｡もし､Credits.html か Credits.rtf と名付けられたファイルが束の原資のディレクトリーに実在するとその内容が､対話箱の底の摺動式文書箱に表示される｡更なる詳細は説明文の-[NSApplication orderFrontStandardAboutPanelWithOptions:]を参照されたい｡誂えの関連対話箱の鉤も提供される｡もし､主解釈実行機能内に tkAboutDialog と名付けられた函数手続きが定義されていると､ standardAboutPanel を開ける代わりにその手続き函数が呼出される｡ Brings the standard Cocoa about panel to the front with information filled in from the application bundle files. The panel displays the application icon and the values associated to the info.plist keys named CFBundleName, CFBundleShortVersionString, NSAboutPanelOptionVersion and NSHumanReadableCopyright. If a file named Credits.html or Credits.rtf exists in the bundle's Resources directory then its contents will be displayed in a scrolling text box at the bottom of the dialog. See the documentation for -[NSApplication orderFrontStandardAboutPanelWithOptions:] for more details. A hook is also provided for a custom About dialog. If a Tcl proc named tkAboutDialog is defined in the main interpreter then that procedure will be called instead of opening the standardAboutPanel.

### 系の構成設定　SYSTEM CONFIGURATION

Tk が省略時設定により如何に描くべきかの詳細を制御する為の､追加の大域的構成設定指定項目が多数ある｡ There are a number of additional global configuration options that control the details of how Tk renders by default.

::tk::mac::useCompatibilityMetrics boolean
  旧式の Tk/Aqua 測定基準と互換性を維持する; 更に元来のものの位置取りにする為には偽値に設定するべきである｡ Preserves compatibility with older Tk/Aqua metrics; set to false for more native spacing.

::tk::mac::CGAntialiasLimit limit
  平滑化処理の限界を設定する; その限界点地図より細い線は平滑化されない｡整数であり､省略時設定では0に設定されており､全ての線は平滑化される｡ Sets the antialiasing limit; lines thinner that limit pixels will not be antialiased. Integer, set to 0 by default, making all lines be antialiased.

::tk::mac::antialiasedtext number
  平滑化された文書を適用する｡文書の平滑化を制御し､可能な数値は-1 (省略時設定, 文書平滑化に関して系の省略時設定を使用する), 0 (文書の平滑化をしない), 1 (文書の平滑化をする)｡ Sets anti-aliased text. Controls text antialiasing, possible values for number are -1 (default, use system default for text AA), 0 (no text AA), 1 (use text AA).

::tk::mac::useThemedToplevel boolean
  頂上水準の窓描写に現代風の灰色ぽい/ 細縦縞Mac背景を設定する｡頂上水準の構成設定 “-background systemWindowHeaderBackground”､に設定する､又は ttk::frame を使用することと等価である｡ Sets toplevel windows to draw with the modern grayish/ pinstripe Mac background. Equivalent to configuring the toplevel with “-background systemWindowHeaderBackground”, or to using a ttk::frame.

### 運営する命令 SUPPORT COMMANDS

::tk::mac::iconBitmap name width height -kind value
  Tk 応用譜に､元の生のアイコンと点地図を用いる(NSImage によって読出しできるどの影像ファイルをも含む)｡元の生の点地図は次の様に解釈実行される(この順で): Renders native icons and bitmaps in Tk applications (including any image file readable by NSImage). A native bitmap name is interpreted as follows (in order):

  - 予め定義された組込みの32x32アイコン名(停止､警告､説明) predefined builtin 32x32 icon name (stop, caution, document, etc.)

  - 名称､tk::mac::iconBitmap によって定義されたもの name, as defined by tk::mac::iconBitmap

  - NSImage が名付けた影像名 NSImage named image name

  - NSImage電網番地文字列 NSImage url string

  - IconServicesアイコンの4-文字OS型 4-char OSType of IconServices icon

    tk::mac::iconBitmap への引数の巾と高さは､生成すべき影像の寸法を定義する､又-kind は次の内の一つでなければならない｡ The width and height arguments to tk::mac::iconBitmap define the dimensions of the image to create, and -kind must be one of:

    -file
      与えられた経路上のアイコンファイル icon of file at given path

    -fileType
      与えられたファイルの型のアイコン icon of given file type

    -osType
      与えられた4-文字OS型ファイル型のアイコン icon of given 4-char OSType file type

    -systemType
      与えられたアイコン担当4-文字OS型の為のアイコン icon for given IconServices 4-char OSType

    -namedImage
      与えられた名前の為の名付けられた named NSImage for given name

    -imageFile
      与えられた経路の影像 image at given path

### SEE ALSO

bind, wm

### KEYWORDS

about dialog, antialiasing, Apple event, icon, NSImage
Copyright © 2011 Kevin Walzer.
Copyright © 2011 Donal K. Fellows.