I3 — improved tiling wm

Содержание:

Tips and tricks

Section for I3 users to share their tips and tricks.

Adding Alt+Tab functionality

Add the first 2 lines to your i3 config file to enable META + TAB to switch to next open workspace and META + SHIFT + TAB to switch to the previous one. The third line uses META + ` to jump back to your last used workspace:

CODE Adding ALT + TAB Functionality

# enable Alt+Tab Functionality
bindsym $mod+Tab workspace next
bindsym $mod+Shift+Tab workspace prev

# jump to last used workspace
bindsym $mod+grave workspace back_and_forth

The Scratchpad (i3’s solution to minimising windows)

The i3 wm has an invisible workspace called the Scratchpad workspace. Users can move windows to and from it to hide them from the main workspaces. The i3 commands and hide and show windows respectively. It may be useful to bind these to keys within your config:

FILE

# Make the currently focused window a scratchpad
bindsym $mod+minus move scratchpad

# Show the first scratchpad window
bindsym $mod+plus scratchpad show

Configuring gaps between tiled windows (i3-gaps only)

The following lines remove the window decorations and add gaps between the windows. will disable the gaps if only one window is present on a workspace.

Change the values for preference. This will put a 5px gap between all containers and the edge of the screen.

sets the distance between adjacent containers. sets the distance between containers and the edge of the screen. It is worth noting that the actual distance from the containers to the edge of the screen is the sum of the and values. The actual distance between adjacent containers is the value alone.

CODE Configuring gaps

for_window  border pixel 0
gaps inner 5
gaps outer 0
smart_gaps on

What Is a Tiling Window Manager?

It’s time to take a step back. What is a tiling window manager anyway?

A tiling window manager(TWM) is not a full desktop environment. Instead, it just provides enough functionality to control the windows on your screen.

Tiling window managers also lay out their windows in logical subdivisions, breaking down the screen space in a logical pattern. For example, the first two windows that you open on your screen will each take up half of the screen and sit directly next to each other.

Windows do not float around and can’t be dragged from place to place or sit on top of each other unless specified by a user. By default, a tiling window manager will waste absolutely no screen space.

While tiling window managers might not be for everyone, they do provide people who want maximum efficiency and control out of their computer an option to get just that.

Internet connectivity:

If you are like me you’ll be using a wireless connection with your laptop.

Configuring wireless card

First determine the driver:

06:00.0 Network controller: Intel Corporation WiFi Link 5100 Subsystem: Intel Corporation WiFi Link 5100 AGN Kernel driver in use: iwlwifi Kernel modules: iwlwifi

A message like this should mean everything is ok. Then determine your interface name:

You’ll get a list of interfaces. I’m assuming is wlan0. Now bring it up and

If the error message “SIOCSIFFLAGS: No such file or directory” comes up, search for the correct firmware.

No encryption

WEP

WPA

First generate a configuration file:

Then test it. There may be several errors, but it should output “connected”

Now run it in background:

And get an IP address:

Пять случаев, когда пригодится Ubuntu

  • Ста­рые ком­пью­те­ры у роди­те­лей, даль­них род­ствен­ни­ков. Уста­но­ви­ли один раз, поста­ви­ли все нуж­ные про­грам­мы из мага­зи­на при­ло­же­ний и забы­ли про­бле­мы. Гра­фи­че­ский интер­фейс не хуже Windows, виру­сов и тро­я­нов там нет. Всё без­опас­но, быст­ро и хоро­шо. Бабуш­ка ска­жет спа­си­бо.
  • Ваша соб­ствен­ная рабо­чая стан­ция на USB-флешке. Берё­те Ubuntu, ста­ви­те её на флеш­ку, настра­и­ва­е­те под свои зада­чи. Теперь это ваш ком­пью­тер. Встав­ля­е­те эту флеш­ку в любой комп, загру­жа­е­тесь с флеш­ки, и вот они: все нуж­ные вам про­грам­мы, явки и паро­ли, заклад­ки, доку­мен­ты.
  • Домаш­ний сер­вер. Если хоти­те экс­пе­ри­мен­ти­ро­вать с веб-технологиями, мож­но взять какой-нибудь ста­рый комп, поста­вить на него Ubuntu и раз­вер­нуть там пол­но­цен­ный сер­вер под свои зада­чи. Хочешь — базы дан­ных там кру­ти, хочешь — телеграм-ботов.
  • Шко­ла, вуз, офис. Ubuntu в част­но­сти и Linux вооб­ще очень поле­зен в уни­вер­си­те­тах, шко­лах и офи­сах: он бес­плат­ный, там есть весь необ­хо­ди­мый мини­мум, рабо­та­ет на сла­бом желе­зе, лег­ко рас­ка­ты­ва­ет­ся и под­дер­жи­ва­ет­ся.
  • Уста­но­вить новый миро­вой поря­док. Пока­зать кукиш жад­ным кор­по­ра­ци­ям, собрать сред­ней руки комп, нака­тить на него бес­плат­ный софт, скрыть­ся от циф­ро­во­го шпи­о­на­жа, сде­лать свою крип­то­ва­лю­ту, вот это вот всё.

Экс­перт:Вла­ди­мир Олох­то­нов

Редак­тор:Мак­сим Илья­хов
Кор­рек­тор:Ири­на Михе­е­ва
Иллю­стра­тор:Даня Бер­ков­ский
Вёрст­ка:Мария Дро­но­ва
Рас­по­ря­ди­тель соц­се­тей:Вита­лий Вебер

Installation

dmenu

It is also assumed that dmenu will be emerged. Available USE flags include:

Use this to restore your config from /etc/portage/savedconfig ${CATEGORY}/${PN}. Make sure your USE flags allow for appropriate dependencies
Add support for querying multi-monitor screen geometry through the Xinerama API

i3status

i3status provides status information that can be used by i3bar which, by default, sits at the bottom of the screen. Available USE flags include:

Linux capabilities library is required for i3status to be able to read net bandwith

i3blocks

A more (relative to the more popular i3status) advanced, extensively-customizable status (for the i3bar config to use) is provided by i3block.

Basic Configuration

There’s an absolutely insane amount of configuration that you can do with i3wm, so it’s only possible to cover the basics here. These are some of the more common things that you’d want to do.

After creating the default configuration on your first run, it was placed in the “/etc/” directory. You have to copy it to your home to customize it.

Don’t forget to change the ownership of the file to your user. The user and group name should both match your username.

Colors

Changing the colors is easy. i3wm uses hex values for colors like CSS. There are a couple of different classes that each have a border, background, text, and indicator value. You can lay them out in a table and plug in the color values that you want.

Applications

In the i3wm configuration, creates a new hotkey. launches programs. You can put them together to make your own hotkeys to launch the programs that you use most without using the launcher. For example:

You can run applications at startup, too. Just use for those.

Status Bar

The status bar is one of the most important parts of your desktop. It displays your workspaces as well as loads of other vital information. With i3wm there are a ton of options for your status bar.

Near the bottom of the configuration file you’ll find a block called “bar.” Everything for the status bar will go in there.

First, you’ll find the “status_command.” It dictates which status bar is used. The default is i3status, but you can use a load of others like i3blocks, lemonbar, and polybar. They are all different and have their own unique benefits and drawbacks.

You can change the position of the bar here, too.

You can create a separate “colors” block here that you can use just like the other color configuration to customize i3’s color scheme.

Other hits

Package i3-wm

  • xenial (16.04LTS) (x11):
    improved dynamic tiling window manager

    4.11-1: amd64 arm64 armhf i386 powerpc ppc64el s390x

  • bionic (18.04LTS) (x11):
    improved dynamic tiling window manager

    4.14.1-1: amd64 arm64 armhf i386 ppc64el s390x

  • eoan (19.10) (x11):
    improved dynamic tiling window manager

    4.16.1-1: amd64 arm64 armhf i386 ppc64el s390x

  • focal (20.04LTS) (x11):
    improved dynamic tiling window manager

    4.17.1-1: amd64 arm64 armhf ppc64el s390x

  • groovy (x11):
    improved dynamic tiling window manager

    4.18-1: amd64 arm64 armhf ppc64el s390x

Package i3-wm-dbg

  • xenial (16.04LTS) (debug):
    Debugging symbols for the i3 window manager

    4.11-1: amd64 arm64 armhf i386 powerpc ppc64el s390x

  • bionic (18.04LTS) (debug):
    Debugging symbols for the i3 window manager

    4.14.1-1: amd64 arm64 armhf i386 ppc64el s390x

  • eoan (19.10) (debug):
    Debugging symbols for the i3 window manager

    4.16.1-1: amd64 arm64 armhf i386 ppc64el s390x

  • focal (20.04LTS) (debug):
    Debugging symbols for the i3 window manager

    4.17.1-1: amd64 arm64 armhf ppc64el s390x

  • groovy (debug):
    Debugging symbols for the i3 window manager

    4.18-1: amd64 arm64 armhf ppc64el s390x

Package i3blocks

  • xenial (16.04LTS) (x11):
    highly flexible status line for the i3 window manager

    1.4-1: amd64 arm64 armhf i386 powerpc ppc64el s390x

  • bionic (18.04LTS) (x11):
    highly flexible status line for the i3 window manager

    1.4-4: amd64 arm64 armhf i386 ppc64el s390x

  • eoan (19.10) (x11):
    highly flexible status line for the i3 window manager

    1.4-4: amd64 arm64 armhf i386 ppc64el s390x

  • focal (20.04LTS) (x11):
    highly flexible status line for the i3 window manager

    1.4-4: amd64 arm64 armhf ppc64el s390x

  • groovy (x11):
    highly flexible status line for the i3 window manager

    1.4-4: amd64 arm64 armhf ppc64el s390x

Package i3lock

  • xenial (16.04LTS) (x11):
    improved screen locker

    2.7-1: amd64 arm64 armhf i386 powerpc ppc64el s390x

  • bionic (18.04LTS) (x11):
    improved screen locker

    2.10-1: amd64 arm64 armhf i386 ppc64el s390x

  • eoan (19.10) (x11):
    improved screen locker

    2.11.1-1: amd64 arm64 armhf i386 ppc64el s390x

  • focal (20.04LTS) (x11):
    improved screen locker

    2.11.1-1: amd64 arm64 armhf ppc64el s390x

  • groovy (x11):
    improved screen locker

    2.11.1-1: amd64 arm64 armhf ppc64el s390x

Package i3lock-fancy

  • bionic (18.04LTS) (x11):
    i3lock custom wrapper script

    0.0~git20160228.0.0fcb933-2: amd64 arm64 armhf i386 ppc64el s390x

  • eoan (19.10) (x11):
    i3lock custom wrapper script

    0.0~git20160228.0.0fcb933-2: amd64 arm64 armhf i386 ppc64el s390x

  • focal (20.04LTS) (x11):
    i3lock custom wrapper script

    0.0~git20160228.0.0fcb933-3: amd64 arm64 armhf ppc64el s390x

  • groovy (x11):
    i3lock custom wrapper script

    0.0~git20160228.0.0fcb933-3: amd64 arm64 armhf ppc64el s390x

Package i3pystatus

  • eoan (19.10) (python):
    Large collection of status modules compatible with i3bar

    3.35+git20190107.1c972b8-2: all

  • focal (20.04LTS) (python):
    Large collection of status modules compatible with i3bar

    3.35+git20191126.5a8eaf4-2: all

  • groovy (python):
    Large collection of status modules compatible with i3bar

    3.35+git20191126.5a8eaf4-2: all

Package i3status

  • xenial (16.04LTS) (utils):
    Generates a status line for dzen2, xmobar or i3bar

    2.10-1: amd64 arm64 armhf i386 powerpc ppc64el s390x

  • bionic (18.04LTS) (utils):
    Generates a status line for dzen2, xmobar or i3bar

    2.11-1build1: amd64 arm64 armhf i386 ppc64el s390x

  • eoan (19.10) (utils):
    Generates a status line for dzen2, xmobar or i3bar

    2.13-2: amd64 arm64 armhf i386 ppc64el s390x

  • focal (20.04LTS) (utils):
    Generates a status line for dzen2, xmobar or i3bar

    2.13-2: amd64 arm64 armhf ppc64el s390x

  • groovy (utils):
    Generates a status line for dzen2, xmobar or i3bar

    2.13-3: amd64 arm64 armhf ppc64el s390x

Использование

Горячие клавиши

Рисунок 1 — Ключи для использования с $ mod (Alt)

Рисунок 2 — Ключи для использования с Shift + $ mod

Стандартные горячие клавиши, работающие по умолчанию (см. рисунки 1, 2):

  • mod+Enter — открытие терминала;
  • mod+d — запуск dmenu (меню сверху экрана, которое по мере ввода с клавиатуры *название приложения* предлагает варианты для запуска);
  • mod+Shift+Q — закрытие активного окна;
  • mod+Shift+r — перезапуск i3wm;
  • mod+v — включение режима вертикального тайлинга (делит экран горизонтально);
  • mod+h — включение режима горизонтального тайлинга (делит экран вертикально);
  • mod+w — включение режима вкладок (каждое окно на рабочем столе занимает весь экран, сверху видны вкладки);
  • mod+s — включение стекового режим (заголовки окон один под другим, каждое окно занимает весь экран);
  • mod+e — возвращение стандартного режима;
  • mod+Shift+Space — переключение окна в плавающий режим и обратно;
  • mod+Left/Right/Up/Down — перемещение фокуса в пределах рабочего стола;
  • mod+Shift+Left/Right/Up/Down — перемещение текущего окна в пределах рабочего стола;
  • mod+1 и т.д. — переключение на рабочий стол с указанным номером;
  • mod+Shift+C — чтение настройки из файла конфигурации;
  • mod+Shift+E — выход из i3wm на экран ввода имени пользователя и пароля.

Exact hits

Package i3

  • xenial (16.04LTS) (x11):
    metapackage (i3 window manager, screen locker, menu, statusbar)

    4.11-1: amd64 arm64 armhf i386 powerpc ppc64el s390x

  • bionic (18.04LTS) (x11):
    metapackage (i3 window manager, screen locker, menu, statusbar)

    4.14.1-1: amd64 arm64 armhf i386 ppc64el s390x

  • eoan (19.10) (x11):
    metapackage (i3 window manager, screen locker, menu, statusbar)

    4.16.1-1: amd64 arm64 armhf i386 ppc64el s390x

  • focal (20.04LTS) (x11):
    metapackage (i3 window manager, screen locker, menu, statusbar)

    4.17.1-1: amd64 arm64 armhf ppc64el s390x

  • groovy (x11):
    metapackage (i3 window manager, screen locker, menu, statusbar)

    4.18-1: amd64 arm64 armhf ppc64el s390x

How to Install Regolith on Ubuntu

Switching Linux distro is a dramatic step if all you want to do is try a different desktop environment or new way of working.

So, helpfully, the Regolith desktop is available to install on Ubuntu as an alternative desktop session (you can use with other Ubuntu-based spins too). This means there’s a handy escape route in place if you try it and don’t like it.

The session pulls in all of the required components (i3-gaps, rofi, moka icons, etc) mentioned above, and, again, configures them ready for “out of the box” use.

The only real difference between using the distro and using the desktop session is that one needs to be installed from scratch (and doesn’t include the regular Ubuntu desktop packages), while the other will work with an existing set-up.

What makes Regolith interesting to me, as a dyed-in-the-wool Ubuntu user, is that I don’t have to switch distro or set up a separate install to sample its i3-made-easy effort!

Making a pre-prepared installable session available makes it super easy to try i3-gaps on Ubuntu.

To install Regolith desktop on Ubuntu 18.04 LTS or later (as well as any flavours or derivatives based on these versions) you need to add the Regolith stable PPA to your list of software sources.

To add the Regolith PPA run this command in a new terminal ( + ) window:

Next, install the Regolith desktop meta-package. This pulls in all the necessary packages for you and sets them up ready for use:

Finally, logout.

At the login screen click the cog beside the ‘sign in’ button and select the ‘Regolith’ desktop session. Login as normal and…

Welcome to i3-wm

Wow, it’s all a bit different, isn’t it? The traditional way of opening and moving windows don’t apply here, but don’t be put off by how alien everything feels.

Firstly, check out the superb ‘getting started’ guide on the Regolith Linux website. It provides a concise introduction to the ‘unique’ way of navigating the keyboard-based window manager.

Secondly, I jotted down a list of the keyboard shortcuts I found most useful the first time I logged in:

  • + — Show shortcut cheatsheet
  • + — Open app launcher
  • + — Launch Terminal
  • + — Configure Wi-Fi
  • + — Move/create Workspace(s)
  • + + — Move window
  • + — Toggle vertical/horizontal layouts
  • + — Resize window(s) w/ arrow keys (press when done)
  • + + — Log out of Regolith desktop

Hopefully these help you too.

Uninstall the Regolith Desktop

If, after trying things out, you find that working with a tiling window manager is just not for you: no worries; it’s simple to uninstall and go back to GNOME Shell, Budgie, or whatever else you were using.

Just pop open a terminal and run:

And then remove the PPA from your software sources:

I tested uninstalling the desktop on Ubuntu 19.04 and it mostly went okay. I was left with an error about a missing file in the GDM3 folder. I solved this by cloning the and renaming it to .

Finally, log out. At the login screen click the cog icon and select the session you want to revert too. Login as normal and… Ahh, familiarity.

If you like what you see do give this post a share. More people need to hear about this fantastic little distro n’ desktop combo.

Troubleshooting

Mouse cursor remains in waiting mode

When starting a script or application which does not support startup notifications, the mouse cursor will remain in busy/watch/clock mode for 60 seconds.

To solve this for a particlar application, use the parameter, for example:

exec --no-startup-id ~/script
bindsym $mod+d exec --no-startup-id dmenu_run

To disable this animation globally, see .

Default workspace for Spotify

To assign a default workspace for spotify windows one cannot use the standard route with and should rather use a command, such as

~/.config/i3/config
...
for_window  move to workspace $ws10

To ensure does not move the window if already in , one can instead use .

Monitor configuration

The ‘arandr’ package is a frontend of xrandr for multiple monitors.

Brightness

The most crucial step in configuring the screen brightness is getting the graphic card correct firmware. This is usually the most common mistake that results in a ‘No outputs have backlight property’. Make sure the correct firmware is installed and is used.

To control the screen brightness edit i3’s config file and add the lines:

Restart i3 and test the setup.

WiFi configuration (extra)

To get the WiFi to work you’ll need some extra packages that aren’t available after the net installation. Before beginning, make sure you have these files or have a way of getting them to your new Debian installation.

Настройка конфига i3wm

При первичной загрузке вы увидите примерно такое сообщение:

Нажмите 2 раза на Enter — это создаст конфигурационный файл, который мы потом будем менять.
Вы увидите просто черный экран и возможно курсор мыши :)))
Не пугайтесь все нормально, система работает и вы сделали все правильно.

Зачастую можно видеть символ загрузки, который постоянно вращается (до 60 сек.) — система пытается запустить какой-то процесс.
Если вас это раздражает, то можно убрать прописав перед запуском программ код:

Прописываем автозагрузку программ кодом

Назначаем свои горячие клавиши

Прописываем запуск программ на определенных горячих клавишах:

Я, к примеру, использую консольный вариант проигрывателя VLC, запуская его горячими клавишами. При этом, радио начинает играть автоматом. Авто подключение радио потока прописано в настройках vlc.

И т.к. программа запускается без GUI, ее удобнее выключать горячими клавишами, которые просто убивают процесс vlc.

Как найти название клавиш

Тут возникает вопрос, что за клавиша такая “Prior”, которую мы использовали выше и как вообще найти название клавиш, которые нам хотелось бы использовать.
Клавиша “Prior” — на моей клавиатуре это клавиша Pg Up/■ . Используется для управлением проигрывателя (старт, стоп, пауза, перемотка и т.д.)
Для того, чтобы найти название клавиш используем утилиту xev, вбив в консоли команду:

После запуска, вы увидите белый экран с квадратом вверху

Подведите курсор мышки к квадрату и не уводя с него, нажмите на нужную клавишу. В терминале увидите ее название.

Думаю тут все понятно не вызовет никаких трудностей. Идем дальше.

Открытие программ в плавающем окне

Если определенную программу нужно открыть не в тайлинге, а в плавающем окне используйте код

Где “Xfce4-terminal” это название программы.

Открытие программ в нужном рабочем столе

В i3wm есть фишка, которую я не встречал в других DE/WM — это запуск программ на определенном рабочем столе. Удобно, когда вы знаете, какая программа и на каком рабочем столе она запускается.

Данный код запустит Firefox на 3-м рабочем столе

Название программ нужно писать с заглавной буквы, иначе не сработает.

Установка

Установите из официального репозитория , которая включает пакеты:

  • — непосредственно менеджер окон
  • , предназначенный для вывода строки статуса в i3bar через
  • — блокировщик экрана

Дополнительные пакеты доступны в пользовательском репозитории Arch. Установите AUR, чтобы получить версию для разработчиков.

Также смотрите раздел .

Экранный менеджер

включает в себя как Xsession который запускает оконный менеджер. включает логи (полезно для отладки). Установите AUR, чтобы добавить сессию GNOME.

xinitrc

Отредактируйте ваш , добавив в него:

exec i3

Если вы хотите, чтобы i3 вел лог (полезно для отладки), добавьте эту строку в :

exec i3 -V >> ~/.i3/i3log 2>&1
exec i3 --force-xinerama

Если у вас есть проблемы с преобразованием клавиш (например точки с запятой), используйте или смотрите Extra keyboard keys (Русский).

$ xev | grep -A2 --line-buffered '^KeyRelease' | sed -n '/keycode /s/^.*keycode \(*\).* (.*, \(.*\)).*$/\1 \2/p'

Using i3wm

After i3’s been installed, you can log out of your current session on Ubuntu to bring yourself back to the login screen. Click the little icon next to the password box. It’ll show you the desktop options. Select i3 and log in as you normally would.

The First Time

What you’re going to find on the other side will be surprising if you haven’t worked with just a window manager before. It’s minimal and it’s ugly. That’s the way it’s supposed to be.

i3wm doesn’t have a lot of default configuration because it assumes that you want to customize it, and you can, a lot.

On your first run you’re going to see a window asking you to create a configuration file. Accept. Then you’ll get another asking which key you want to use as the “Mod” key. It can either be the “Windows” key or “Alt.”

Since i3 is mostly controlled by the keyboard, the mod key serves to differentiate regular typing from commands to i3.

Navigating

Almost everything in i3wm is handled with hotkeys. There are plenty of predefined ones, but you can also change those and make your own. Before you do anything, though, you need to familiarize yourself with the basic ones.

You’re probably going to be working with terminals a lot. Go ahead and open one with “Mod key + Enter.” If you keep pressing “Mod key + Enter,” you’ll see the default pattern that i3 uses for dividing up your screen.

It’s not all that useful when you have a bunch of them. Try re-positioning them. By default, you can navigate using “Mod key + j” to move left, “Mod key + k” to move down, “Mod key + l” to move up, and “Mod key + ;” to move right. This should be sort of familiar to Vim users but slightly off. You can change it to the actual Vim bindings.

If you want to move the windows, you can add “Shift” to any of the directional hotkeys, and the window will move in that direction. So to move a window down, use “Mod key + Shift + k.”

To open new windows split the way you want, you can target the window you want to split and use “Mod key + h” to split the window horizontally and “Mod key + v” to split it vertically.

When you want to close a window, there’s a hotkey for that too – “Mod key + Shift + q.”

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *