Открыть изображение »
Делаем тачбар наконец-то полезным
Полностью отказавшись от идей Apple
21 февраля 2018 :: 118 комментариев :: 12546 просмотров :: 2706 слов

У поста вышла английская версия с исправлениями и улучшениями

Макбук Про 15" с тачбаром — моя основная машинка уже больше года. На нём я работаю, пишу эти посты и вообще провожу всё время, которое не сплю. Яжпрограммист.

Когда я только его купил, я говорил, мол, тачбар — топ пушка. Приложения допилят и будет булочка, хоть облизывай. Прошел год, приложения допилили, но особо полезным тачбар не стал. Тогда я бомбанул обраточку и написал пост ненависти, где эмоционально навалил о его нелепости. Психанул.

Время поговорить начистоту. Как ПРО-юзер топового пятнадцатидюймового макбука ПРО за три тысячи евро, использующий его ежедневно для обработки фоточек, видео, текстов, кодинга и других ПРО-задач, заявляю: тачбар как был бесполезным днищем, так и остался.

Всё даже стало хуже, когда в лаборатории беспощадных инноваций Apple «переизобрели» кнопку Play/Pause в MacOS High Sierra. Теперь она управляет чем угодно — рекламными банерами, звуком уведомлений, только не плеером.

Тачбар беспомощен. Если у вас нет макбука с тачбаром и вы облизываетесь рекламные ролики про счастливых людей — одумайтесь. В реальной жизни он полезен не больше Siri (но этот пост может вам помочь).

Тачбаром пользуются потому что нет выхода. Если бы Apple сделали его дополнительным рядом, оставив мультимедиа-клавиши, каждый бы забывал о его существовании через пару дней.

Причина банальна: если вы не девочка-инстаграмер, 99% рабочего времени вы видите свой ноутбук так:

Счастливый обладатель роскоши под названием «руки», видит тачбар не чаще, чем раз в два часа. Первый раз — когда уходит налить себе кофе, второй — когда возвращается с чашечкой горячей капучинки из кофемашины.

Ни одному про-юзеру, под которых и создавался макбук «как бы» про, не придёт в голову хоть на секунду задуматься «дай ка скопирую этот текст с помощью тачбара». Каждый на автомате нажмёт Cmd+C.

Гайдлайны Apple, однако, гласят — нельзя выносить на тачбар уникальные фичи, которых нет на экране. Вы обделяете пользователей без тачбара и расстраиваете Тима Кука.

Тогда нахуя он мне вообще нужен?

7
Alexey дабл "тогда" в конце

Мы в западне, ведь макбуки приучили нас к хорошему. Остальные ноутбуки после них кажутся китайскими пластиковыми игрушками, прибитыми к полу. Макось, при всех своих косяках, лучше всех совмещает гибкость Unix-систем и юзабилити человеческих ОС.

Куда валить — на Убунту? Фотошоп под вайном гонять? Смотреть как падает плазма? Спасибо, наигрался.

Купить мощный макбук без тачбара тоже невозможно. Если взять про-13 без него и собрать в конфигураторе что-то вменяемое, получается 2600 евро за двухъядерный Core i5 на нищенских 2.5GHz. За эти деньги в про-13 с тачбаром можно засунуть проц на 3.3GHz. Накинув соточку, можно брать уже про-15 с четырехъядерным Core i7 и полноценной видеокартой.

А еще лучше сразу взять Ладу Приору в пацанском обвесе!

Кому интересен мой совет: берите про-13 с тачбаром и кастомом на 3+GHz, 16 RAM и 512 SSD. Даже если вы хотели 15" — нет, берите 13". Не пожалеете.

0
akella Чем лучше про-13, кроме меньшего веса, габаритов и размера экрана :)? Охлаждение - только один кулер на выдув.
2
vas3k akella, хотя бы тем, что не ломается в первый же год. Apple не осилили качество пятнах, моя в сервисе три раза была, у всех друзей минимум по разу что-то да ломалось. Тринашки при этом живее всех живых, только клавиатуры залипают, но это популярная проблема.
1
popik не бериие 13, не совершайте ошибку. 15 ван лав.
0
Alex vas3k +1, счастливый обладатель про 13", 16 GB, 1GB SSD и проц core i7 3.5, подписываюсь под каждым словом. Раньше юзал 15" ретина, очень доволен что пересел на 13, кто-то может сказать что это просто такой этап в жизни когда хочется компактный ноут - пускай и так :)
0
Danil Неужели не чувствуется дискретная карта? Кажется что лучше взять прошку хуже по мощности и с чуть меньшей оперативкой, но с дискреткой и так будет работать шустрее и тянуть пару моников.
0
vas3k Danil, если реально хочется пару моников, то стоит задуматься: а так ли важно делать это именно с макбука, или лучше под жирные задачи собрать что-то помощнее? А макбук взять всё-же 13, чтобы гонять с ним везде и быть более гибким.
0
Denis akella, в MBP 13 версии с тачбаром уже два кулера на выдув. Один в версии без тачбара. Я тоже сначала удивился. Почитай обзоры с вскрытием. Они внутри вообще разные. Только корпус один.

Но я программист, меня необманеш

Целый год я заставлял себя использовать тачбар. Уплóчено же. Страдания закаляют дух и делают тебя сильней.

Итоги года: да срал я на гайдлайны Apple. Тачбар должен быть одинаков и предсказуем. Не хочу запоминать кнопки в каждом приложении, хочу максимум пользы и информации всегда. Дайте мне просто дополнительный экран, как все представляли его до выхода.

Это ранние рендеры от Martin Hajek. Тогда никто еще и понятия не имел каким будет тачбар, но уже были утечки

Перед глазами, как вьетнамские флешбеки, замелькали скриншоты Conky и мой ArchLinux образца 2010-го. Погода на весь экран, температура и IP-адрес на пол рабочего стола, график загруженности процессора, повсюду часы и сегодняшняя дата — АААААААААААААА!!!

Для тех, у кого была нормальная юность, покажу как это было у нас:

Если вас немедленно стошнило — поздравляю, вы нормальный здоровый человек.

