Комментарии 54
Большинство окон удобно разворачивать на весь экран, особенно на ноутбуке. Между полноэкранными окнами надо как-то переключаться.
Несколько рабочих столов, листание тачпадом как на макбуке, тайловые оконные менеджеры. Пробовал, не понравилось. Хоткеи удобнее.
П.С.: один раз правила написал и пользуйся.
тайловые оконные менеджеры. Пробовал, не понравилось
Возможно всё дело в том, что из коробки, их действительно
Если нет времени / лень вникать в тонкости конфигурирования, то есть уже готовые из коробки сетапы от сообщества, например awesome-copycats для AwesomeWM.
А есть что-нибудь подобное для i3wm?
и Shift+CapsLock
для кириллицы
Shift+CapsLock
обычно оставляют для возможности включения\выключения КАПС-режима
UPD: у себя, помимо переключения раскладки по CapsLock
настроил отображение активной индикатором ScrollLock
клавиатуры (к сожалению осталось мало клавиатур с этой лампочкой).
Вот кусок xorg.conf
Section "InputClass"
Identifier "Keyboard Defaults"
Driver "evdev"
OPtion "XkbRules" "xorg"
Option "XkbLayout" "us,ru"
Option "XkbVariant" "basic,winkeys"
Option "XkbOptions" "grp:caps_toggle,grp_led:scroll,lv3:ralt_switch,compose:rwin,misc:mytypo,terminate:ctrl_alt_bksp"
MatchIsKeyboard "on"
MatchDevicePath "/dev/input/event*"
EndSection
который настраивает клавиатуру вне зависимости от используемого WM|DE.
который настраивает клавиатуру вне зависимости от используемого WM|DE.
После войн с убунтой на эту тему в моем ru.sh остались такие записи:
setxkbmap -layout "us,ru"
setxkbmap -option "grp:caps_toggle,grp_led:caps,compose:ralt,terminate:ctrl_alt_bksp"
exit 0
#sudo dpkg-reconfigure keyboard-configuration
#gsettings reset org.gnome.desktop.input-sources xkb-options
dconf read /org/gnome/desktop/input-sources/xkb-options
['grp:caps_toggle', 'compose:ralt', 'terminate:ctrl_alt_bksp', 'grp_led:scroll']`
cd .config/dconf/
cp -a user user.bak #drop config and from **text** console restore back
dump layout:
xkbcomp -xkb $DISPLAY xkbmap
/etc/default/keyboard
echo '@setxkbmap -layout "fr,us"'|sudo tee -a /etc/xdg/lxsession/Lubuntu/autostart
2013 – en DASH
2014 — LONG em DASH
2e3a ⸺ 2em DASH
2e3b ⸻ 3em DASH
Compose
/usr/share/X11/locale/en_US.UTF-8/Compose
Ctrl+Shift+U+unicode_in_hex
2200 ∀
2201 ∁
2202 ∂
2203 ∃
2204 ∄
Что из всего этого вам потребуется, смотрите сами ;)
setxkbmap -option "grp:caps_toggle,grp_led:caps,compose:ralt,terminate:ctrl_alt_bksp"
Вот отображение раскладки лампочкой CapsLock
…,grp_led:caps,…
не всегда удобно. Не получится увидеть включен ли КАПС-режим, если он используется. Но, да, клавиатур с этой лампочкой ещё есть.
Да и ComposeKeys
не является панацеей. Половина решается Третьим уровнем.
XkbOptions
для иксов, даже zap key не забыли. :-) У меня такой же, если не обращать внимание на mytypo
— что вы в ней патчите, если не секрет?Кажется вы пытаетесь переизобрести i3wm/awesome с rofi и т.д.
Народ, кто пользуется i3wm, подскажите пожалуйста, как сделать чтоб при запуске firefox был на 85% и без рамок по ширине, а телега на оставшиеся 15%?
Надоело каждый раз их подгонять.
В конфиге сейчас есть такие записи:
for_window [class="Thunderbird"] move container to workspace 2
for_window [class="Firefox"] move container to workspace 1, border none
for_window [class="Telegram"] move container to workspace 1, border none
Заранее спасибо!
Пробовал layout, но там вообще конфиг не подхватывается. Может я туплю? Либо он применяет конфиг до того как телега с браузером загрузятся?
Кроме того, в Windows есть такой способ открытия/переключения между программами — Win+цифра. Нажмёте Win+1 — откроется программа, закреплённая на первой позиции на панели задач. Win+2 — вторая. И т.д. При этом, «я хочу видеть калькулятор вне зависимости от того, запущена ли в данный момент эта программа. Если запущена, то её окну надо передать фокус, а если нет — запустить нужную программу и передать фокус когда она загрузится» также работает. Для десятка самых нужных программ, на мой взгляд, этого более чем достаточно.
Ну скажем например bind L fillcmdline tab hrenomuzika.blabla.com, если таб открыт. Если нет — например tabopen использовать. Без биндов можно держать в нужном порядке (1-2-3 и т.д. таб) и использовать стандартные шоткаты альт+цифра например.
Задолбало, при переключении раскладки (Alt+Shift) активируются «кнопки» главного меню программы.
Пока более-менее простого-стандартного способа не нашел, а городить костыли как-то не по феншую.
Может кто-нибудь вкурсе, как спасти отца русской демократии?
Сменить сочетание смены раскладки, чтобы не было клавиши Alt
.
launchpad.net/~nrbrtx/+archive/ubuntu/xorg-hotkeys
Под тормозит я имел в виду время от нажатия комбинации до момента, когда окно получит фокус. Т.е. сам автоматор, наверно, не тормозит, но тормозит его запуск. Не суть важно, не смог с ним получить приемлемый отклик. В Linux же я получаю мгновенный отклик если приложение уже запущено.
Но это пол беды, я в Mac OS хоткеи не смог настроить. Они работают до тех пор пока текущая программа их не переопределит. Надо либо выдумывать сложные хоткеи, которые больше нигде не используются (но тогда они сложные и вся прелесть теряется) либо придумать что-то еще.
setxkbmap -layout ru -- на клавише "Вперёд"
setxkbmap -layout us -- на клавише "Назад"
Тут же идея в том, что на один шорткат навешены и запуск и получение фокуса. Плюс навигация по разным окнам одного приложения.
Давно не пользовался gnome, возможно там много подобавляли, я не знаю.
Можно ли в gnome повесить на разные шорткаты окно обычного Firefox и окно Firefox в Private Browsing? Ведь технически это одно и то же приложение. И желательно так, чтоб не перенастраиать это после перезагрузки или закрытия одного из окон.
Или другой сценарий. Я обновляю, например, файлы конфигурации в нескольких микросервисах. Каждый микросервис открыт в отдельном окне Idea. Мне нужно сделать несколько однотипных изменений в файлах во всех микросервисах. Я привязываю все нужные окна Idea к разным шорткатам (выбираю клавиши рядом, у меня это Alt+1...Alt+0). А дальше вношу однотипные правки во все проекты. Т.е. сначала меняю file1 во всех проектах, затем меняю file2 и т.д. Мне не надо искать окна по Alt+Tab и искать в какой из проектов я ещё не внес правки. В gnome так можно? Назначить открытые окна на шорткаты, желательно не заходя в меню, а потом так же легко переназначить для выполнения другой задачи?
Супер, отличная программа!
Легко настраивается, основную задачу выполняет хорошо.
К сожалению, нельзя настроить на отдельный шорткат Firefox в Private Browsing. И нет возможности создать кастомные шорткаты для привязки именно к окнам, а не к приложениям.
В любом случае, с ней намного лучше, чем без нее. Спасибо :)
Я из тех, кто ставит на Caps Lock переключение раскладки потому, что лень нажимать 2 клавиши, когда можно нажимать одну. Я бы даже хотел 2 ненужные клавиши: одну бы я использовал для включения английской раскладки, а вторую для русской. Но вторая ненужная клавиша — это вызов контекстного меню, которая настолько ненужная, что выпиливается многими производителями ноутбуков. Так что приходится довольствоваться тем, что есть.
Автор, в линуксах <Winkey's>
делятся на правый и левый — это две разные „ненужные“ клавиши, но не каждая бубунта позволяет их различить.
Поделюсь своим опытом тайлинга.
На MacOS пользовался Spectacle, потом захотел больше гибкости и перешел на Hammerspoon со своим скриптом. Сложнее, но можно сделать, что угодно. Иногда он, кажется, чуть подглючивал и подтормаживал.
А потом перешёл на Linux (Manjaro). Вначале решил, что если я не нуб, то должен настроить себе i3. А потом после трёх дней пляски с настройками за пару часов установил и настроил под себя GNOME. Его встроенных фич оказалось вполне достаточно:
- поменял местами CapsLock и левый Ctrl (очень рекомендую!)
- переключение раскладки оставил пока на дефолтном Super+SPC (но мне оно по работе нечасто нужно)
- каждый апп из панели запуска вызывается по Super+<его номер>, можно сделать и выделенный шорткат для запуска приложения, если нужно
- для переключения между окнами приложения (несколько сессий Firefox) есть шорткат (Alt+` по дефолту)
- терминал: Tilix в quake mode с шорткатами как у iTerm, которым пользовался на маке
Попробовал тайловые менаджеры как советуют выше — не то. У меня нет необходимости в нескольких окнах на экране. А без этой «фишки» i3 получается какой то очень пресной оболочкой. Да и ресурсы мне как то глупо экономить.
А вот назначить десятку приложений хоткеи и между ними переключаться не перекладывая руку на мышку и ничего не «листая» — самое то!
Теперь бы выучить собственные хоткеи… Может док и панель задач спрятать, чтобы по привычке к мышке не тянуться? :D
Тем не менее я взял на себя смелость улучшить ваш скрипт.
34,37c34
+ if [[ "$MATCHED_CURRENT" -eq "$CURRENT" ]] && [[ -n "$CURRENT" && -n $2 || "$PINNED" -eq "$CURRENT" ]]; then
+ echo "Minimize"
+ xdotool getactivewindow windowminimize
+ elif [[ -n $MATCHED_CURRENT && -z $PINNED ]]; then
---
- if [[ -n $MATCHED_CURRENT && -z $PINNED ]]; then
Вот так лучше. :)
Теперь повторное нажатие хоткея, если «нужное» окно уже активно — прячет его.
alt+m — вызвал почтовую программу, убедился что «полковнику никто не пишет» и тем же сочетанием клавиш ее обратно свернул.
Спасибо за отзыв. Рад что кто-то попробовал. :)
На самом деле, я и не надеялся, что кто-то вот прям сразу все себе настроит и прям сразу привыкнет. Для того, чтобы подсесть на хоткеи требуется время. А спрыгнуть еще сложнее. :)
Идея со сворачиванием тоже интересная, спасибо. Залью в репозиторий при возможности.
Обновил скрипт.
Добавил Ваше пожелание со сворачиванием окон, а заодно немного переделал механизм назначения главного окна. Теперь какое-то из окон всегда назначено главным, если надо переназначить, то это нужно делать явно.
Так же есть идея переделать механизм переназначения главного окна. Чтоб сначала нажимать комбинацию сброса, а потом комбинацию окна. Тогда при переназначении не будет прыжков: попасть в старое окно, нажать сброс главного окна, перейти в нужное окно и только потом назначить его главным.
Нашел эту статью через поиск. Непонятно было как это искать и вообще как называется такой способ переключения окон. Настроил showwin + xbindkeys. Работает, кайфую, спасибо автору. Через какое-то время может напишу дополнение по мере использования.
"showwin 'Mozilla Firefox$' 'firefox'"
Mod4 + 1
"showwin '.jetbrains-pycharm' 'soft/pycharm/bin/pycharm.sh'"
Mod4 + 2
"showwin 'chromium.Chromium' 'chromium'"
Mod4 + 3
"showwin 'slack.Slack' 'slack'"
Mod4 + 4
"showwin 'slack.Slack' 'slack'"
Mod4 + s
"showwin 'keepassx.keepassx' 'keepassx'"
Mod4 + k
"showwin 'geary' 'geary'"
Mod4 + m
"showwin 'vivaldi' 'vivaldi'"
Mod4 + v
Спасибо за отзыв, приятно что кому-то кроме меня удобно пользоваться таким способом.
Могу порекомендовать ещё 2 вещи:
- Повесить на отдельный хоткей Private Browsing в Firefox, в статье есть как это сделать. Я так разделяю сайты, где я залогинен и где хочу затруднить трекинг. Это на самом деле удобно, я почти всё гуглю в приватных вкладках.
- Разберитесь с кастомными назначениями, та часть в статье с
showwin "CustomKey1"
иshowwinDetach
. Это добавляет удобства при решении нестандартных задач. Например, визуально сравнивать данные из разных программ или разных окон одной программы. Можно, например, быстро перелючаться на окно с pdf или даже открыть один pdf в нескольких окнах на разных страницах и быстро перемещаться между ними.
Прошел год с момента написания статьи. До сих пор пользуюсь в работе, ежедневно. У меня основные комбинации такие:
Win-1 - рабочий чат Slack
Win-2 - браузер
Win-3 - IDE
Win-4 - редактор текстов Obsidian, где хранятся мои заметки и планируется работа (аналог org-mode для Emacs)
Win-M - почта Thunderbird
Win-F - файловый менеджер
F1 - терминал xfce4-terminal --drop-down. Но он прописан не через showwin
Первые четыре дублируются на клавиатуре - Win + (S)lack, J-Firefox, K-IDE, (O)bsidian. Чаще пользуюсь цифрами, но иногда и так.
Сори за некрокоммент. Кто-нибудь знает альтернативу wmctrl -l
| wmctrl -a
для plasma под wayland?
Оно видит только несколько окон из всех запущеных (в частности, только vscode и chromium)
Задача та же: запустить приложение, но, если запущено, не запускать новый экземпляр, а переключить на передний план.
Ничего не могу найти по этому поводу для plasma под wayland. Все советы в сети сводятся к wmctl. И есть одно решение через dbus для gnome.
Альтернативное управление окнами в Linux