brew install --cask mtmrในการติดตั้งครั้งแรก คุณต้องอนุญาตให้เข้าถึง MTMR ในการเข้าถึงมิฉะนั้นปุ่มเช่น ESC ระดับเสียง ความสว่าง และปุ่มระบบอื่น ๆ จะไม่ทำงาน

? →การตั้งค่าระบบ→ความปลอดภัยและความเป็นส่วนตัว→แท็บความเป็นส่วนตัว→การเข้าถึง→ MTMR
MTMR ที่ตั้งไว้ล่วงหน้า

การตั้งค่า MTMR จะถูกเก็บไว้ใน ~/Library/Application Support/MTMR/items.json
การกำหนดค่าที่ติดตั้งไว้ล่วงหน้ามีน้อยกว่าหรือมากกว่าที่คุณต้องการลองกำหนดค่า:
ปุ่ม
ปลั๊กอินดั้งเดิม
กุญแจสื่อ
ปลั๊กอิน applescript
ปุ่มที่กำหนดเอง
โดยค่าเริ่มต้นคุณสามารถเปิดใช้งานท่าทางพื้นฐานจากเมนูแอปพลิเคชัน (แถบสถานะ -> ไอคอน MTMR -> ท่าทางระดับเสียง/ความสว่าง):
คุณสามารถเพิ่มการกระทำที่กำหนดเองสำหรับการกวาดนิ้วสอง/สาม/สี่นิ้ว ในการทำมันคุณต้องใช้ประเภท swipe :
"type" : " swipe " ,
"fingers" : 2 , // number of fingers required (2,3 or 4)
"direction" : " right " , // direction of swipe (right/left)
"minOffset" : 10 , // optional: minimal required offset for gesture to emit event
"sourceApple" : { // optional: apple script to run
"inline" : " beep "
},
"sourceBash" : { // optional: bash script to run
"inline" : " touch /Users/lobster/test "
} คุณอาจสร้างวัตถุ swipe จำนวนมากในที่ตั้งไว้ล่วงหน้าตามที่คุณต้องการ
staticButton "type" : " staticButton " ,
"title" : " esc " ,appleScriptTitledButton {
"type" : "appleScriptTitledButton" ,
"refreshInterval" : 60 , //optional
"source" : {
"filePath" : "~/Library/Application Support/MTMR/iTunes.nowPlaying.scpt" ,
// or
"inline" : "tell application "Finder"rif not (exists window 1) thenrmake new Finder windowrset target of front window to path to home folder as stringrend ifractivaterend tell" ,
// or
"base64" : "StringInbase64"
} ,
}หมายเหตุ: คุณสามารถเปลี่ยนไอคอนของ AppleScriptTitleDbutton ได้โดยทำตามขั้นตอนเหล่านี้:
alternativeImages{"TITLE", "IMAGE_LABEL"}IMAGE_LABEL ของคุณถูกประกาศในฟิลด์ alternativeImagesตัวอย่าง:
{
"type" : "appleScriptTitledButton" ,
"source" : {
"inline" : "if (random number from 1 to 2) = 1 thenntset val to {"title", "play"}nelsentset val to {"title", "pause"}nend ifnreturn val"
} ,
"refreshInterval" : 1 ,
"image" : {
"base64" : "iVBORw0KGgoAAAANSUhEUgA..."
} ,
"alternativeImages" : {
"play" : {
"base64" : "iVBORw0KGgoAAAANSUhEUgAAAAAA..."
} ,
"pause" : {
"base64" : "iVBORw0KGgoAAAANSUhEUgAAAIAA..."
}
}
} , shellScriptTitledButtonหมายเหตุ: สคริปต์อาจใช้ลำดับหลบหนีเพื่อส่งคืนสี (อ่าน https://misc.flogisoft.com/bash/tip_colors_and_formatting สำหรับข้อมูลเพิ่มเติม) "16 สี" เป็นโหมดเดียวที่รองรับในปัจจุบัน ปุ่มจะตั้งค่าสีพื้นหลังของตัวเองเป็นสีที่ส่งคืน
ตัวอย่างของปุ่ม "CPU Load" ซึ่งเปลี่ยนสีตามค่าโหลด (หมายเหตุ: ปลั๊กอิน cpu ดั้งเดิมทำงานได้ดีกว่า):
{
"type" : "shellScriptTitledButton" ,
"width" : 80 ,
"refreshInterval" : 2 ,
"source" : {
"inline" : "top -l 2 -n 0 -F | egrep -o ' \d*\.\d+% idle' | tail -1 | awk -F% '{p = 100 - $1; if (p > 30) c = "\033[33m"; if (p > 70) c = "\033[30;43m"; printf "%s%4.1f%%\n", c, p}'"
} ,
"actions" : [
{
"trigger" : "singleTap" ,
"action" : "appleScript" ,
"actionAppleScript" : {
"inline" : "activate application "Activity Monitor"rtell application "System Events"rttell process "Activity Monitor"rtttell radio button "CPU" of radio group 1 of group 2 of toolbar 1 of window 1 to perform action "AXPress"rtend tellrend tell"
}
}
] ,
"align" : "right" ,
"image" : {
// Or you can specify a filePath here.
// Images will be resized to 24x24.
// "filePath": "~/myproject/myimage.jpg" // or "/fixed/path/to/the.png"
"base64" :
"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAA/1BMVEUAAADaACbYACfYACfjABzXACjYACfXACjYACfYACfYACfYACfdACLYACfXACjYACfVACv/AADXACjYACfYACfXACjYACfXACjaACXYACfYACfVACvYACfYACfZACbZACbYACfYACfZACb/AADYACfYACfVACrXACjVACu/AEDYACfYACfYACfXACjXACjYACfXACjYACfYACfYACfXACjYACfXACjYACfYACfZACbYACfYACfMADPYACfYACfYACfYACfYACfZACbXACjYACfYACfRAC7XACjYACfZACbWACnXACjXACjYACfTACzZACb/AADYACfYACfYACcAAAA+zneGAAAAU3RSTlMAItK+CVPjh3xUxPwPiGDQGAMtSKmN3Vk+wPQG/e26oIJBnwJCdiuAHgTmw+6BX+IgfaqLUvKOW8VKnagK+vBwYrhlc/urCznvhSyUbOEXPAFjGh/ektAAAAABYktHRACIBR1IAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4ggWETQWgEDcSgAAAqVJREFUWMPtl4ly2jAQhsUNNlcw5r4SICEHLSQhCQRyX73T/u//LpUlLIyxbMAznWmn/0ywo5U+27tr7ZoQuwLBUJidRKIxPhKLRtgxHAoGiLfiQIKdKFCTxjGpQmEDCSC+BiAFpNlJBsgaxyyQYQNpIPUf8AcAOzktD+iaoQJQNI5FoMAGdCCv5XZclpfKFXiqUi5Jllf1mvdyQzW96gigd4h6o+mhRp1O0x3vvwa1VSWeqrZU1Jyeogy01ggSVQsoO/i/gjq9/u6u+2LDXq2jshqLHNCgdsCVwO0NILdi0oDmuoAmoImhQDzFRPNnb36L7U43NVfc2EH2D9h5t9OePyIF5IU9uIhvkyN7iiXmQUIOj8x/lB6f0bTaQ3ZA+9iaNCH2Lpg6btsBIRJOpJl0E9ABTvof5kqEGeCjMaN/AnRMgM5XJcI2J1J1gf6S48Tb2Ae6JkAjdgmAeJ1XAOJ1Xg8wGJ6elXwAzkeGjy62BgxG3MuXnoCIkmEq8EQyAUPgajyhPxJAga9SIiRqzwMOuAbGZDrDjQRgKkpiqiPgFphM74B7d4BKy2cyy1RcBvSodUb/HiSAIl+VlEfh8cm4wvPL9nnw+gbc+kkkUVioO95etwe8PBuP8vQoBzg7UQAe5t7syZwoCaMA3AN30wlzh3MYJYkkADeYTckYuJYlkiSVBeCKZtSY/gxlqezlxEt+pdFg6zBesPXn1ih8Aj5vkAels9PhYCkPsl++kg0AQu4dyuqmugIQm+qS5Nv6N+D7wm7d1skPc4xu666Fhd6BxU6r+jub8tNaWNxK29EhsdpR/sVn7FlLm0txPdgni+JrFNd3p+K67MQtyrsp3w2G7xbHd5Plv83z3Wj6b3V9N9ssFv7afaa//ZPn3wD4/vje8PP/N7TebS0hgZhEAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE4LTA4LTIyVDE3OjUyOjIyKzAyOjAwc2qUYAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxOC0wOC0yMlQxNzo1MjoyMiswMjowMAI3LNwAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC"
} ,
"bordered" : false
} {
"type" : "group" ,
"align" : "center" ,
"bordered" : true ,
"title" : "stats" ,
"items" : [
{ "type" : "play" } ,
{ "type" : "mute" } ,
...
]
}หากต้องการปิดกลุ่มให้ใช้ปุ่ม:
{
"type": "close",
"width": 64
},
cpuแสดงโหลด CPU ปัจจุบันเป็นเปอร์เซ็นต์การเปลี่ยนแปลงสีตามค่าโหลด มีการใช้พลังงานต่ำและความเสถียรสูงกว่าสารละลายที่ใช้เชลล์
{
"type" : "cpu" ,
"refreshInterval" : 3 ,
"width" : 80
} timeButtonหมายเหตุ: ค่าบางอย่างทำงานไม่ถูกต้อง: https://en.wikipedia.org/wiki/list_of_time_zone_abbreviations
ตัวอย่าง formattemplate: https://www.datetimeformatter.com/how-to-format-date-time-in-swift/
ตัวอย่างสถานที่: https://gist.github.com/jacobbubu/1836273
{
"type" : "timeButton" ,
"formatTemplate" : "dd HH:mm" ,
"locale" : "en_GB" ,
"timeZone" : "UTC"
} weatherผู้ให้บริการ: https://openweathermap.org
หมายเหตุ: ลงทะเบียนที่ https://openweathermap.org เพื่อรับคีย์ API ของคุณ
หมายเหตุ: รอ 20 นาทีหรือมากกว่านั้นเพื่อให้ OpenWeatherMap เปิดใช้งานคีย์ API ของคุณ
หมายเหตุ: เปิดใช้งาน MTMR ใน "บริการตำแหน่ง" ในบานหน้าต่าง "ความปลอดภัยและความเป็นส่วนตัว"
"type" : "weather" ,
"refreshInterval" : 600 , // in seconds
"units" : "metric" , // or imperial
"icon_type" : "text" , // or images
"api_key" : "" // you can get the key on openweather yandexWeather (ทดลอง)ผู้ให้บริการ: https://yandex.ru/pogoda คลิกเดียวเพื่อเปิดพยากรณ์อากาศในเบราว์เซอร์ของคุณ
หมายเหตุ: เปิดใช้งาน MTMR ใน "บริการตำแหน่ง" ในบานหน้าต่าง "ความปลอดภัยและความเป็นส่วนตัว"
"type" : "yandexWeather" ,
"refreshInterval" : 600 // in seconds currencyผู้ให้บริการ: https://coinbase.com
"type" : "currency" ,
"refreshInterval" : 600 , // in seconds
"align" : "right" ,
"from" : "BTC" ,
"to" : "USD" ,
"full" : true // £‣1.29$ music {
"type" : "music" ,
"align" : "center" ,
"width" : 80 , // Optional
"bordered" : false , // Optional
"refreshInterval" : 2 , // in seconds. Optional. Default 5 seconds
"disableMarquee" : true // to disable marquee effect. Optional. Default false
} , pomodoroปลั๊กอิน Pomodoro หนึ่งแตะเริ่มจับเวลาการทำงานยาวเพื่อเริ่มตัวจับเวลาที่เหลือ แตะตัวจับเวลาที่อยู่ระหว่างดำเนินการเพื่อรีเซ็ต
{
"type" : "pomodoro" ,
"workTime" : 1200 , // set time work in seconds. Default 1500 (25 min)
"restTime" : 600 // set time rest in seconds. Default 300 (5 min)
} , networkปลั๊กอินเครือข่าย ปลั๊กอินเพื่อแสดงการใช้งานเครือข่าย
{
"type" : "network" ,
"flip" : true ,
"units" : "dynamic" // or B/s, KB/s, MB/s, GB/s
} , dockปลั๊กอินท่าเรือ
{
"type" : "dock" ,
"filter" : "(^Xcode$)|(Safari)|(.*player)" ,
"autoResize" : true
} , upnextปลั๊กอินกิจกรรมถัดไปจะแสดงกิจกรรมที่จะเกิดขึ้นจาก MacOS Calendar ไม่แสดงเหตุการณ์ปัจจุบัน
{
"type" : "upnext" ,
"from" : 0 , // Lower bound of search range for next event in hours. Default 0 (current time)(can be negative to view events in the past)
"to" : 12 , // Upper bounds of search range for next event in hours. Default 12 (12 hours in the future)
"maxToShow" : 3 , // Limits the maximum number of events displayed. Default 3 (the first 3 upcoming events)
"autoResize" : false // If true, widget will expand to display all events. Default false (scrollable view within "width")
} , "actions" : [
{
"trigger" : "singleTap" ,
"action" : "hidKey" ,
"keycode" : 53
}
]singleTapdoubleTaptripleTaplongTaphidKeyhttps://github.com/aosm/iohidfamily/blob/master/iohidsystem/iokit/hidsystem/ev_keymap.h ใช้ตัวเลขเท่านั้น
"action" : " hidKey " ,
"keycode" : 53 ,keyPresshttps://eastmanreference.com/complete-list-of-applescript-key-codes
"action" : " keyPress " ,
"keycode" : 1 ,appleScript "action" : "appleScript" ,
"actionAppleScript" : {
"inline" : "tell application "Finder"rif not (exists window 1) thenrmake new Finder windowrset target of front window to path to home folder as stringrend ifractivaterend tell" ,
// "filePath" or "base64" will work as well
} ,shellScript "action" : "shellScript" ,
"executablePath" : "/usr/bin/pmset" ,
"shellArguments" : [ "sleepnow" ] , // optionalopenUrl "action" : "openUrl" ,
"url" : "https://google.com" , width จำกัด จำนวนห้องที่มีปุ่มเฉพาะ "width" : 34align สามารถติดรายการไปด้านข้าง ค่าเริ่มต้นคือศูนย์ "align" : "left" // "left", "right" or "center"bordered คุณสามารถทำปุ่มได้โดยไม่มีเส้นขอบ "bordered" : "false" // "true" or "false"background อนุญาตให้ระบุสีพื้นหลังของคุณ "background" : "#FF0000" ,โดยใช้พื้นหลังด้วยสี "#000000" และขอบ == FALSE คุณสามารถสร้างปุ่มได้โดยไม่ต้องมีพื้นหลังสีเทา แต่มีพื้นหลังเมื่อกดปุ่ม
title ระบุปุ่มชื่อ "title" : "hello"image ระบุไอคอนปุ่ม "image" : {
//Can be either of those
"base64" : "iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAABGdB...."
//or
"filePath" : "~/img.png"
}matchAppId แสดงปุ่มเมื่อ ID ของแอปที่ใช้งานอยู่ตรงกับ regexp "matchAppId" : " Safari " open -a TextEdit ~/Library/Application Support/MTMR/items.json แล้วกด Enter ลองอีกครั้งหรือตรวจสอบเห็บสำหรับการเข้าถึง? →การตั้งค่าระบบ→ความปลอดภัยและความเป็นส่วนตัว→แท็บความเป็นส่วนตัว→การเข้าถึง→ MTMR
สร้างโดย @toxblh และ @redetection