LINUX.ORG.RU

Arch + i3

 , ,


2

1

Много лет назад, когда я пересел с Убунту на Арч передо мной стоял выбор DE. Основные условия были:

- фактически моментальная загрузка.

- нулевая терпимость к тормозам.

- Desktop не нужен, только окна.

- окна позиционируются и ресайзяться автоматически.

- после каждого запуска хочу чтобы все мои окна были открыты так как надо.

- управление с клавиатуры, никакой мыши. Соответственно никаких таскбаров, тулбаров. Только моментальный отклик на клаву.

- чтобы можно было полностью подстроить под себя.

- никакого треша вроде настройки сети, языка клавиатуры, часиков и софтовых кнопок звука. Только конфиги, только хардкор.

Был какой то DE на Хаскеле, который я сразу отбросил из-за упоротости этого языка. Выбор пал на i3 + i3block + dmenu, коим и пользуюсь уже несколько лет.

Итак: - Win + 1 — консоль, в консоле tmux и много терминалов, некоторые именные.

- Win + 2 — emacs + sublime.

- Win + 3 — Intellij Idea.

- Win + 4 — Firefox.

- Win + 5 — Thunderbird.

- Win + 6 — мессенджеры.

- Win + 7 — Smartgit + SquirrelSQL + Remmina + другая всякая мелочь.

- Win + 8 — Chromium.

- Win + 9 — VirtualBox.

Другие: - Win + Shift + N — подключение к WLAN и список запомненных.

- Win + Shift + P — процессор в режим энергосбережения или наоборот на полный ход.

- Хард кнопки звука — собственно звук.

- Win + M — перебросить весь воркспейс на другой монитор.

- Alt + Shift + <n> — перебросить активное окно на другой воркспейс.

- Некоторые шорткаты которые сам i3 дает.

- Win + D — вызова запуска из dmenu.

- Win + Shift + R — перезапустить оконный менеджер, иногда надо, ага.

Доволен с тех пор как слон.

>>> Просмотр (1913x1077, 258 Kb)



Проверено: JB ()
Последнее исправление: JB (всего исправлений: 2)
Ответ на: комментарий от Odalist

Odalist ★★★★★ (19.05.2017 17:13:45)>шквор набиваешь?

Я не ты. Просто он реально шарит в хмонад больше, чем я.

narkoman228
()

emacs + sublime

Блин, я прям заинтригован - не в первый раз встречаю столь странное сочетание. Что такого даёт саблайм, чего нет в emacs?

zabbal ★★★★★
()
Ответ на: комментарий от vombat

файл конфига есть. Файл написан на языке Haskell

Не совсем так. Вернее совсем не так - то, что в обычном WM представляет собой ограниченый конфиг, а xmonad является полноценной программой на Haskell, использующей библиотеки xmonad чтобы сделать твой личный оконный менеджер.

Конфиги обычно парсят, а не компилируют в бинарник ;-)

Ну а то, что исходник занимает всего несколько строк и в итоге получается полнофункциональный WM - дык то выразительность Haskell и качественные библиотеки XMonad. Вот неофиты и путают с конфигом по привычке ибо в голове не укладывается, что можно ТАК компактно описать столько функциональности.

zabbal ★★★★★
()
Ответ на: комментарий от zabbal

Нету тут «дык» ;) Нету и всё. Компактного тама нет ничего ;) И это - конфиг, синтаксисом великого Хаскела ;) Пыонэры, ё. Если в Хаскеле рубим, то чё делает отэто: «import XMonad»? О как. Аткрой выразительный код, сломай глаза, мозг, уши в трёх местах ;) И потом пиши, что «исходник занимает всего несколько строк».

Далее, слово конфиг стырено на просторах сайта создателей ;)) Чтобы бородатые дети сразу не ломали себе лыжи ;)) А библиотеки да, растут-с, как и сообщество. Один из великих написал, что когда появится что-то среднее между Си и Хаскелом, то будет небывалый прорыв. Вот и ищут эту «золотую середину».

vombat
()

А по поводу скрина, то тут в лоб:

- нулевая терпимость к тормозам

Нету тут нетерпимости! НЕТУ! быстрее пули только один - dwm. Надёжнее (в малой доле, но математически доказано ;)) - xmonad.

окна позиционируются и ресайзяться автоматически

DWM - динамический тайловый.

Соответственно никаких таскбаров, тулбаров. Только моментальный отклик на клаву.