Для тех, кто ничего не понял, объясняю. В старших классах школы вы наверняка задавались вопросом — чем увлекается тот задрот-линуксоид с задней парты, вместо того, чтобы щупать упругих одноклассниц на вписках, как остальные подростки? Строит ракету? Планы по захвату мира? Проще. Он установил линукс и ХЕРАЧИТ ВЕЗДЕ ЧАСЫ НА ПОЛ ЭКРАНА, чтоб потом на ЛОР выложить.

Дикая дичь, я тоже через это прошел. Выглядит круто и «киберпанково» максимум на вечер. Со стороны смотрится, как будто надел на голову дуршлаг и уверяешь всех, что тевтонец. Красиво, но смысла никакого.

Вещи должны приносить пользу, а не делаться для красоты

Я стал наблюдать за своими ежедневными привычками и попутно шерстить треды на реддите.

Для нормальной кастомизации тачбара есть только одно приложение — BetterTouchTool. Оно глючное, интерфейс явно писали Чужие для Хищников, зато всего 5 долларов и первые 45 дней бесплатно. Умеет добавлять кнопочки или полностью заменять тачбар. Второе интереснее.

О настройке BetterTouchTool написана куча статей. Стас Кулеш вот недавно хорошо по шагам рассказал как с его помощью добавить на тачбар курсы криптовалют. Мастрид для новичков.

 +

Я прочитал, наверное, все гайды в интернете и разделил их на два лагеря по полезности лично для меня.

Круто Херня
Название текущего трека
Важнейшая фича. Всегда интересно что за трек принесла мне алгоритмическая подборка Spotify.
Курс биткоина
Не знаю почему этот виджет так популярен. Только от работы отвлекает.
Кнопки громкости
Кнопки рулят. Нажимать их быстрее, удобнее и можно вслепую.
Слайдер яркости
Занимает кучу кучу места, а нужен раз в неделю, когда смотришь сериал в постели.
Finder одним кликом
Очень хочется иметь доступ к Finder отовсюду. Стандартный тачбар так не умеет, это странно.
Используемая память
Абсолютно бесполезная цифра. В современных ОС она всегда под 100% и это нормально.

Из этих выводов может казаться, что я весь день только слушаю музыку и открываю Finder. Отнюдь. Я пишу код, деплою докеры и все мои рабочие инструменты давно заточены максимально удобно. Тачбар не улучшит их ни на йоту.

Однако, во время работы всегда происходят важные фоновые процессы. Музыка, например. Идеи, которые надо куда-то записать. Тачбар — идеальное место для таких штук. Которые не нужны постоянно, но когда нужны — каждый раз бесит их искать.

Пипетку, чтобы взять hex-код цвета с экрана, например.

С такими штуками я экспериментировал недели две. Писал виджеты, жил с ними, менял, опять наблюдал. Наконец мне есть что показать и похвастаться:

0
den платишь за спотифай? или бесплатного хватает?
0
не автор мне хватает бесплатного, раз в 2 недели нужно лишь перезаходить по vpn и всё

Наверняка что-то еще поменяется, но за это время уже заметил, что стал реально чаще пользоваться тачбаром. Теперь я всегда помню где какая кнопка. Выкуси, Джони Айв.

С любовью расскажу про каждую иконочку, там в каждой куча хитростей и смекалочки.

0
den а можно esc налево до конца? чтоб был ровно в ряд с кнопкой консоли в кс?
1
noname den, нет, но сенсор там работает

ESC навсегда!

Несколько раз мой тачбар попросту «зависал» в режиме, когда кнопка Esc скрыта. Зачем вообще сделали такие режимы — ума не приложу, но первым делом надо намертво прибить Esc к своему углу. Это делается полной заменой тачбара на BetterTouchTool.

Клик по иконке правее возвращает тачбар в обычный режим. Мало ли что. Пока не пригождалось, но убрать её нельзя.

Первый в мире предсказуемый Finder

Вот хочешь загрузить картинку, перетащив её в браузер, кликаешь по файндеру, а он уносит тебя куда-то на 6-й экран рабочего стола. Там ведь уже открыт! Спасибо, блять, очень полезно. Добиться от Finder открывать новое окошко всегда прямо здесь и сейчас оказалось невозможно стандартными средствами MacOS.

Помочь может AppleScript. Там это тоже не совсем тривиально — надо сначала насильно сказать файндеру создать новое окно, а потом приказать перейти в домашнюю папку и отдельной командой поднять его поверх всех окон. Только так, другие способы не помогают.

От программирования на AppleScript постоянно ощущение, как будто в текстовую RPG играешь. Весело:

tell application "Finder" make new Finder window set target of front window to path to home folder as string activate end tell

1
Андрей убрать кнопку BTT все же можно, в настройках тачбара галка "
If control strip is hidden: Show BTT icon..."
0
Khabaroff Finder есть в Predefined Actions http://pics.khabaroff.com/2018-03-03_15-16-35-d177f.png
0
Khabaroff Понял :)
0
jno это - COBOL, чувак! :)

Sublime Text и Notes

Опытным путём выяснилось, что именно в эти приложения мне нужен доступ всегда и отовсюду. Остальные я расставляю по рабочим столам или переключаю с клавиатуры, а вот эти два отщепенца постоянно где-то теряются.

Не хочу я выходить из полноэкранного режима своей IDE, чтобы записать внезапно осенившую идею в заметки. Или чтобы сохранить кусочек кода в саблайм.

По сути это обычные кнопки приложений. Как в доке. Вы можете добавить туда любые. Сначала и у меня там тоже был целый зоопарк, в итоге остались только эти два. Я же не заменить Dock собираюсь, а юзабилити улучшить.

 +

Текущий трек из Spotify, iTunes

Отображать название трека — самая нужная фича, которую стандартный тачбар никогда не умел и, по-видимому, не будет. Вместо этого Apple рисует мне огромный слайдер временной шкалы. То есть я понятия не имею какой трек сейчас играет, но точно знаю, что осталась половина. Удобно прям офигеть =/

Нафиг слайдеры и кнопки, нужно название трека и иконка для красоты. AppleScript для этого легко гуглится, тут не буду его приводить, ниже я выложу полную версию своего конфига и любой сможет поковыряться.

Клик по названию трека работает как команда «next». Сильно экономит нервы, когда в твою музыкальную подборку внезапно врывается какой-нибудь «Антоха МС».

