LINUX.ORG.RU

Выбор DE/WM

 , , , ,


0

3

Посоветуйте сабж, отличный от unity, с переключением по окнам как в unity или винде (на super + 1,2,3,4,5...).

Изкоробочные тайловые wm (по крайней мере awesome) это не то, там ты размещаешь окна приложений по виртуальным экранам и работаешь на этом уровне. А меня интересует вариант, когда тэг вешается не на виртулальный экран, а на конкретное приложение или его окно.

Хотя, может быть я не так готовлю - тогда делитесь, как надо.

upd забыл - ищется именно легковесное решение. Так бы я был бы хэппи и на unity.

★★★★★

У меня в осоме каждое окно на отдельном рабочем столе. Получается как раз то, что тебе нужно. Если лень что-то городить то думаю этот вариант вполне работоспособен, плюс еще и не надо гадать какое у тебя приложение в этот раз под каким номером.

alozovskoy ★★★★★ ()

это не то, там ты размещаешь окна приложений по виртуальным экранам и работаешь на этом уровне.

Awesome работает так, как ты его заскриптуешь. Вот наверно что ты хочешь, естественно этот пример нужно довести до ума унифицировав на все клавиши.

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

Плохо работает этот подход на мультимониторных системах к сожалению.

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

Не, меня интересует именно юзекейс mod+<number> переключает на окно заданного приложения, без относительно того, где приложение распологается.

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

переключает на окно заданного приложения

Заданного где?

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

Да хоть в текстовом файле. В идеале - опреределённый хоткей скидывает заданный тег с приложения на котором он закреплён и вешает на приложение которое сейчас в фокусе.

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

Можно это коенчно в осом запилить, но я против повышения энтропии вселенной, хочу готовое.

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

У меня для мультимонитора вообще отдельная песня, но тебе такое вряд ли понравится. Но в общем - на отдельном мониторе только один тег, есть два хоткея - перекинуть окно с основного монитора на дополнительный и вернуть окно обратно на основной монитор. С учетом того что на дополнительный монитор я редко фокус перевожу эта схема довольно неплохо работает, по крайней мере мне показалось удобнее двух комплектов воркспейсов на разных мониторах.

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

хочу готовое.

Ну тогда понятно, вопрос c awesome снят. Там все это правда реально сделать, но нужно писать самому.

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

В принципе, костыль, но похоже на то, что может меня примирить с текущей картиной мира.

Перфикционист плачет думаю о третьем монике.

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

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

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

По описанию - не понял чем оно отличается в этом плане от awesome.

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

В принципе там не сложно, но много нюансов: что делать если приложение по заданному номеру еще не запущено, что делать если несколько экземпляров запущено и т.д. В общем по итогу треда напиши решил ли связаться с осомом, тогда могу что-то набросать.

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

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

Другое дело - охота тебе связываться?

Ну если охота:

  • Если приложение не запущенно - запускать
  • Если несколько экземпляров - включать последний бывший в фокусе если он не в фокусе, иначе пускать что-то вроде rofi -w с фильтром по этим окнам

Основной вопрос тут - что считать приложением. Тут надо видимо спеку freedesktop почитать.

Кстати, если оно продолжит работать параллельно с тэгами и прочими размещениями, это может получиться очень даже интересненько.

pon4ik ★★★★★ ()
Последнее исправление: pon4ik (всего исправлений: 1)

bspwm - хоткеи какие хочешь.

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

почему цифры?
их мягко говоря мало, сделать 10 шорткатов на 10 приложений вызывающий функцих run_or_raise(apps) дело пары минут, самое сложно выбрать какие приложения тебе нужны, run_or_raise напиши по вкусу, в конце концов из названия понятно что нужно делать(в осомвики есть пример)

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

Если ты постоянно пользуюшься более чем 10ю оконными приложениями под онтопик в рамках одной сессиии, ты очень многозадачный человек или не умеешь как минимум в tmux.

Хотя... тут конечно смотря чем заниматься. Но хоткеи мне нужны только для того, между чем я переключаюсь постоянно - код, чат, почта, терминал, виртуалка.

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

Я что-то тебя не понимаю (я на тред подписался, тема интересная, так что буду задавать ответы) - то что ты сейчас описал и так работает на уровне тегов - на первом у тебя почта, на втором браузер, на третьем - im и т.д., то есть функционал есть из коробки. Кстати, тут очень удобно использовать шорткат возврата в в предыдущий ворксепйс при повторном «переходе» в текущий (т.е. был на 1, переходишь на второй, опять жмешь сочетание для перехода на второй - попадаешь на первый).

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