Ага. Да-да. Так на скрине и видим ;)) Снова в DWM есть по умолчанию «скрыть» menubar.

чтобы можно было полностью подстроить под себя

Кроме xmonad - просто нету. Полная кастомизация.

Итак: - Win + 1 — консоль, в консоле tmux и много терминалов, некоторые именные.

Тайл и tmux. Как же это убивает!..

Win + 8 — Chromium.
- Win + 4 — Firefox.

Бейте меня семеро! Да определитесь вы, наконец, с набором программ, которыми пользуетесь! Ну в windows понятно, 1 тебе впихнули чисто поржать. Но тут!

- Win + Shift + P — процессор в режим энергосбережения или наоборот на полный ход

Я робот Вертер, автоматом настроить?

Desktop не нужен, только окна.

Тут мой детский мозг поплыл ;)))

vombat
()
Ответ на: комментарий от Deleted

Есть специальные сочетания клавиш, что бы переключить фокус ввода с одного монитора на другой.

Да, есть. Всё, что поддерживает Xinerama...

vombat
()

jwm еще лучше, легче и проще...

amd_amd ★★★★★
()
Ответ на: комментарий от vombat

то чё делает отэто: «import XMonad»?

Модуль подключает. Та самая библиотека о которой я говорил.

Аткрой выразительный код, сломай глаза, мозг, уши в трёх местах

Глядя на тебя что-то не хочется - а то вдруг ещё начну столь же бездарно коверкать язык.

слово конфиг стырено на просторах сайта создателей

где?

когда появится что-то среднее между Си и Хаскелом

Это называется Ocaml. Не благодари.

zabbal ★★★★★
()
Ответ на: комментарий от zabbal

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

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

vombat
()
Ответ на: комментарий от zabbal

Скажем так у меня не было времени разбираться в настройках emacs чтобы синтаксис и т.д. подсвечивал. Ну плюс некоторые функции по замене по regexp'у в саблайме проще и нагляднее реализованы.

alex07
() автор топика
Ответ на: комментарий от zabbal

Ну я изначально именно это и хотел сказать, что «конфиг» ты пишешь на Haskell, а затем компилируешь его в натив по всей видимости.

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

alex07
() автор топика
Ответ на: комментарий от vombat

Тайл и tmux. Как же это убивает!..

Что не так?

Бейте меня семеро! Да определитесь вы, наконец, с набором программ, которыми пользуетесь! Ну в windows понятно, 1 тебе впихнули чисто поржать. Но тут!

Ну хорошо, а что делать с сайтами которые заточены под IE, в Хроме не открываются вообще, а в Firefox еле еле? Да и иногда результат работы кодеров надо глянуть и тут и там. В чем проблема то два браузера иметь открытыми? Для этого и есть 16Гб оперативы.

Я робот Вертер, автоматом настроить?

Каким образом настроить? Если по отключению из розетки, то в моем случае это не работает, ибо иногда надо просто на час-полтора отключиться находясь в офисе, но не сбивать процессор. А вот если ехать куда и часа на три, то тогда только душить его.

alex07
() автор топика
Ответ на: комментарий от alex07

Каким образом настроить?

Прямым. Есть нагрузка, он раскочегаривается, нет - баю бай. И вообще лучше туда не лезть. Автоматом самое то.

Ну хорошо, а что делать с сайтами которые заточены под IE, в Хроме не открываются вообще, а в Firefox еле еле?

Я на сайты, которые не открываются - не захожу, К.О. говорит - не открываются ;)

По поводу tmux - да пользуйтесь на здоровье. Сейчас терминалы не на модемах, но вдруг человек привык. Чего это я...

vombat
()
Ответ на: комментарий от alex07

Я на сайты, которые не открываются - не захожу

А-ха-ха-ха.

Поясню, вот я и моя команда программистов сделали офигенный сайт, backend на Java, морда на Ангуларе, трудились долго, сайт открывается везде и всюду и заказчик очень доволен.

Но вышло так, что в компании в которой мне платят, бухгалтерия для регистрации отработанных часов использует кривой сайт писаный в 90х и заточеный под IE 6. Мне что делать предлагается? Отказаться от оплаты по причине того что не могу открыть сайт? И такое сплошь и рядом.

alex07
() автор топика
Ответ на: комментарий от vombat

нада же эта, апрувы...

