🌟 [My TouchBar My rules]. The Touch Bar Customisation App for your MacBook Pro

Overview

My touchbar. My rules. GitHub release license minimal system requirements travis

The TouchBar Customization App for your MacBook Pro

My idea is to create a platform for creating plugins to customize the TouchBar. I very much like BTT and having a full custom TouchBar (my BTT preset), and I wanted to create it. It's my first Swift project for MacOS :)

Share your presets here

Mackbook with touchbar

Discord Telegram

PayPal donate button Buy Me A Coffee My TouchBar My Rules (MTMR)

Installation

On first install you need to allow access for MTMR in Accessibility otherwise buttons like Esc, Volume, Brightness and other system keys won't work

screenshot 2019-02-24 at 23 19 20

🍏 → System Preferences → Security and Privacy → tab Privacy → Accessibility → MTMR

Examples

MTMR presets

Presets for touchbar

Customization

MTMR preferences are stored under ~/Library/Application\ Support/MTMR/items.json.

The pre-installed configuration contains less or more than you'll probably want, try to configure:

Built-in button types:

Buttons

  • escape
  • exitTouchbar
  • brightnessUp
  • brightnessDown
  • illuminationUp (keyboard illumination)
  • illuminationDown (keyboard illumination)
  • volumeDown
  • volumeUp
  • mute

Native Plugins

  • timeButton
  • battery
  • currency
  • weather
  • yandexWeather
  • inputsource
  • music (tap for pause, longTap for next)
  • dock (half-long click to open app, full-long click to kill app)
  • nightShift
  • dnd (Don't disturb)
  • darkMode
  • pomodoro
  • network
  • upnext (Calendar events)

Media Keys

  • previous
  • play
  • next

AppleScript plugins

  • sleep
  • displaySleep

Custom buttons

  • staticButton
  • appleScriptTitledButton
  • shellScriptTitledButton

Gestures

By default you can enable basic gestures from application menu (status bar -> MTMR icon -> Volume/Brightness gestures):

  • two finger slide: change you Volume
  • three finger slide: change you Brightness

Custom gestures

You can add custom actions for two/three/four finger swipes. To do it, you need to use swipe type:

    "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"
    }

You may create as many swipe objects in the preset as you want.

Built-in slider types:

  • brightness
  • volume

You can also make custom buttons using these types

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) then\rmake new Finder window\rset target of front window to path to home folder as string\rend if\ractivate\rend tell",
      // or
      "base64": "StringInbase64"
    },
  }

Note: appleScriptTitledButton can change its icon. To do it, you need to do the following things:

  1. Declarate dictionary of icons in alternativeImages field
  2. Make you script return array of two values - {"TITLE", "IMAGE_LABEL"}
  3. Make sure that your IMAGE_LABEL is declared in alternativeImages field

Example:

  {
    "type": "appleScriptTitledButton",
    "source": {
      "inline": "if (random number from 1 to 2) = 1 then\n\tset val to {\"title\", \"play\"}\nelse\n\tset val to {\"title\", \"pause\"}\nend if\nreturn val"
    },
    "refreshInterval": 1,
    "image": {
      "base64": "iVBORw0KGgoAAAANSUhEUgA..."
    },
    "alternativeImages": {
      "play": {
        "base64": "iVBORw0KGgoAAAANSUhEUgAAAAAA..."
      },
      "pause": {
        "base64": "iVBORw0KGgoAAAANSUhEUgAAAIAA..."
      }
    }
  },

shellScriptTitledButton

