Переключение языков в MacOS по CapsLock

Переключение языков в MacOS по CapsLock
Photo by Mika H. Laybourn / Unsplash

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

Когда ты набираешь текст быстро и переключаешься постоянно - выходить полная дичь и времени на правки уходит какое-то невероятное количество.

Пришлось разбираться, как же мне избавиться от этой задержки.

Чтоб все работало быстро и как ожидается нужно поставить приложение karabiner-elements. Эта штука позволяет переназначать действия клавиш.

Ставим тем способом, какой вам удобнее. Дальше запускаем его и создаем нужный конфиг.

~/.config/karabiner/assets/complex_modifications/change_language.json

{
  "title": "Caps Lock => switch input source - English <-> Russian",
  "rules": [
    {
      "description": "Caps Lock => switch input source - English <-> Russian",
      "manipulators": [
        {
          "type": "basic",
          "conditions": [
            {
              "type": "variable_if",
              "name": "input_source switched",
              "value": 1
            }
          ],
          "from": {
            "key_code": "caps_lock"
          },
          "to": [
            {
              "select_input_source": {
                "language": "^en$"
              }
            },
            {
              "set_variable": {
                "name": "input_source switched",
                "value": 0
              }
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "caps_lock"
          },
          "to": [
            {
              "select_input_source": {
                "language": "^ru$"
              }
            },
            {
              "set_variable": {
                "name": "input_source switched",
                "value": 1
              }
            }
          ]
        }
      ]
    }
  ]
}

Дальше открываем Karabiner, заходим в Complex modification -> Add rule и активируем нашу переключалку языка.

Теперь по нажатия на CapsLock язык мгновенно переключается на противоположный.

Read more

Самохостинг (часть 3) - Traefik

Самохостинг (часть 3) - Traefik

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

Самохостинг (часть 2) - Динамический роутинг на Keenetic

Самохостинг (часть 2) - Динамический роутинг на Keenetic

Допустим у нас есть роутер Keenetic. Нам нужно, чтоб некоторые сайты грузились через поднятый на нем туннель (это может быть Wireguard, L2TP или даже банальный Socks5 proxy). Например, нас забанил Youtube по нашему внешнему IP адресу 😉, но мы все равно хотим его смотреть, да не на телефоне, а на нормальном

Самохостинг - стиль жизни

Самохостинг - стиль жизни

Я тут и тут писал про свой домашний сервер, но нигде не упоминал, что есть еще один сервер в ДЦ, где хостятся сайтики и кучка еще разных сервисов. Да и времени прошло с момента написания тех статей не мало. Сервер тот остался в другой стране и, как результат, все, что

Мониторинг долгих запросов PostgreSQL в Prometheus

Мониторинг долгих запросов PostgreSQL в Prometheus

Предположим, что у вас есть PostgreSQL (AWS RDS или классический PostgreSQL server), Prometheus, postgres exporter и alertmanager с Grafana. Стоит задача присылать уведомления о том, что в Postgres подвис запрос. Причина и т.п. нас мало интересует. Нужно просто сказать всем, кому положено, что есть проблема и ее нужно решить.