Хорошо - задавай вопрос :)

В смысле что именно не понятно?

Запретить размещать на одном теге два приложения - не вариант, ибо это удобно, тем более, если пользуешься тайлингом. Искать приложение по тегам на 2+ мониторах - тоже не удобно. Лучший вариант - притащить приложения в тэг и скомпоновать их как удобно, а не искать приложение на каждом тэге. Остальное - звучит как костыль для меня. Сущности разного порядка приложение, условно говоря данные, а тэги способ их размещения и представления.

Если мне сейчас удобно держать чат и терминал на одном теге, через 5 минут будет удобно выкинуть чат на соседний монитор и сосредоточится на терминале, а на чат поглядывать одним глазом, но при этом иметь возможность быстро туда переключиться. При этом на втором мониторе так же в фоне могут жить ещё пара дэшбордов, или почта например и все доступны просто переводом взгляда.

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

а кто сказал постоянно, но набор из 20 приложений которые хочется запускать быстро, вполне может быть, 30 наверное уже сложно набрать, а 20 вполне, хотя у меня и меньше, но мне на самом деле концепция не очень понравилась, но на вкус и цвет, как сделать твою хотелку я написал(если не готов сам писать, тебе не понравится пользоваться скриптуемым вм)

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

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

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

Соль в том - что бы иметь возможность назначить хоткей в процессе работы. Т.е если ты целый день сегодня переключаешься между терминалом, чатом и почтой а в код не лезешь - тебе достаточно 3 клавиши, а компонавать на экранах ты это всё можешь штатными средствами wm, как и переключать представления.

20 приложений которые кто то хочет иметь возможность быстро запускать имхо - миф. Но речь не сколько о запуске, сколько о быстром переключении, и тут - 20 это невозможная цифра, для среднестатистического индивида это число равно 7 насколько я помню.

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

По описанию - не понял чем оно отличается в этом плане от awesome.

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

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

о5 ты говоришь про тег:)

Я не хочу переключаться на тэг. Я хочу притащить в текущее представление приложение которое до этого пометил номером, буквой или тэгом как не назови. Либо переключиться в представление где уже учавтсвует это приложение, в зависимости например от модификатора.

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

pon4ik ★★★★★ ()
Последнее исправление: pon4ik (всего исправлений: 1)
Ответ на: комментарий от andreyu

Отличается тем, что wm не меняет размеры окон? Можешь на пальцах обьяснить в чём разница или тут только пробовать? :)

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

блин, ты путаешь терминалогию, это не удобно, в осоме(так уж сложилось):
тег=рабочий стол
приложение=клиент
тегами рабочие столы называются, потому что можно отобразить клиенты с нескольких тегов одновременно, то есть например все кто на теге терминал и все кто на теге браузер( но я лично этим не пользуюсь), а клиенты могут быть расположены сразу на нескольких тегах.

фича которую ты хочешь делается без проблем, тебе нужно сделать соответствие нужных тебе приложений цифрам/буквам, создать для них шорткаты которые будут добавлять нужный клиент на нужный(текущий) тег, запускать/переключать на него, в общем всё что угодно, это можно сделать и даже не сложно.

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

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

WDWTFWW ()

Очевидно же, что лучший выбор — это Xfce.

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

Отличается тем, что wm не меняет размеры окон? Можешь на пальцах обьяснить в чём разница или тут только пробовать? :)

Не меняет размеры, не создает фреймы.

Пояснить скорее всего не смогу, но расскажу свою историю.

Много лет назад, будучи на даче, я решил опробовать ion3. После привычных динамических тайловых менеджеров (до него я пользовался wmii -> dwm -> awesome) было все непривычно. Но я твердо решил не «просто посмотреть на новый wm», а продолжить делать всю ту работу, что я делаю обычно. Прочитав короткий man, сделав минимальные настройки (указал какой модификатор буду использовать, настроил строку статуса, подключил нужные мне модули) я уже не хотел возвращаться обратно на динамические wm.

В то время меня уже окончательно утомило, что осом любил дохнуть, если делался релоад с невалидным конфигом. Очень напрягало вносить правки в конфиг с каждым минорным релизом осома (это не говоря уже про кардинальные изменения при переходе с версии 2.х на 3.х).
С «протухшим» ion3 такой проблемы не было, он просто работал.