Тебе надо бросать пить. Ну или хотя-бы научиться закусывать. А то так совсем языковые навыки растеряешь. По твоей ссылке чувак показывает как сконфигурировать xmonad, он нигде не называет xmonad.hs конфигурационным файлом - то есть твой «апрув» подтверждает мой тезис, а не твой. Но даже если бы ты понимал, что несёшь - мнение Джона с заковыристой фамилией ещё ни разу не аргумент. А вот исходники xmonad, который компилирует твой xmonad.hs (который, разумеется, программа на Тьюринг-полном языке, а не конфиг), это аргумент.

zabbal ★★★★★
()
Ответ на: комментарий от alex07

у меня не было времени разбираться в настройках emacs чтобы синтаксис и т.д. подсвечивал

Занятно, это на какой экзотике ты пишешь? Всё с чем я до сих пор сталкивался автоматом подсвечивается соответствующим major mode.

некоторые функции по замене по regexp'у в саблайме проще и нагляднее реализованы

Как же здорово, что мне не приходится этим часто пользоваться - у меня всё настолько примитивное, что пары макросов через F3/F4 обычно хватает.

zabbal ★★★★★
()
Ответ на: комментарий от zabbal

major mode

пары макросов через F3/F4 обычно хватает.

Не знаю что это такое, разбираться лень. В саблайме все подсвечивается само по себе хрен знает как.

Макросы, Ф3, Ф4, это я тоже не умею. В саблайме Ctrl + H.

alex07
() автор топика
Ответ на: комментарий от alex07

Именно! Отказаться. Где IE6? Правильно! Он более не поддерживается самим создателем, а значит безопасность... Там, где платят, тоже нужен механизм. Но повторюсь, удачи. Человек привыкает ко всему ;))

vombat
()
Ответ на: комментарий от vombat

Это очень красивая и правильная картинка. Я сохраню ее себе.

alex07
() автор топика
Ответ на: комментарий от vombat

Еще туда стоит добавить про... скажем, плохой вкус у любителей текста на картинке, тем более - в жипеге

Deleted
()
Ответ на: комментарий от Deleted

ЫыЫыы, я в зеркало баюсь зырить. Я же jpg люблю с проги, кхм, sea. Мы уже в ФИДО через него раСпостраняли...

vombat
()
Ответ на: комментарий от vombat

Ух ты, никак ты пытаешься освоить иронию? Ну молодец, чо - ещё пара лет усилий и у тебя таки получится.

zabbal ★★★★★
()
Ответ на: комментарий от vix_simplex

Конкретно у меня висит хоткей на Win + M который выполняет следующее:

# move workspace to another monitor
bindsym $mod+m exec --no-startup-id /home/xand/bin/mv_i3_ws.py

Соот-но:

[xand@xatitude tmp]$ cat /home/xand/bin/mv_i3_ws.py
#!/usr/bin/python

import subprocess
import os

CONTROL_FILE = "/tmp/mv-i3-control"

def get_available_devices():
    devices = []
        
    xrandr_output = subprocess.check_output(['/usr/bin/xrandr'], universal_newlines=True)
    xrandr_output_split = xrandr_output.splitlines()

    for line in xrandr_output_split:
        if line.find(' connected ') != -1:
            device = line.split()[0]
            devices += [device]

    return devices

    
if __name__ == '__main__':
    devices = get_available_devices()
    
    cws = 'LVDS1'
    if os.path.isfile(CONTROL_FILE):
        f = open(CONTROL_FILE, encoding='utf-8')
        cws = f.read()
        f.close()

    switch_to = ''
    
    for d in devices:
        if d != cws:
            switch_to = d

    with open(CONTROL_FILE, mode='w', encoding='utf-8') as f:
        f.write(switch_to)
        
    command = ['i3-msg', 'move', 'workspace', 'to', 'output', switch_to]
    subprocess.check_output(command)
alex07
() автор топика
Ответ на: комментарий от alex07
[xand@xatitude tmp]$ cat /tmp/mv-i3-control
VGA1

Как пишется этот файл, если честно не помню. Но подозреваю что туда прописывается порт к которому подключен второй монитор.

Знаю что через жопу, но делалось это давно и работает, поэтому не трогаю.

alex07
() автор топика
Ответ на: комментарий от alex07

А не сорри. Из самого скрипта и пишется. Если файла нет и ws не на том мониторе (неудачно звезды легли) то надо просто второй раз на Win + m нажать.

alex07
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.