Note: script may return also colors using escape sequences (read more here https://misc.flogisoft.com/bash/tip_colors_and_formatting) Only "16 Colors" mode supported atm. If background color returned, button will pick it up as own background color.

Example of "CPU load" button which also changes color based on load value.

{
  "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\"\r\ttell process \"Activity Monitor\"\r\t\ttell radio button \"CPU\" of radio group 1 of group 2 of toolbar 1 of window 1 to perform action \"AXPress\"\r\tend tell\rend 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
}

Groups

{
  "type": "group",
  "align": "center",
  "bordered": true,
  "title": "stats",
  "items": [
    { "type": "play" },
    { "type": "mute" },
    ...
  ]
}

To close a group, use the button:

{
  "type": "close",
  "width": 64
},

Native plugins

timeButton

Attention! Works not all: https://en.wikipedia.org/wiki/List_of_time_zone_abbreviations

formatTemplate examples: https://www.datetimeformatter.com/how-to-format-date-time-in-swift/

locale examples: https://gist.github.com/jacobbubu/1836273

{
  "type": "timeButton",
  "formatTemplate": "dd HH:mm",
  "locale": "en_GB",
  "timeZone": "UTC"
}

weather

Provider: https://openweathermap.org
Note: you need to register on https://openweathermap.org to get your API key
Note: you may need to wait for near 20 mins until your API key will be activated by Openweathermap
Note: you need to allow using "Location Services" in your Mac OS "Security & Privacy" settings for 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 (experimental)

Provider: https://yandex.ru/pogoda. One click to open up weather forecast in your browser.
Note: you need to allow using "Location Services" in your Mac OS "Security & Privacy" settings for MTMR

  "type": "yandexWeather",
  "refreshInterval": 600 // in seconds

currency

Provider: 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 plugin. One click to start the work timer, longclick to start the rest timer. Click in progress for reset.

{
  "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

Network plugin. The plugin to show usage a network

{
  "type": "network",
  "flip": true
},

dock

Dock plugin

{
  "type": "dock",
  "filter": "(^Xcode$)|(Safari)|(.*player)",
  "autoResize": true
},

upnext

Calender next event plugin Displays upcoming events from MacOS Calendar. Does not display current event.

{
  "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:

Example:

"actions": [
  {
    "trigger": "singleTap",
    "action": "hidKey",
    "keycode": 53
  }
]

Triggers:

  • singleTap
  • doubleTap
  • tripleTap
  • longTap

Types

 "action": "hidKey",
 "keycode": 53,
  • keyPress
 "action": "keyPress",
 "keycode": 1,
  • appleScript
 "action": "appleScript",
 "actionAppleScript": {
      "inline": "tell application \"Finder\"\rif not (exists window 1) then\rmake new Finder window\rset target of front window to path to home folder as string\rend if\ractivate\rend tell",
    // "filePath" or "base64" will work as well
 },
  • shellScript
 "action": "shellScript",
 "executablePath": "/usr/bin/pmset",
 "shellArguments": ["sleepnow"], // optional
  • openUrl
 "action": "openUrl",
 "url": "https://google.com",

Additional parameters:

  • width restrict how much room a particular button will take
  "width": 34
  • align can stick the item to the side. default is center
  "align": "left" // "left", "right" or "center"
  • bordered you can do button without border
  "bordered": "false" // "true" or "false"
  • background allow to specify you button background color
  "background": "#FF0000",

by using background with color "#000000" and bordered == false you can create button without gray background but with background when the button is pressed

  • title specify button title
  "title": "hello"
  • image specify button icon
  "image": {
    //Can be either of those
    "base64": "iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAABGdB...."
    //or
    "filePath": "~/img.png"
  }

Troubleshooting

If you can't open preferences:

  • Opening another program which can't edit text
    1. Open Terminal.app
    2. Put open -a TextEdit ~/Library/Application\ Support/MTMR/items.json command and press Enter

Buttons or gestures doesn't work:

  • "After the last update my mtmr is not working anymore!"
  • "Buttons sometimes do not trigger action"
  • "ESC don't work"
  • "Gestures don't work"

Re-tick or check a tick for access 🍏 → System Preferences → Security and Privacy → tab Privacy → Accessibility → MTMR

Credits

Built by @Toxblh and @ReDetection.

Analytics

Issues
  • The wrong `⎋esc` button

    The wrong `⎋esc` button

    The ⎋esc button doesn't exactly same as that in the native Control Strip, it seems to that the buttons are 'locked' when pressing some keys:

    • I cannot exit from Switch bars ( ⇥tab) without triggering anything (when holding ) by pressing esc.
    • Force Quit... ( ⌘⌥ ⎋esc ) cannot be triggered.

    Furthermore:

    • (very low possibility and can be denied) Finder Browsers in some specific apps cannot be closed by pressing ⎋esc.
    bug Can't fix 
    opened by Loovemaker 17
  • update and all applescript ko, an idea ?

    update and all applescript ko, an idea ?

    hello, I just made the maj, late many versions, and switch under mojave meanwhile.

    no more of my scripts work, an idea?

    Everything is ok when I launch them from the editor. But from MTMR it does not work.

    A strange behavior, for example this script, seems to open the terminal, but not to launch the command.

    tell application "Terminal"
    	activate
    	my makeTab()
    	do script "ping google.com" in front window
    end tell
    
    on makeTab()
    	tell application "System Events" to keystroke "t" using {command down}
    	delay 0.2
    end makeTab
    
      {
        "type": "staticButton",
        "title": "🚀 ",
        "action": "appleScript",
        "actionAppleScript": {
          "filePath": ".../test.applescript",
        },
        "width": 34,
        "align": "right"
      },
    

    in fact, it's like just the first line was executed

    Not authorized to send Apple events 
    opened by PierreBrisorgueil 15
  • there is something wrong with Toggle current app in black list

    there is something wrong with Toggle current app in black list

    I think there is something wrong with Toggle current app in black list in the new version 0.18.5, pls make a check, it is different with the former versions, thanks.

    opened by FengweiHu 13
  • "no script" on valide appleScript

    Hello,

    just find something strange today :

     "source": {
        "filePath": "/Users/xxxx/Documents/appleScript/vox.applescript",
    }
    
    if application "VOX" is running then
    	tell application "VOX"
    		if player state is 1 then
    			set myArtist to (get artist)
    			set myTrack to (get track)
    			return myArtist & " – " & myTrack
    		else
    			return ""
    		end if
    	end tell
    end if
    

    result is ko -> no script

    with inline :

        "type": "appleScriptTitledButton",
        "source": {
          "inline":
            "if application \"VOX\" is running then\rtell application \"VOX\"\rif player state is 1 then\rset myArtist to (get artist)\rset myTrack to (get track)\rreturn myArtist & \" – \" & myTrack\relse\rreturn \"\"\rend if\rend tell\rend if"
        },
    

    result is ok

    opened by PierreBrisorgueil 12
  • Button for lock screen

    Button for lock screen

    Hey,

    first of all, thank you for this tool, great idea buddy! :) I would like to change the behavior of your sleep button to just lock the screen. Could you implement this? Something like mode={sleep|lock} maybe :)

    enhancement 
    opened by RickS-C137 11
  • YandexWeather is showing words instead of emojis

    YandexWeather is showing words instead of emojis

    I'd like to use YandexWeather widget, as i find it more accurate for my region (i know that its WIP) All i need is a little improvement to allow widget show emojis instead of text (like in other weather widget), and i found this dictionary here: (YandexWeatherBarItem.swift) private let iconsSource = ["Ясно": "☀️", "Малооблачно": "🌤", "Облачно с прояснениями": "⛅️", "Пасмурно": "☁️", "Небольшой дождь": "🌦", "Дождь": "🌧", "Ливень": "⛈", "Гроза": "🌩", "Дождь со снегом": "☔️", "Небольшой снег": "❄️", "Снег": "🌨", "Туман": "🌫"] As I see, you expect the response from API to be in russian Please add english words

    Thanks

    opened by valeriu33 8
  • Static button with base64 encoded image not work

    Static button with base64 encoded image not work

    This will not work, although image renders correctly:

    {
      "type": "staticButton",
      "action": "shellScript",
      "executablePath": "/usr/local/bin/maclock",
      "width": 36,
      "align": "left",
      "image": {
        "base64":
          "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAiEAAAIhAENVwL6AAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAQtQTFRF////gICA////VVVV////1dXVVWqA1dXVUmZ6xMzEWGh4ycnJUmt6U2x7Ump4Uml71t/bVGp72traVGp5U2x4yMrIU2l4VGl6xsrGVGp6VGp5U2t5U2l529/fyMvIusC/VGp5xsnGxsnGu8HAVGp5VWl5VGp53ODgx8rHVGt5mKSnx8rHVWl509nZ3+PjxsrGU2p54OTkVGp53+PjVGp51Nrbx8rHVGp5sLu/yMrI4eXmx8rH4ubnVGp54+npVGp5VGp55err5errTExPVGp5X19hX2BiYGFjZGRnZGVoZmZpfH1+gYKDhIWGiIqMj5GTk5WXlJaWp6qsu767wsXCx8rH2Nze4ebn5+ztsVhOVQAAAEN0Uk5TAAICAwQGDAwZHiAhMjQ1ODg6PlJTYWhtfoCLjZadoaOkq7C1t7i5vsDJyc3Q3Nzd4uPm5+jp6u/v7+/w9ff6/P39/otxtB4AAAEASURBVDhPpdDnTgJBFAXgRYqAFCmCNEFUEERERJbe7hE7RVB4/ycxkCEzu7BjIufXnJwvuckoCo8pGM1UKplo0KTsjCsHlpxr1x7pAeWrWOyyDPQi23sAUMPm1cscVoGAfneqKNk3xV6C6tSBONpu3txtxHWggJRYUyhod1sXIbGH0LVpgAfwid0HeDTAC3hlfW9wcJLM5y/S6zys81ir3SYsm916/c2z5GkcMnAq7CJYZhm4MQItBupGYMBAk8+zj/GPFLwTjaRgSPQqBU9EL/uBZ6I3KfgkmkjBfPq1kII/P+qf4M4IdBg4MwJFBhziDfHCMQPK0Xl1G/Tv/avtFzQPtEKn9N7CAAAAAElFTkSuQmCC"
      }
    },
    

    this works but not render image

    {
        "type": "staticButton",
        "action": "shellScript",
        "executablePath": "/usr/local/bin/maclock",
        "width": 36,
        "align": "left",
        "title": "🔒"
      },
    
    

    this works fine

    {
        "type": "staticButton",
        "action": "shellScript",
        "executablePath": "/usr/local/bin/maclock",
        "width": 36,
        "align": "left",
        "title": "sleep"
      },
    
    bug 
    opened by trntv 8
  • Custom shell script does not run

    Custom shell script does not run

    I've followed every example I can find in presets and issues but can't get this script to run. I'm not even seeing the log at the top output to Console.app. Is there any way to get more debug logging out of mtmr? Can you see something wrong?

    Button:

    {
        "type": "staticButton",
        "title": "monitors",
        "action": "shellScript",
        "executablePath":"/Users/mark/projects/displays/displays.sh",
        "shellArguments":"[]"
    }
    

    /Users/mark/projects/displays/displays.sh:

    #!/bin/bash
    logger "displays.sh"
    
    displayplacer \
    "id:ACF2279A-FB77-0E40-6A1E-2D8A54E66BD1 res:2560x1440 hz:60 color_depth:8 scaling:off origin:(0,0)" \
    "id:34CF6778-5B8D-0DE8-96DF-EB47172E8121 res:1792x1120 hz:60 color_depth:8 scaling:off origin:(217,1440)" \
    "id:33D760F8-4B26-66A9-FE3B-7A6DB94B50DD res:1440x2560 hz:60 color_depth:8 scaling:off degree:90 origin:(-1440,-504)"
    
    opened by markdon 7
  • Anyway to change a button's image/icon while running?

    Anyway to change a button's image/icon while running?

    Hello everyone,

    I'm currently creating my own preset, and within, currently creating my own Apple Music shuffle button. I have created my own script, but am having trouble making the icon appear as it's "interactive," or lights blue when pressed to indicate the music is being shuffled. Other than changing the base64 or filePath, is there any way to change the icon, like having two base64s, and letting the applescript decide, or something? If there's no other way, I might just change the file from within the appleScript. Whatever works haha.

    -Evan

    opened by evanswa0606 7
  • MTMR is not sleeping.

    MTMR is not sleeping.

    Apple's Touch Bar software can sleep after a while yet MTMR can't. I wonder is there any code about sleeping issue which I may add to json file?

    opened by ilimon3 0
  • dnd plugin: not working after Big Sur update

    dnd plugin: not working after Big Sur update

    Here's my config:

      {
        "type": "dnd",
        "align": "left",
        "width": 38
      },
    

    After the Big Sur update, the button is not toggling the do-not-disturb mode. The icon still changes its color, but it has no effect on the systme.

    opened by shalak 0
  • network plugin: broken layout after upgrading to Big Sur

    network plugin: broken layout after upgrading to Big Sur

    After I updated my OS to Big Sur, the network plugin has some padding issues:

    Here's how it looks like right now: image

    It's configured as folllowing:

      {
        "type": "network",
        "flip": true,
        "align": "right",
        "width": 90
      }
    
    opened by shalak 2
  • Double tap spotify for previous track

    Double tap spotify for previous track

    I want to be able to double-tap spotify for previous track, this is what I have now, anyone know how to do it?

    {
        "type": "appleScriptTitledButton",
        "source": {
          "inline":
            "if application \"Spotify.app\" is running then\rtell application \"Spotify.app\"\rif player state is playing then\rreturn (get artist of current track) & \" – \" & (get name of current track)\relse\rreturn \" Tap to Play ||  \"\rend if\rend tell\rend if\rreturn \"\"\r"
        },
        "action": "appleScript",
        "actionAppleScript": {
          "inline":
            "if application \"Spotify.app\" is running then\rtell application \"Spotify.app\"\rif player state is playing then\rpause track\relse\rplay\rend if\rend tell\rend if\r"
        },
        "longAction": "appleScript",
        "longActionAppleScript": {
          "inline": 
            "if application \"Spotify.app\" is running then\rtell application \"Spotify.app\"\rif player state is playing then\rnext track\rend if\rend tell\rend if\r"
          },
          
        "refreshInterval": 1,
        "image": {
          "base64":
            "iVBORw0KGgoAAAANSUhEUgAAAEAAAABABAMAAABYR2ztAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAYUExURUdwTB3WXx3UXh3VXx7XYBkXFRpVLRyURmIaeAQAAAAEdFJOUwDDO3fSqUUkAAABbklEQVRIx61VbW6DMAztoAeYNA7ApB6gkzhAWS24wIAL0HABaK6/pHFNEhy8TXu/kPzkPD/8cTj8K7KPAqB+K5NhQPCUrABCXe7HOUYYZxgVRLiG8RfY4DUgFFtC7cffAfZTFBwBdhWEKfgEq4ocEjgj4ZQifO6/QG9kkETp1dDeVWfRKx3XYSW0LoqY5kCElXDrQkyeCCuh6WL0M4nIWQIyzqixdfKU1koFDKvyCA8NJMzU4xiD+b4kfHRpsIyKc6hBwjVptFHVY51EMAINNDFGJITKDNQcdpX74Hz0CQ3rY5qwMp4EIxrlafzrsYZ2Veb0DkRgfNCUok4Y1fqEijfyi2b8RE9beWqa48Y/uvCNMcH9btfUi+/CGLR1vhL6Zz9N/vBlaCU+7lwY/cmJ67Ryen/2tj23PLqJBodZH8vgj544vOL4pxfI5acrSFxi8hrkU9TSKr78ZpnL50A8KPJJEo+afBblwyqf5j/iGys5j6ScrST2AAAAAElFTkSuQmCC"
        }
        },
    
    opened by Ashvir16 0
  • [Feature Request] Media Scrub

    [Feature Request] Media Scrub

    So you know the scrub bar, the one to scroll through videos/media like youtube or spotify, is there a code for that, and so that it only shows up when a media is playing? Ideally it would be hold the icon then slide but if its just the slider that works too. Was hoping someone would have it. The only leads I have on this is for Better Touch Tool where someone made this

    https://community.folivora.ai/t/player-controls-for-itunes-youtube-including-slider-widget-for-scrolling-through-track/5605

    So anyone have anything like this?

    opened by Ashvir16 0
  • Change the default of `escape` button to `exitTouchbar`

    Change the default of `escape` button to `exitTouchbar`

    Macbook PRO has a hardware ESC button. It takes a time to examine why do I need an esc button in MTMR. It is better to make an advice to change it for users in README or change it programmatically on 1st install or on Open preset selection.

    opened by atassis 0
  • Could it make gesture also works in groups?

    Could it make gesture also works in groups?

    The gesture works in default touch bar, but when I switch into group, it does not work unless back to the default one. Could we make it working in everywhere?

    opened by bmVsc29u 0
  • Presets: Add section for code blocks / atomic presets

    Presets: Add section for code blocks / atomic presets

    I've been having a ton of fun fiddling with this utility, thanks for building it!

    One thing that I think would be especially useful for new users is an awesome-list.md file (maybe in the presets repo?) that documents code blocks at a more atomic level.

    The presets are great, but I'm thinking of a more atomic style that lists code blocks to-do with all of the misc code that folks have written to solve popular/obscure problems that aren't handled by default by MTMR. For example, I just finished modifying someone else's Zoom mute/video solution and there's not a good place for that to live -- since it's not really a full preset.

    opened by kevbost 0
  • Json Data

    Json Data

    hi, from a site through a http link I receive the following message {" SDTE ": 1619678077000," I1V ": 0," I1A ": 0," I1P ": 0," I2V ": 0," I2A ": 0 , "I2P": 0, "I3V": 0, "I3A": 0, "I3P": 0, "I4V": 0, "I4A": 0, "I4P": 0, "G1V": 0, " G1A ": 0," G1P ": 1200," G2V ": 0," G2A ": 0," G2P ": 0," G3V ": 0," G3A ": 0," G3P ": 0," FRQ " : 0, "EFF": 0, "INVT": 0, "BOOT": 0, "SSR": 0, "PMAXOTD": 0, "PMAXOTDTIME": 0, "timestamp": "29 \ / 04 \ / 2021 08:34:37 "," rice ": 0," ileak ": 0," awdate ":" -: - "}

    Is it possible to display the values of G1P and INVT on the touchbar? Thank you

    opened by fabix683 1
  • group can't display image - other labels such as a previously working

    group can't display image - other labels such as a previously working "customGroup" no longer function

    Hi, searching through the issues tab, I noticed this feature was previously implemented but no longer works. I am trying to display an image for a group, however whenever I attempt to define an image, nothing shows up. The widget itself still works, and if I edit the title from [""] to anything, that still appears as normal. In order to fix this, I looked through the codes' acceptable subclasses for groups and other user's previous suggestions, but none of those have worked. In fact, I have found that when a group is presented in any capacity other than "group" (such as customGroup, customGroupBar), the widget no longer functions but the image appears. Which, to clarify, means that the width and position of the widget(/image) are editable, and while my touch is registered (as the button 'flashes'), the group does not actually open/respond.

    I checked through a lot of the available presets and didn't see any errors with the actual code for the items inside the group nor any other parameters, so kind of reaching the extent of my knowledge here. I am running on about a semester and a half of a coding class back in year 10, so apologies if I'm missing something entirely obvious (or completely talking out of my ass here).

    Thank you!

    opened by gayfroggyface 1
Releases(v0.27)
Owner
Anton Palgunov
Lead Frontend Engineer. Making life easier. My blog in telegram https://t.me/s/toxblh_blog
Anton Palgunov
😀 Touch Emoji — emoji picker for MacBook Pro Touch Bar

Touch Emoji Emoji picker for MacBook Pro Touch Bar. Launching an application adds the icon to Control Strip: Clicking on the icon opens a swipeable pa

lessmess 38 May 18, 2021
Use the Touch Bar on any Mac

Touch Bar Simulator Use the Touch Bar on any Mac Launch the Touch Bar simulator from anywhere without needing to have Xcode installed, whereas Apple r

Sindre Sorhus 1.6k Sep 23, 2021
Widgets manager for MacBook Touch Bar

Widgets manager for MacBook's Touch Bar Pock is a free, open-source tool that gives you quick access to your favorite controls and services while maxi

Pock 9.4k Sep 24, 2021
An open-source Spotify controller with TouchBar support

Muse An open-source Spotify, iTunes and Vox controller with TouchBar support, system-wide TouchBar controls (à la iTunes) and Spotify account integrat

null 608 Aug 24, 2021