Фишка моего скрипта еще и в том, что он универсально работает как со Spotify, так и с iTunes, в зависимости от того, кто сейчас играет музыку. Даже если оба одновременно — тоже работает.

Но как включить предыдущий трек? А никак. Кнопка «prev» нужна так редко, что ей не место на тачбаре. Только вперед! Когда реально нужна — можно и ручками в плеер сходить.

[скрыть все] [развернуть все]  13 комментариев
1
ibakepunk Можно же запилить свайпы по виджету, чтобы треки переключать! А тап, например, будет открывать плеер.
0
ibakepunk ну или нельзя, тут я хз ваще
0
vas3k ibakepunk, топ тема. BetterTouchTool так не умеет, но если мы тут соберемся писать своё — надо будет попробовать запилить :)
0
3ak А у меня что-то текущий трек из iTunes не выводится на тачбар. А в ютюбе всего 2-3 символа видны
0
3ak В общем, с iTunes беда. Нельзя получить информаци о треке, если он проигрывается из вкладки "Library"
0
3ak Поправочка - если он проигрывается из раздела "Downloaded" вкладки "Library"
0
Stas что за скрипт? где можно взять?
0
vas3k Stas, в конце я приложил ссылочку на полный пресет. Если просто скрипт интересует, они у меня есть в английской версии поста (в русской что-то не догадался их вставить): https://vas3k.com/blog/touchbar/
0
Stas Ага, благодарю) как установить этот скрипт? чот не пойму, скрипт вижу 298 строк, какого расширения должен быть файл чтоб его в bettertouchtool залить?
0
Stas есть где нибудь скрипт чтоб показывал еще тактовую частоту проца в реальном времени?
0
Stas точнее пресет делаю импорт он не понимает json
0
Stas пишет что wrong format и не может его импортировать.
0
Stas как можно реализовать включение предыдущего трека по длинному нажатию на воспроизводимый трек?

Музыка из VK или YouTube

Изредка я слушаю музыку прям в браузере. Кидают мне иногда ссылки на YouTube или VK, ну я и слушаю. Мне показалось это будет киллер-фичей, если мой тачбар научится отображать название трека и из них.

Для этого был написан хитрый AppleScript, который бегает по открытым вкладкам Safari и ищет страницы, которые начинаются на youtube.com/watch или vk.com/music. А потом просто отображает заголовок вкладки. Красиво, удобно, ни у кого такого нет.

По клику уносит сразу на нужную вкладку с музыкой. Можно было бы применить немного магии джаваскрипта и заставить его переключать треки, дергая страничные JS-вызовы, но решил так не заморачиваться.

BetterTouchTool тут вставляет палку в колёса, так как умеет только запускать скрипт по таймеру. Нельзя, например, написать плагин для браузера, который бы сам сообщал ему «отобрази вот этот текст». Приходится дергать скрипт раз в 20 секунд и надеяться, что это не нагрузит проц или батарейку.

Надо писать свой BetterTouchTool с блекджеком.

 +

Напоминания

Тайм-менеджмент не практикую и дела в календаре не веду. Хватает простого списочка дел в Reminders.app на iOS/MacOS. На тачбаре хотелось видеть самое верхнее приоритетное напоминание, которое еще не закрыто.

Вот я неделю не мог перевести деньги за страховку. А тут два дня повисело, понадоедало, пошел перевёл. Можно даже прокричать тупой Siri «эй, напомни мне купить молока» и напоминание появится на тачбаре. Из двух бесполезных штук собрать одну полезную — кайф.

По клику открывается полный список в приложении Reminders. Там можно отметить как завершенное или добавить еще.

Если напоминание длинное или трек в Spotify занял всё место — середина тачбара умеет скроллиться. Никаких проблем.

0
Антон только что открыл для себя reminders! до этого засорял keep.google.com и Notes

Погода

Моя старая личная прихоть, но мне нравится видеть погоду за окном. Не знаю почему. Сидишь в помещении целый день, за окном мороз, а тебе хорошо — приятно. За окном тепло и солнечно — тоже приятно, вечером пойду погуляю.

Давным-давно у меня была маленькая утилитка, которая показывала текущую температуру в трее. Одна из первых программ, которую я осознанно купил. Потом, правда, сгнила и перестала работать.

Решил заморочиться и рисовать такую же на тачбар. Главная проблема таких штук — они всегда требуют руками указать город, а я постоянно забываю его переключать в поездках. Надо вообще всё автоматизировать! Понравилось как это делается на wttr.in — по IP вычисляется город, по городу погода. На AppleSctipt'е написать такое не осилил, зато на питоне — пять строк через ip-api и OpenWeatherMap.

По клику открывается сайт гисметео, где можно посмотреть полноценный прогноз.

Хотите сделать хорошее дело и шарите в AppleScript? Попробуйте переписать мой Python-код на AppleScript, тогда всем станет в разы удобнее!
Благодарности летят юзеру adsky, который первым это сделал. Ура! Версию в конце поста обновил.

2
adsky # https://itunes.apple.com/ru/app/json-helper-for-applescript/id453114608?l=en&mt=12
# https://itunes.apple.com/ru/app/location-helper-for-applescript/id488536386?mt=12
tell application "Location Helper"
set clocation_coords to get location coordinates
tell application "JSON Helper"
set weather to fetch JSON from "http://api.openweathermap.org/data/2.5/weather?lat=" & item 1 of clocation_coords & "&lon=" & item 2 of clocation_coords & "&units=metric&appid=..."
set temp to temp of main of weather as string
return temp & "°C"
end tell
end tell
0
vas3k adsky, офигенно! Добавил в пост, обновил пресет :)
0
euf Вот бы ещё заменить перед погодой дефис (-) на минус(−), а то глаза режет. И не спутать с коротким (–) или длинным (—) тире. Зачем столько аутизма? Просто дефисы и тире во всех шрифтах выровнены по высоте строчных букв, а минус — по высоте цифр, поэтому опрятнее.
0
adsky set defDel to AppleScript's text item delimiters
set AppleScript's text item delimiters to "-"
set newname to text items of temp
set AppleScript's text item delimiters to "−"
set the temp to (newname as string)
set AppleScript's text item delimiters to defDel
0
Олег у меня нипалусилос.. координаты 0.0 0.0

Кнопка «налить кофейку»

Жизненное правило любого офиса: уходя — всегда блокируйте экран. Даже объяснять не надо почему.