Потом я написал для ion3 индикатор загрузки процессора (http://www.ugolnik.info/?p=770) и небольшой модуль для псевдо раскраски строки статуса. Так же прикрутил переключение на предыдущее приложение по meta+esc (как это было в осоме).

Периодически я присматривался к новым версиям wm и к новым (для меня, конечно) wm. Но каждый раз я возвращался в уютный ion3.

andreyu ★★★★★ ()

В винде же цифры определяется порядком следования окон в таскбаре.

А как в юнити это работает? Там ведь таскбара нет, как соответствие цифра-программа определяется?

Вообще если программа минимум, то любой run or raise скрипт под любой тайлер, где это возможно. Может быть допилить поведение для себя. Если нужна возможность динамической привязки, чтоб налету менять соответствие цифра-программа, то тут будет пердолинг, но в принципе реализуемо.

Midael ★★★★★ ()
Последнее исправление: Midael (всего исправлений: 1)
Ответ на: комментарий от LiBer

Да. Я в курсе, что можно сделать :)

Я просто думал может готовое что есть. Делать то - неохота.

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

В юнити - порядком следования в дэш же. Как штуку не назови а смысла не меняется.

Однако скомпоновать рабочий набор себе на ближайшие пару часов можно три раза взмахнув мышкой (были бы хоткеи было бы вообще айс) из pinned приложений.

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

История происходила на ноуте?

На ноуте вариант один тег на приложение меня вполне устраивает просто.

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

История происходила на ноуте?

Да, на лэптопе. Но и на десктопе я тоже использовал ion3.

На ноуте вариант один тег на приложение меня вполне устраивает просто.

У меня как-то так:

- тег для веба - там только браузер;
- тег с двумя фреймами для терминалов (каждый фрейм умеет в табы, что очень удобно);
- тег для im (давно не использую, раньше там были всякие скайпы, громоптицы и гажимы);
- тег для разработки - два терминала в табах - один для vim, второй для остального;
- тег для графики (обычно там только gimp, иногда inkscape и blender);
- тег для виртуальной машины;

Плюс именованные скретчпады - для goldendict, mplayer (ныне для mpv), qualculate.

andreyu ★★★★★ ()

Это делается правилами осома элементарно. Если нужны живые примеры — смотри ссылку на мои дотфайлы на гитлабе в последнем скриншоте моём. Там, конечно, без комментариев, но документация по осому вполне доступна. Будь осторожен, у меня осом из мастера, некоторые плюшки работать не будут, но правил это не касается.

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

А ты случаем не учавствуешь в разработке осома? почему нету менеджера плагинов, как в виме и чего то облегчающего переносимость?

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

А ты случаем не учавствуешь в разработке осома?

По факту — нет, не участвую. Участвует actionless (не стану кастовать, сам по тегу придёт, если посчитает нужным), я часто его в коммитах вижу, и в иссуях он часто пробегает.

почему нету менеджера плагинов, как в виме

Потому, что мало добавить модуль, его надо как-то использовать. В виме у тебя один статуслайн, в осоме у тебя панелек может быть сколько угодно, каждая из них может называться как угодно, потому плагины всё равно придётся подгонять вручную, они никогда не научатся ванговать на какую панельку и куда конкретно тебе поместить виджет, написание кода в rc.lua никуда не денется.

чего то облегчающего переносимость

Тут проблема состоит в первую очередь в том, что нельзя быть одновременно бесконечно гибким и предельно простым. Гибкость обратно пропорциональна простоте, я не раз это говорил.

// Чтобы не засирать тред сообщениями не по теме, ты можешь написать мне в жаббер или на электронную почту.

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

В общем, заинтересовался я этой фичей и решил сделать, правда на своей основе ибо там «что-то вроде rofi» уже имеется. Оно еще в очень черновом варианте, но уже сейчас мне нужны пару отзывов, особенно как работает на мультимониторной конфигурации. Можешь потестировать?

Чтобы запустить нужно поставить этот модуль и в конфиге строчку root.keys(globalkeys) заменить на

local redflat = require("redflat")

-- настройки переключалки отдельная тема
redflat.float.appswitcher.keys.next  = { "a", "A", "Tab" }
redflat.float.appswitcher.keys.prev  = { "q", "Q", }
redflat.float.appswitcher.keys.close = { "Super_L" }

-- настройки списка приложений
local test_apps = {}
local test_modkeys = { "Mod4", "Mod1" } -- win + alt

-- каждый ключ в таблице это класс приложения в нижнем регистре, именно по этому значению приложения будут фильроваться
-- значение key это хоткей соответсвенно, для номерной клавиши n key = #(n+9) то есть '#10' -> '1'; '#11' -> '2'
-- значение run команда для запуска приложения
test_apps["firefox"]        = { key = "#10", run = "firefox" }
test_apps["gnome-terminal"] = { key = "#11", run = "gnome-terminal" }
test_apps["totem"]          = { key = "q",   run = "totem" }
test_apps["gimp"]           = { key = "w",   run = "gimp" }

