I3 wm и его настройка |
Автор: admin Просмотров: 3741 Комментарии:
Добавлен: 20 мая 2019
Обновлено: 5.05.2024 - 21:05
Возможности: не перекрывающиеся окна, управление окнами при помощи клавиатуры, размещение окон во вкладках и стеках, горизонтальное и вертикальное размещение окон, очень низкие системные требования.
Мне раньше очень нравился icewm своей простотой и низкими требованиями к системным ресурсам.
Сразу после первого запуска I3 предложит назначить клавишу-модификатор Mod для управления окнами и для других команд. Этот клавишей можно выбрать Win или Alt.
Основные клавиатурные сочетания:
Mod + Enter — открыть новый терминал;
Mod + D — запустить любую программу через dmenu;
Mod + 0..9 — переключение между workspace’ами;
Mod + Shift + 0..9 — перемещение окон в заданный workspace;
Mod + Shift + Q — закрыть текущее окно;
Mod + Стрелочки — перемещение между окнами, вместо стрелочек также могут быть использованы клавиши «J» (влево), «K» (вниз), «L» (вверх) и «;» (вправо);
Mod + Shift + Стрелочки — перемещение окон в пределах workspace’а, вместо стрелочек также могут быть использованы буковки и точка с запятой;
Mod + V — использовать вертикальное разбиение;
Mod + H — использовать горизонтальное разбиение;
Mod + E — размещение окон по-умолчанию (default layout);
Mod + S — стековое размещение (stacking layout);
Mod + W — размещение с табами (tabbed layout);
Mod + F — раскрыть окно во весь экран или свернуть его обратно;
Mod + Shift + Пробел — разрешить свободное перемещение окна (floating mode) или вернуть его в мозаику;
Mod + Shift + R — рестартонуть i3 (например, после обновления конфига);
Mod + Shift + E — выйти из i3;
Mod + Shift +C — перечитать настройки I3;
Изменить размеры окон можно перетягивая их границы с помощью мыши. Также можно перейти в режим изменения размера окна нажатием Mod + R. В этом режиме с помощью стрелочек или буковок вы выбираете границу окна, со стороны которой окно нужно уменьшить или, если нажат Shift, увеличить. Возврат в обычный режим осуществляется нажатием Enter или Escape.
Вот мои настройки i3 wm (файл ~/.config/i3/config):
# This file has been auto-generated by i3-config-wizard(1).
# It will not be overwritten, so edit it as you like.
#
# Should you change your keyboard layout some time, delete
# this file and re-run i3-config-wizard(1).
#
# i3 config file (v4)
#
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
set $mod Mod4
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
font pango:monospace 8
# This font is widely installed, provides lots of unicode glyphs, right-to-left
# text rendering and scalability on retina/hidpi displays (thanks to pango).
#font pango:DejaVu Sans Mono 8
# Before i3 v4.8, we used to recommend this one as the default:
# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
# The font above is very space-efficient, that is, it looks good, sharp and
# clear in small sizes. However, its unicode glyph coverage is limited, the old
# X core fonts rendering does not support right-to-left and this being a bitmap
# font, it doesn’t scale on retina/hidpi displays.
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# start a terminal
bindsym $mod+Return exec terminator --new-tab
# start dmenu (a program launcher)
bindsym $mod+d exec dmenu_run
#Меню программ для I3
bindsym $mod+Menu exec $(cat /home/yura/programs/system/i3/rofi.runcache | rofi -dmenu) #Меню выключения компьютера
bindsym $mod+Escape exec $(cat /home/yura/programs/system/i3/rofi.off | rofi -dmenu) #Меню выключения компьютера для I3
# There also is the (new) i3-dmenu-desktop which only displays applications
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
# installed.
# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
workspace_layout tabbed
# change focus
bindsym $mod+j focus left
bindsym $mod+k focus down
bindsym $mod+l focus up
bindsym $mod+semicolon focus right
# kill focused window
bindsym $mod+Shift+q kill
# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# move focused window
bindsym $mod+Shift+j move left
bindsym $mod+Shift+k move down
bindsym $mod+Shift+l move up
bindsym $mod+Shift+colon move right
# alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# split in horizontal orientation
bindsym $mod+h split h
# split in vertical orientation
bindsym $mod+v split v
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
#bindsym $mod+d focus child
# switch to workspace
bindsym $mod+1 workspace 1
bindsym $mod+2 workspace 2
bindsym $mod+3 workspace 3
bindsym $mod+4 workspace 4
bindsym $mod+5 workspace 5
bindsym $mod+6 workspace 6
bindsym $mod+7 workspace 7
bindsym $mod+8 workspace 8
bindsym $mod+9 workspace 9
bindsym $mod+0 workspace 10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace 1
bindsym $mod+Shift+2 move container to workspace 2
bindsym $mod+Shift+3 move container to workspace 3
bindsym $mod+Shift+4 move container to workspace 4
bindsym $mod+Shift+5 move container to workspace 5
bindsym $mod+Shift+6 move container to workspace 6
bindsym $mod+Shift+7 move container to workspace 7
bindsym $mod+Shift+8 move container to workspace 8
bindsym $mod+Shift+9 move container to workspace 9
bindsym $mod+Shift+0 move container to workspace 10
# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the window’s width.
# Pressing right will grow the window’s width.
# Pressing up will shrink the window’s height.
# Pressing down will grow the window’s height.
bindsym j resize shrink width 10 px or 10 ppt
bindsym k resize grow height 10 px or 10 ppt
bindsym l resize shrink height 10 px or 10 ppt
bindsym semicolon resize grow width 10 px or 10 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
# Панель состояния системы для I3. Она выводиться в i3bar. Обычно сюда ставят i3status, но я решил установить Conky, так как i3status не умеет отображать доступную оперативную память, загрузку процессора и много чего другого. Для i3 wm есть множество других панелей: https://wiki.archlinux.org/index.php/I3#i3status Но мне слишком сложно их собрать. Подробности настройки Conky для I3: https://linexp.ru/advice/conky_-nastroika-imap-s-ssl.html
bar {
status_command /home/yura/programs/system/i3/conky-i3bar.sh
}
# Назначаем клавиатурные сочитания (хоткеи, то есть горячие клавиши)
bindsym $mod+c exec /home/yura/programs/speedcrunch/speedcrunch # Калькулятор
bindsym $mod+p exec /usr/bin/keepassx # Хранилище паролей
bindsym ctrl+shift+s exec /usr/bin/screengrab #Программа для скриншотов
set $alt Mod1 # Это чтобы работало сочетание Alt+Ctrl+Delete
bindsym $alt+Ctrl+Delete exec /usr/bin/qps # Диспетчер задач qps
# Регулируем громкость звука Pulseaudio через клавишу FN ноутбуков
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume 0 +25%
bindsym XF86AudioLowerVolume exec pactl set-sink-volume 0 -25%
bindsym XF86AudioMute exec pactl set-sink-mute 0 toggle
bindsym XF86AudioMicMute exec pactl set-source-mute alsa_input.pci-0000_00_1b.0.analog-stereo toggles
bindsym $Alt+F2 exec /home/yura/programs/browsers/seamonkey/seamonkey -mail # Почтовый клиент Seamonkey
bindsym XF86Display exec xset dpms force off # Выключение монитора
bindsym ctrl+shift+w exec rofi -show window # Меню списка окон для i3
# Выключение компьютера:
bindsym $mod+F1 exec sudo /usr/sbin/pm-suspend && sudo /home/yura/programs/system/brightly/brightly
bindsym $mod+F2 exec sudo /home/yura/programs/system/memcacheclean.sh&&/usr/bin/sudo /usr/sbin/pm-hibernate && sudo /home/yura/programs/system/brightly/brightly
bindsym $mod+F3 exec sudo /sbin/shutdown -r now
bindsym $mod+F4 exec sudo /sbin/shutdown -h now
# Автозапуск программ
exec sudo /home/yura/programs/system/brightly/brightly
exec /home/yura/programs/filemanagers/doublecmd/doublecmd.sh
exec sudo /sbin/ifup eth0
exec chromium --disk-cache-size=0 --media-cache-size=0 --ppapi-flash-path=/usr/lib/pepperflashplugin-nonfree/libpepflashplayer.so --ppapi-flash-version=11.7.700.178ff
exec /usr/bin/gxkb # Программа для отображения клавиатурной расскладки
exec /usr/bin/parcellite #Хранилище буфера обмена
exec /usr/bin/skypeforlinux
exec /home/yura/programs/messages/icq/icq.sh
exec ulatency --gui
exec redshift #Программа для автоматической регулировки яркости и цвета монитора согласно настоящему времени, чтобы глаза меньше уставали.
exec sudo /usr/sbin/ntpdate -bs ntp.time.in.ua ntp2.time.in.ua #Синхронизация времени.
# Запуск отдельных программ всегда только на указанном рабочем столе
assign [class="^Skype$"] → 3
assign [class="^icq$"] → 3
assign [class="^ViberPC$"] → 3
assign [class="^Seamonkey$"] → 3
assign [class="^TelegramDesktop$"] → 3
Создаём меню программ и любые другие меню.
По умолчанию в i3 в качестве меню программ есть только командная строка dmenu_run, вверху экрана, вызываемая клавишами Mod+D. В Dmenu-4.8 (версия была в Devuan на момент редактирования этой статьи) не работает указатель мыши, навигация кнопками работает не полностью, не работает настройка размера окна программы по X и Y (каждая строка на всю ширину экрана), но данный функционал есть в оболочке Dmenu под названием Rofi. У Rofi есть один большой недостаток: Rofi подтормаживает!, по этой причине я со временем перешёл на Dmenu.
Rofi и Dmenu открывают список команд только перенаправлением списка
Как открывать список через Rofi:
exec $(cat ~/PRIMER_SPISKA/|rofi -dmenu)
Как открывать список через Dmenu:
cat ~/PRIMER_SPISKA| dmenu "$@" -l 10 -nb "#f5eedc" -fn 'Djavu serif:bold' | ${SHELL:-"/bin/sh"} &
Если Dmenu открывает список не правильно, значит данная команда уже не подходит. Я нашёл похожую команду в файле /usr/bin/dmenu_run и поменял только "dmenu_path" на cat ~/PRIMER_SPISKA
-l количество строк;
-nb цвет фона окна, который можно задавать в html или словами (green, red blue, yellow, white, black и т.д.)
-fn шрифт
есть в Dmenu десяток других опций, но я их не пробовал.
Разумеется, можно сделать сколько угодно меню на Dmenu или на Rofi и назначить им хоткеи.
Вот тут есть более красивый вариант меню rofi.
------------------------
ТРИО теплый пол отзыв
Заработок на сокращении ссылок
Earnings on reducing links
Код PHP на HTML сайты
Категория: Компьютерные советы
Комментарии |