Раньше на маках для этого был удобный шоткат Ctrl + Shift + Power. В макбуках с тачбаром вместо кнопки Power сделали Touch ID и с шоткатами он не работает. Самое тупое, что в Apple до самой High Sierra не хотели делать ему замену, предлагая использовать «горячие углы» или самому настраивать себе шоткаты в настройках.

В High Sierra они сдались и сделали Ctrl + Cmd + Q, но даже он не работает как надо. Да, он лочит компьютер, но не выключает экран! Серьезно? Не говоря уже о том, что чтобы его нажать, нужно быть настоящим пианистом.

Решение было однозначным — нужна кнопочка «Перерыв на кофе» чтобы лочить компьютер и гасить экран. Сделал и теперь постоянно ей пользуюсь. Еще и иконка с чашечкой приятная — все сразу обращают внимание и спрашивают как сделать себе такую же.

[скрыть все] [развернуть все]  10 комментариев
1
000 Сначала принял чашку кофе за мусорный бак, реально кто-то пользуется корзиной?
3
alextewpin Кнопку лока можно настроить и так — встроенной кастомизацией тачбара
2
Антон вроде бы Control + Cmd + Q. У меня по крайней мере так, я вроде бы ничего не менял.
1
Олег Нафига для этого отдельная кнопочка? Я настроил включение скринсейвера на бросок мыши в правый нижний угол. Юзкейс прост: хочешь отойти - брось мышь в правый нижний угол, профит.
0
vas3k Олег, ну во-первых это красиво! Про «горячие углы» я упомянул во втором абзаце, но они у меня как-то не прижились.
2
popik Всмысле? Есть же кнопка лока, настраивается в дефолтных настрофках тачбара. Локает экран, при этом не лочит мак, т.е. вайфай и прочее продолжает работать.

Хотя, видимо с беттертачем это не пройдет.
0
Andrey Ctrl+Cmd+Q если после этого нажать "esc" то экран отключится.

Не уверен, что на тач баре в лок скрине в это время есть "esc"
1
null Все там есть. Лок экрана, наверное единственная кнопка, которую я активно юзаю в родном тачбаре.
0
vas3k Налетели, ну налетели. Я же говорил, что этой кнопки на тачбаре нет. Тоже выносил её на стандартный тачбар, когда еще не было кастома. А в кастоме сделал себе такую же, потому что она офигенная.
0
anon использую для этого "горячие укглы". кидаешь мышь в верхний правый угол и бука уходит в слип блокируя экран

Громкость без слайдеров

Выше я рассказал почему ненавижу слайдеры на тачбаре. Они сразу были заменены на обычные кнопки громкости, которые через какое-то время начинаешь нажимать практически вслепую. Кажется, я даже стал добрее, когда перестал с точностью ювелира каждый раз пытаться выставить грёбаную громкость в нужное положение.

upd: Я знаю, что слайдеры на тачбаре можно крутить не отрывая пальца после нажатия, это они хорошо сделали. Я о том, что любая попытка на слайдере поднять громкость с 2% до 5% напоминает выставление температуры воды в душе — попасть сразу нереально. Кнопкой же это делается одним нажатием.

Обратите внимание как тесно расположены кнопки в этой части тачбара. Если располагать их по гайдлайнам, они займут примерно в два раза больше места, но опытным путём было выяснено, что для меня это самый удобный размер.

1
popik Кстати на слайдер не нужно тапать, а потом тянуть. Достаточно тапнуть и тянуть сразу, не отпуская пальца. Удобно, стильно, модно, молодежно.
0
null Я без слайдера яркости жить не могу, со звуком согласен.
0
Stas мне на громкости сладер стандартный нравится как у apple, в betertouchtools он грамоздкий. не знаю как в bettertouchtools такой же реализовать?

Умный «Play»

Начиная с MacOS Sierra кнопку Play/Pause переделали «чтоб как в айфоне». Теперь она управляет не музыкальным плеером, а вообще любым медиа. Типа универсально.

На айфоне с этим проблем нет, а вот в маке даже секундный звук нового сообщения на вкладке с VK или всплывающая видеореклама становится для неё главнее, чем музыка, три часа игравшая до этого в Spotify. Тычешь потом по Play/Pause и не понимаешь почему музыка не останавливается. А она теперь тем левым видеобанером на пятнадцатой вкладке Safari управляет!

В Apple похоже так гордятся своей гениальной инновационной идеей, что не собираются это исправлять. Решение-то я нашел, рандомный чувак из интернетов написал утилитку с креативным названием High Sierra Media Key Enabler. Работает норм, три месяца с ней живу.

Кто хочет еще больше контроля и управления веб-плеерами, посмотрите BeardedSpice.

В рамках полного тачбар-кастома надо делать всё по уму. Под моей кнопкой Play/Pause скрывается AppleScript, который выдаёт команды iTunes/Spotify, в зависимости от того, который сейчас играет музыку. Приятная мелочь — когда никто из них не не запущен, нажатие на Play автоматически запустит Spotify. Не надо больше тупить и думать запущен ли он. Вкалывают роботы — счастлив человек.

Косяк только один — BetterTouchTool не умеет менять иконку на кнопке по нажатию, потому приходится делать это по таймеру. Ну и хрен с ним, можно было вообще только треугольничек оставить.

0
Stas у меня когда spotify играет и загружен itunes в dock, нажимаю play pause кнопку, то начинает проигрывать itunes и они синхронно начинают играть. Но я скрипт разделил, отдельно для spotify и отдельно для itunes, чтоб видно было иконку какой играет плеер на touchbar, может это можно было сделать через альтернативную икону, но не знаю как написать скрипт правильно... как это можно поправить?

Их величество ЧАСЫ

Сам же три экрана назад бомбил, что линуксоиды часы в пять разных мест выводят, чо началось-то! Всё так. Но здесь часы выполняют две важные и неочевидные функции.

Первая: любая кнопка над клавишей Backspace/Delete будет постоянно случайно нажиматься. Это место — зона погибели и страданий. Там нельзя размещать никакие экшены, если не хочешь случайно их активировать каждые 5 минут. Наверное поэтому Apple разместила там кнопку Siri. Представляю как аналитики ликовали успеху. Мы же там разместим просто часы.