redflat.float.qlaunch:init({ apps = test_apps, modkeys = test_modkeys })

globalkeys = awful.util.table.join(globalkeys, redflat.float.qlaunch.hotkeys)

root.keys(globalkeys)

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

ммм, у меня по 9 воркспэйсов на разных мониторах) Очень удобно когда приложений туева хуча и не хочется все закрывать, потому что сейчас занимаюсь одной задачей, через час брошу, и возьмусь за другую. Тогда все раскидано по местам, и можно легко продолжить с чего начал. Несколько воркспэйсов на левом и правом мониторе универсальны, остальные взаимосвязаны. 5-й левый с 5-м правым, шестой с шестым и т.д.

А вообще, всё зависит от привычек и склада характера.

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

А вообще, всё зависит от привычек и склада характера.

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

alozovskoy ★★★★★ ()

тут уже советовали xfce. Там действительно есть возможность установить хоткеи на приложение (примеры в xubuntu win+1,2,3), и если приложение уже открыто/свернуто - появится в фокусе. Не помню точно, но скорей всего так. Это, вкупе с рабочими столами думаю будет тем, что тебе надо. А если есть нужда в тайлинге, то в связке с каким нибудь pytile, или rubytile (хз, было что-то на рубях) вообще пойдёт на ура.

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

Потому, что мало добавить модуль, его надо как-то использовать. В виме у тебя один статуслайн, в осоме у тебя панелек может быть сколько угодно, каждая из них может называться как угодно, потому плагины всё равно придётся подгонять вручную, они никогда не научатся ванговать на какую панельку и куда конкретно тебе поместить виджет, написание кода в rc.lua никуда не денется.


Ну уж добавить виджет на панель любой сможет, и я, конечно, справляюсь добавлять модули/виджеты как сабмодули репозитория, но было бы удобней, если бы наиболее активные разработчики договорились, об автоматизации таких вещей, да и об архитектуре типовых модулей, не сильно вмешивающихся в остальное окружение, как простые виджеты, наборы правил, реакций на сигналы. Сейчас зачастую проще написать что то самому, чем взять готовое решение(быстрее), но это не эффективно, да и сообщество так медленнее развивается :(

LiBer ★★★ ()
Последнее исправление: LiBer (всего исправлений: 1)
Ответ на: комментарий от Worron

awesome v3.5.9 (Mighty Ravendark)

Не работает на нём. Пишет ошибку в appswitcher.lua.

awesome лог куда то пишет с ошибками?

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

Я тебе специально на примере вима выше описал ситуацию, что не понятно из написанного выше?

Любое ПО, в котором предусмотрено простое управление плагинами, сильно ограничено тем или иным способом (например, количеством панелей, именование панелей hardcoded), потому установленные модули всегда знают, на что и как можно воздействовать. В осоме так не выйдет, потому, что ВСЕ модули можно переписать, и тогда, установив модуль, ты получишь тыкву, и тебе всё равно придётся разгребать весь код вручную.

Архитектурно твоя хотелка не предусмотрена. Ты, конечно, можешь в иссуях изложить свою хотелку, но или тебе придётся писать реализацию самому, или ждать того, кто разделит твою идею, и напишет реализацию за тебя; ты напишешь статью в вики, и у осома появится ещё одна плюшка.

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

сообщество так медленнее развивается

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

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

Да хоть в текстовом файле. В идеале - опреределённый хоткей скидывает заданный тег с приложения на котором он закреплён и вешает на приложение которое сейчас в фокусе.

Ты сейчас реально описываешь обычные цифровые теги:) Чтобы приложение стартовало на определенном теге, можно использовать правила. Чтобы правила можно было динамически переприсваивать, я написал себе rulez, но там черт ногу сломит правда.

unlog1c ★★★ ()

Мне удобно так: сначала задал правила размещения, положения и размера окон приложений. Затем скрипт который по хоткею запускает приложение, а если приложение уже запущено то переключает на него (соответственно и на рабочий стол где это приложение прописано). Нажал хоткей переключился на нужное приложение или запустил его.

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

Собственно, как мне кажется, трудозатратность настройки осома, основная причина того, что многие его почти не настраивают.
плагины могут возвращать отдельные виджеты или даже целые панели, которые пользователь добавляет куда захочет(это и так уже есть) но сейчас нужно найти репозиторий, клонировать себе, добавить его в конфиг и следить за его обновлениями.

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

В красном всплывающем окне при запуске awesome.

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