Вторая: полноэкранные приложения. В PyCharm я провожу большую часть дня. Он всегда развёрнут на весь экран, чтобы максимально использовать экран и я меньше отвлекался на сообщения о «важных багах, которые надо пофиксить ASAP» в Слаке. В полноэкранном режиме часы не видны и можно легко пропустить дневной митинг или другую важную штуку.

Короче, в этих часах есть смысл. Можно было бы отображать там погоду, но пришлось бы её делать некликабельной.

 +

Весь мой конфиг выглядит так:

Не забудьте убрать вот эту галку в настройках BTT, чтобы он заменил весь тачбар:

Как и обещал, выкладываю пресет полностью: vas3k_v2.bttpreset. Чтобы импортировать его в свой BetterTouchTool, надо нажать Manage presets -> Import. Чтобы работала погода, надо еще скачать и установить JSON Helper и Location Helper.

Поковыряйтесь, там всё просто и понимается за вечер. Может соберете на его основе что-то полезное лично для вас. Если что-то получится, присылайте пулл-реквесты в наш специальный гитхаб: vas3k/btt-touchbar-presets.

Как обычно, собираю идеи какие еще виджеты могут быть полезны в комментариях. Если у меня тут есть скучающие макос-программисты, можем замутить коллаб и написать свою тулзу, я знаю как сделать круче и удобнее. Будем продавать по $9.99, озолотимся!

А потом нас всех возьмут в Apple, потому что мы офигенные.

[скрыть все] [развернуть все]  11 комментариев
0
Draugas а ты как с клавиатуры на ты или на вы? Как быстро пишешь, так просто интересно.
0
vas3k Draugas, никогда не считал точно. Мне хватает, вроде быстро.
0
Anonymous В одно время хотел было сесть написать EvenBetterTouchTool, но ощущение что выпилят этот тачбар скоро к хуям, поэтому даже не хочется вкладываться в это. В итоге я пользуюсь им очень очень редко, вроде громкости, чтобы не привыкать даже.
2
Роро На айфончике не влазят камменты по ширине. :(
0
не автор Роро, не баг, а фича.
1
Alex все круто, я бы добавил еще "следующее событие в календаре сегодня" и показывать при чем только время для экономии места. Например, если у тебя митинг в 5, то ты такой в 3 глянул (не открывая календаря) и думаешь: "о у меня еще 2 часа есть"
0
Митя В итоге просрано время на настройку всего этого, на написание статьи, на попытки этим пользоваться. TouchBar не нужен и нужно просто ждать пока его уберут.
1
null Его не уберут, его заменят на тач экран вместо со всей оставшейся клавиатурой, и вот тогда мы окончательно соснем хуйца.
0
Stas как установить пресеты? и скачать этот json?
0
sergey a. ругается на твой пресет, говорит что "it seems to be in wrong format"
0
vas3k sergey a., автор BTT изменил формат пресетов в последней версии. Перезалил на гитхаб в новом формате.
Комментарии
2
cornholio ⸬ 22 февраля 2018, 00:13 ⸬ Moscow, RU ⸬ Apple лог
#
Про кнопки без слайдеров: у кнопок со слайдерами самое збс, что их можно ткнуть и сразу двигать, не позиционируя палец на появившемся слайдере.

Кнопку лока тоже вынес на тачбар, но слишком много было мискликов, так что оно у меня в середине бара, обрамлённое кучей свободного места : |
3
s_mordvinov ⸬ 22 февраля 2018, 02:17 ⸬ Novosibirsk, RU ⸬ Windows лог
#
Научно-технический Рэп - Папа может в СИ :3
5
adsky ⸬ 22 февраля 2018, 07:44 ⸬ Saint Petersburg, RU ⸬ Apple лог
#
для файндера лучше сделать так (вместо хардкода пути "/Mac HD/Users/vas3k"):

tell application "Finder"
set homeFolder to path to home folder as string
make new Finder window
set target of front window to homeFolder
activate
end tell

В статье не указано, но чтобы было красиво как на картинках, то нужно в настройках BTT (Touchbar -> General Touch Bar Settings) убрать галку с Show macOS Control Strip :)
1
vas3k ⸬ 22 февраля 2018, 08:31 ⸬ Vilnius, LT ⸬ Apple лог
#
cornholio,
> у кнопок со слайдерами самое збс, что их можно ткнуть и сразу двигать, не позиционируя палец на появившемся слайдере.
Конечно, я только так и делаю. Когда в первый раз в Apple Store тачбар увидел это было первое, что я протестил. Разве кто-то реально позиционирует палец?

Но всё равно кнопки (которые можно просто нажимать много раз, а не тянуть) — удобнее, как по мне.

> так что оно у меня в середине бара, обрамлённое кучей свободного места : |
То есть ты тоже отключил App Controls и оставил только Control Strip? :D
Первый шаг к собственному кастому, я тоже так сначала сделал

s_mordvinov,
> Научно-технический Рэп - Папа может в СИ :3
Топовый трек же!

adsky,
> для файндера лучше сделать так (вместо хардкода пути "/Mac HD/Users/vas3k"):
Во, благодарочка, как раз искал это. Я в AppleScript вообще ничего не понимал до этих экспериментов, так что делал как умел.

> В статье не указано, но чтобы было красиво как на картинках
Важно, согласен. Сам гуглил это минут пять. Укажу.
2
Bobo ⸬ 22 февраля 2018, 11:18 ⸬ Mykolayiv, UA ⸬ Apple лог
#
Хоть бы клавиши протер перед снимком :) А вообще раздражает, что слегка жирные клавиши выглядят как говно.
2
Immelstorn ⸬ 22 февраля 2018, 12:57 ⸬ Dnipro, UA ⸬ Apple лог
#
Подправил немного ваш конфиг, сделал чтоб кнопка play/pause иконку-таки меняла.

http://take.ms/JXy9z - скрин
И скрипт:

tell application "Spotify" to set playerState to player state

property spotPause : «constant ****kPSp»
property spotPlay : «constant ****kPSP»

if playerState = spotPause then
return "play"
else if playerState = spotPlay then
return "pause"
end if
0
vas3k ⸬ 22 февраля 2018, 13:13 ⸬ LT ⸬ Apple лог
#
Immelstorn, фигасе, оказывается так можно было. Ща добавлю в свой пресет :)
0
concrete ⸬ 22 февраля 2018, 15:28 ⸬ RU ⸬ Apple лог
#
Написал покупать кастом, а как его купить чтобы не охуеть от цены?
0
vas3k ⸬ 22 февраля 2018, 15:28 ⸬ LT ⸬ Apple лог
#
concrete, долго и усердно трудиться!

Или наворовать как все ¯\_(ツ)_/¯
6
adsky ⸬ 22 февраля 2018, 16:22 ⸬ Saint Petersburg, RU ⸬ Apple лог
#
можно еще добавить иконку погоды:

set cond_icon to icon of item 1 of weather of weather as string

if cond_icon is in ["01d", "01n"] then
set cond to "☀"
else if cond_icon is in ["02d", "02n", "03d", "03n", "04d", "04n"] then
set cond to "☁"
else if cond_icon is in ["09d", "09n", "10d", "10n"] then
set cond to "☂"
else if cond_icon is in ["11d", "11n"] then
set cond to "☈"
else if cond_icon is in ["13d", "13n"] then
set cond to "☃"
else if cond_icon is in ["50d", "50n"] then
set cond to "♨"
else
set cond to ""
end if

return cond & " " & temp & "°C"
1
Andrey ⸬ 22 февраля 2018, 16:26 ⸬ Kiev, UA ⸬ Apple лог
#
У меня скрипты не работали пока  Spotify не выпилил (у меня не установлен и он ругался на скрипты)
1
Gif ⸬ 22 февраля 2018, 16:49 ⸬ RU ⸬ Apple лог
#
А в нем можно как-то стандартный слайдер громкости сохранить? Чтобы нажал на иконку → громкость изменил, не отрывая пальца → отпустил

Щас там есть слайдер громкости, но он неудобный, зараза. Или много места занимает, или надо сильно много движений делать, если его в папку засунуть
0
Roman ⸬ 22 февраля 2018, 19:43 ⸬ Moscow, RU ⸬ Apple лог
#
Лет 8 с маком, а всё не хватает win + e. Шоткей сделал конечно, но explorer всё равно не хватает. Сила привычки.
2
Stas Kulesh ⸬ 23 февраля 2018, 02:57 ⸬ Auckland, NZ ⸬ Apple лог
#
Мне показалось удобнее объединить паузу c названием трека https://www.dropbox.com/s/t1ok1pzbxs1j47k/Image%202018-02-23%2015-56-13.png?dl=0

Ну и не у всех Спотифай, я играю из Google Music в браузере, просто беру заголовок этой табы

> tell application "Google Chrome" to get title of tab 1 of window 1
0
adsky ⸬ 23 февраля 2018, 16:20 ⸬ RU ⸬ Apple лог
#
Если нужна батарейка, вот:
set theList to paragraphs of text of (do shell script "pmset -g batt")
set percent to word 6 of theList's item 2
if (percent as integer) < 100 then
return percent & "%"
end if
2
podkovyr ⸬ 23 февраля 2018, 17:09 ⸬ Novyy Sochi, RU ⸬ Apple лог
#
Целый день вымучивал свой идеальный пресет, решил поделиться. Основные отличия:
- кнопки имеют дефолтный бекграунд
- иконки как у эпла
- размеры близкие к human interface guidelines что бы легче было попадать
- spotify по нажатию на трек делают плей/паузу, next track отдельной кнопкой
- погода с иконками emoji
- добавлены кнопки для яркости
https://gist.github.com/podkovyrin/50d306d68a83383d44ddd02001241c45
0
vas3k ⸬ 23 февраля 2018, 18:33 ⸬ Vilnius, LT ⸬ Apple лог
#
podkovyr, офигенно! Вот именно таких штук я и ожидал после поста :)
1
adsky ⸬ 23 февраля 2018, 20:48 ⸬ RU ⸬ Apple лог
#
vas3k, еще очень годная штука у BTT — haptic feedback (в настройках можно указать). с ним тачбар становится гораздо приятнее :))

P.S. у меня вместо отдельной кнопки на Sleep это действие повешено на часы (меньше кнопок — больше места!)

пора уже проект на гитхабе пилить с классными конфигами для BTT

У меня финальная версия такая (в конце есть скриншот, который можно сделать комбинацией ⌃⇧⌘6)
https://gist.github.com/ad/e4d03ce9a8a2515ec7234b80180c44e2

больше всего проблем было с iterm2 развернутым на отдельный экран, ну никак не хотело на него фокусироваться
0
ReDetection ⸬ 24 февраля 2018, 08:26 ⸬ Anzhero-Sudzhensk, RU ⸬ Apple лог
#
podkovyr, о, а я тоже так сделал с кнопками. Только ещё один момент: имхо лучше проверять не на player state is playing, а на player state is not stopped, тогда если нажать на паузу, то название трека не исчезнет и можно продолжить. Следующий трек, логично, имеет смысл только когда текущий есть.
3
vas3k ⸬ 24 февраля 2018, 08:33 ⸬ Vilnius, LT ⸬ Apple лог
#
adsky,
> пора уже проект на гитхабе пилить с классными конфигами для BTT
Да я не ожидал, что такой ажиотаж будет. Скоро запилю проектик, соберу ваши конфиги туда :)
1
ReDetection ⸬ 24 февраля 2018, 17:56 ⸬ Anzhero-Sudzhensk, RU ⸬ Apple лог
#
Ок, мой вариант: https://gist.github.com/ReDetection/1a1372d764b2f6314a4301433f8289a1. Основные отличия:
• по клику youtube/vk/ya.music открывает вкладку, а не только браузер
• погода вечером начинает показывать прогноз на завтра
• кнопка плей видна только когда ничего не играет
• когда играет itunes – кнопка останавливает/запускает трек, рядом есть кнопка следующего трека
• выпилен spotify, есть слайдер громкости, есть кнопки яркости недалеко от оригинального места

В принципе, если разрешить в safari запускать javascript из applescript, то останавливать/переключать треки можно и во кладках браузера
0
ep5il0n ⸬ 24 февраля 2018, 23:27 ⸬ Saint Petersburg, RU ⸬ Apple лог
#
у меня почему-то ютубовский информер слетает быстро. загружаешь конфиг – работает пока не откроешь пару вкладок ютуба или пока не закроешь все. дальше работать отказывается, выдает ошибку "Can’t get text 1 thru -11 of "YouTube".

Буду признателен, если подскажете, что именно я делаю не так)
2
... ⸬ 25 февраля 2018, 03:23 ⸬ Novosibirsk, RU ⸬ Linux лог
#
Столько танцев с бубном? Да я лучше себе генту поставлю.
0
podkovyr ⸬ 25 февраля 2018, 08:03 ⸬ Novyy Sochi, RU ⸬ Apple лог
#
ReDetection, у меня фишка в том, что рядом с иконкой спотифай показывается иконка плей, если не играет, что бы было понятно что происходит, а is not stopped будет возвращать имя трека если просто стоит на паузе:

if player state is playing then
return (get artist of current track) & " - " & (get name of current track)
else
return "▶︎"
end if

ReDetection, а вот умно показывать/скрывать next отличная идея, + нужно поставить галку "Only show icon, not the return value"
if application "Spotify" is running then
tell application "Spotify"
if player state is not stopped then
return " "
else
return ""
end if
end tell
end if
if application "iTunes" is running then
tell application "iTunes"
if player state is not stopped then
return " "
else
return ""
end if
end tell
end if
return ""
0
vas3k ⸬ 25 февраля 2018, 08:37 ⸬ Vilnius, LT ⸬ Apple лог
#
ep5il0n, тоже столкнулся с этой проблемой вчера. Короче фишка в том, что YouTube не всегда правильно обновляет title страницы. Надо подправить скриптик, чтобы он считал размер строки из тайтла до того, как берет из неё нужные символы.

podkovyr, норм идея с кнопкой play, я до такой не додумался сразу, так можт и поменял бы всё :)
0
ReDetection ⸬ 25 февраля 2018, 08:52 ⸬ Anzhero-Sudzhensk, RU ⸬ Apple лог
#
podkovyr, да, так и было задумано :) типа если нажать на трек, который запаузен, он продолжит играть, а если надо следующий – то есть кнопка рядом.
Да, в первом варианте у меня был косяк, что когда айтюнс не запущен – кнопка next всё равно есть, но я это уже исправил в своём гисте. Плюс ещё добавил фичу чтобы находило не только вкладку, но и нужное окно браузера ;)

кстати, всё же спотифай и айтюнс стоит разделять ещё по той причине, что тогда можно на них по клику переходить или останавливать воспроизведение в одном и запускать в другом.
3
vas3k ⸬ 26 февраля 2018, 10:30 ⸬ LT ⸬ Apple лог
#
Сделал нам всем гитхаб: https://github.com/vas3k/btt-touchbar-presets
Добавил всех отписавшихся. Можете присылать пулл-реквесты или дополнять описания. Остальные тоже не стесняйтесь.
1
toxblh ⸬ 27 февраля 2018, 16:33 ⸬ London, GB ⸬ Apple лог
#
Кстати стоит наверное дополнить или добавить кто не вкурсе, что можно убрать вообще кнопку рядом с esc, которая возвращает в нормальный touchBar, кому не нужно и самое сочное что нашёл - можно добавить отклик тачпадом на нажатие виртуальных клавишь - это просто какой то космос, такой космос который я хз в чём была проблема сделать изначальной в данном велосипеде
0
Мне повезет! ⸬ 28 февраля 2018, 11:48 ⸬ Moscow, RU ⸬ Apple лог
#
Блэд, Вастрик, я теперь захотел себе новый макбук!
2
fycth ⸬ 28 февраля 2018, 17:12 ⸬ Poltava, UA лог
#
Я вместо напоминания, вывожу следующее событие в календаре. Беру из sqlite3 напрямую, поэтому нет нужды запускать Calendar.
Если событие сегодня, то выведет только время и имя события (e.g. 16:00 Стрижка)
Если событие завтра, то выведет "tomorrow 16:00 стрижка"
События выбираются за ближайшие сутки.



set sqlPath to POSIX path of (path to library folder from user domain) & "Calendars/Calendar Cache"

set {TID, text item delimiters} to {text item delimiters, "|"}
set sql1 to "select strftime('%s', datetime('now')), strftime('%s', date('now','+24 hours'));"
set {dFROM, dTO} to text items of (do shell script "echo " & quoted form of sql1 & " | sqlite3 " & quoted form of sqlPath)
set sql2 to "select min(ZSTARTDATE), case when strftime('%d', datetime(zstartdate+978307200,'unixepoch','localtime')) = strftime('%d',datetime('now')) then strftime('%H:%M', datetime(zstartdate+978307200,'unixepoch','localtime')) else 'tomorrow ' || strftime('%H:%M', datetime(zstartdate+978307200,'unixepoch','localtime')) end,ZTITLE from ZCALENDARITEM WHERE zstartdate+978307200 >= " & dFROM & " AND zstartdate+978307200 <= " & dTO & ";"
set res to (do shell script "echo " & quoted form of sql2 & " | sqlite3 " & quoted form of sqlPath)

if contents of res is "||" then
return ""
end if

set {zdate, eventDate, eventName} to text items of res

return eventDate & " " & eventName

Вопрос: ни у кого BTT не жрет процессор? У меня через несколько минут BTT начинает жрать 100% CPU, и даже корпус ноута чуть греется. Перезапустишь - несколько минут все хорошо, потом снова.
0
Олег ⸬ 28 февраля 2018, 19:52 ⸬ CZ ⸬ Apple лог
#
Stas Kulesh, как Вам это удалосъ?
0
djvagina ⸬ 02 марта 2018, 10:54 ⸬ Amsterdam, NL ⸬ Apple лог
#
toxblh, как ты добавил отклик через эту утиль? У меня для этого отдельная прога стоит, че-то типа haptic touch bar.

Кстати, обновляющий скрипт походу не дает уснуть компу. На след день после установки всего этого дерьмеца у меня ночью ноут вообще завис, а в след ночь тупо сел в ноль, при том что я его сам в сон убрал и крышку закрыл. Короче погоду убрал вместе с вк и ютабом, пока полет норм.
0
vas3k ⸬ 02 марта 2018, 10:59 ⸬ Vilnius, LT ⸬ Apple лог
#
djvagina,
> Кстати, обновляющий скрипт походу не дает уснуть компу. На след день после установки всего этого дерьмеца у меня ночью ноут вообще завис, а в след ночь тупо сел в ноль,

Не, эт хрень какая-то, так не должно быть. У всех знакомых всё спит нормально, ты первый такой. Может быть сам BTT глючит, он то еще поделие, или вообще не из-за него.
0
djvagina ⸬ 03 марта 2018, 00:21 ⸬ Amsterdam, NL ⸬ Apple лог
#
Ну, сон я поборол, может глюк был другой и так совпало прост. Но то что завис в ночь первую мак у меня у кореша тож самое было. Ну не суть, щас уже норм.
0
ReDetection ⸬ 04 марта 2018, 06:11 ⸬ Anzhero-Sudzhensk, RU ⸬ Apple лог
#
Короче, я тут поигрался пару вечеров, и рассказываю вам: если отобразить свой тачбар на всю систему, то внезапно перестают работать кнопки-папки, содержащие внутри себя другие кнопки (типа громкости). Сижу теперь в дизассемблере, пытаюсь похачить это поведение системы.
Но вообще возможность заменить весь тачбар на всю систему есть. Принимаю идеи.
0
toxblh ⸬ 07 марта 2018, 21:32 ⸬ London, GB ⸬ Apple лог
#
djvagina, в General Touch Bar Settings самая последняя настройка Default Haptic Feedback, у меня стоит Super Strong, но минус - esc не отзывчив

ReDetection, <quote>Но вообще возможность заменить весь тачбар на всю систему есть</quote> - так средствами btt можно полностью поменять её же! Снимаете галочку с "Show macOS Control Strip" и с "if Control Strip is hidden" и всё, весь тачбар - ваш, прям вот весь от слева на право и наоборот тоже :) так же можете и Esc даже убрать в настройках
0
ReDetection ⸬ 08 марта 2018, 16:24 ⸬ Anzhero-Sudzhensk, RU ⸬ Apple лог
#
toxblh, в курсе, там в репе ReDetection – это тоже я. btt так и сделали, я смотрел в код. управление громкостью в btt ущербное, и у меня тоже не получилось быстро сделать лучше. есть только идея, что можно свою кнопку на всю ширину сделать, в неё NSView и собственную реализацию всех кнопок :D но смысл в этом теряется
0
Toxblh ⸬ 09 марта 2018, 00:28 ⸬ London, GB ⸬ Apple лог
#
Есть идея взять и написать свой КастомайзиншАмизингТачбариус и далее это как платформа, как btt, только опен сорс и далее к ней уже сделать как маркет виджетов, самое простое так же на appleScript, но можно заморочиться сделать и на js и swift. Вопрос желания. Но да меня тоже такая идея не покидает.
0
podkovyr ⸬ 12 марта 2018, 04:39 ⸬ Novyy Sochi, RU ⸬ Apple лог
#
У кого-нибудь еще ломался жест зума(пинч) на тачбаре из-за btt? Регулярно перестает работать во всех приложениях, до btt такого не наблюдал(

чорт https://github.com/fifafu/BetterTouchTool/issues/1839
2
toxblh ⸬ 09 апреля 2018, 08:00 ⸬ London, GB ⸬ Apple лог
#
https://github.com/Toxblh/MTMR вообщем начал я свой проект - буду и дальше развивать :) следующие на очереди реализации - плагины всякие и кастомные кнопки, как минимум background надо сравнять с черным
0
grozniy ⸬ 09 апреля 2018, 14:18 ⸬ Novosibirsk, RU ⸬ Apple лог
#
перепробовал все сборки выше - не отображается текущий трек из iTunes. Версия iTunes - 12.7.4.76, макось - 10.13.4. Идея запилить свой тачбар просто гениальна! Не знал что так можно. Статья отличная! Спасибо. Ковыряю.

ага. Выяснилось: не отображается инфо о треке из айтюнса если играть из папки Downloaded
0
nikk ⸬ 25 апреля 2018, 13:17 ⸬ BY ⸬ Apple лог
#
Прочитал статью про тачбар - очень понравилось. Решил немного вспомнить программирование. Нашел, что каждому виджету можно прикрепить долгое нажатие. Сразу выкинул кнопку mute - длинное нажатие по любой кнопке громкости решает этот вопрос. Потом решил сделать свой идеальный виджет для айтюнса. У меня это "Исполнитель - песня". Если нажимаю, то следующая композиция с обновлением информации о том, что играет. А при длинном тапе - пауза/плей.
Но тут появилась проблемка. Если на нажатие поставить перевод паузы в плей + вывод композиции на тачбар, а из плей в паузу с выводом на экран "▶", то все отлично отображается без задержек, а если как я хочу с длинным тапом для паузы/плей, то информация из вкладки other из триггеров почему-то не выводится. С одной стороны это не слишком большая проблема - сам скрипт можно настроить, чтобы он чаще проверял состоянии айтюнс и менял статус, но не хочется давать пустую нагрузку. Может кто-то разобрался?
0
Stas ⸬ 30 апреля 2018, 14:57 ⸬ Novosibirsk, RU ⸬ Apple лог
#
nikk, можешь кинуть скриптик на mute по длинному нажатию? хочу слайдер громкости как стандартный эпл и по долгому нажатию mute сделать?

adsky, крутая штука с батареей) спасибо! как туда еще время оставшееся вывести и например хочу шрифт сделать красным. так можно сделать?

а можно иконку spotify и itunes при проигрывании сделать активной? нажимаешь? она тебя в spotify сразу, ну в общем как в самой macos?
0
nikk ⸬ 01 мая 2018, 05:49 ⸬ BY ⸬ Apple лог
#
Stas, в Advanced Configuration справа внизу есть пункт On Long Press... там пишешь имя скрипта во вкладке Other. Сам скрипт:

if application "iTunes" is running then
tell application "iTunes"
if player state is playing then
pause
return "▶"
else
play
return (get artist of current track) & " - " & (get name of current track)
end if
end tell
end if
1
Дмитрий ⸬ 26 мая 2018, 06:01 ⸬ Kiev, UA ⸬ Windows лог
#
Я, наверное, чайник, но на клавиатуре только латинские буквы.
Всегда ли печатается без ошибок при наборе русского текста?
(не заполняйте это поле)

Еще? Тогда вот