LINUX.ORG.RU

ручной vs динамический тайлинг

 ,


1

2

Как ни старайся, просто бесит поведение, когда запускаешь программу, а ее распи... на пол экрана. При использовании tmux почему-то такой ненависти нет, сплит консоли выглядит как просто сплит. Ну, бесит, когда чистый рабочий стол, запускаешь первое окно, а оно автоматически на весь экран развертывается. Запускаешь второе, на экране происходит каша... брр, тайлинг наверное не мое. Как вы вообще живете с тайлингом?

DestroyFunc FuncDwmSetMaster
AddToFunc FuncDwmSetMaster
+ I Current (*) SetEnv DWM_MASTER_$[desk.n]_$[page.nx]_$[page.ny] $[w.id]
+ I FuncDwmTileH

DestroyFunc FuncDwmTileH
AddToFunc FuncDwmTileH
+ I All (*) WindowStyle WindowListSkip
+ I All (CurrentPage) DestroyWindowStyle
+ I PipeRead "echo WindowId \$[DWM_MASTER_$[desk.n]_$[page.nx]_$[page.ny]] Move 0 0"
+ I PipeRead "echo WindowId \$[DWM_MASTER_$[desk.n]_$[page.nx]_$[page.ny]] Resize frame 65 100"
+ I PipeRead "echo WindowId \$[DWM_MASTER_$[desk.n]_$[page.nx]_$[page.ny]] WindowStyle WindowListSkip"
+ I UpdateStyles
+ I ModuleSynchronous FvwmRearrange -tile -u -h 65 0 100 100
+ I All (*) DestroyWindowStyle

DestroyFunc FuncDwmMonocle
AddToFunc FuncDwmMonocle
+ I Maximize

Key Return A CM Exec /usr/bin/urxvt
Key Return A M FuncDwmSetMaster
Key T WFST M FuncDwmTileH
Key M WFST M FuncDwmMonocle

DestroyModuleConfig FvwmEvent: *
*FvwmEvent: Cmd
*FvwmEvent: add_window FuncDwmTileH
*FvwmEvent: destroy_window FuncDwmTileH

Module FvwmEvent

Это динамический тайлинг, а сейчас пилю ручной. Глянул презентацию i3wm, когда жмякаешь alt + h или v и следующее окно будет открыто рядом с активным, разбивая область текущего окна пополам, — обычный сплит. И все равно терзают сомнения.

Как еще эффективно организовать работу с кучей открытых окон на трех мониторах?

★★★★★

Я прекрасно управлялся с 30+ окнами в одном мониторе на одном рабочем столе в WinXP, поэтому ты что-то делаешь не так :)

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

Он все не знает куда мониторы девать)
Особенно при имитации бурной деятельности вместо самой деятельности.

dk-
()

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

Удобно, че.

redhat
()

я 4 кнопки в заголовки встроил, разделить на 2 равные части окна, прижать к границам и расположить их горизонтально или вертикально, вот такая удобная делёжка и то редко нужна!, в основном когда данные туда сюда таскаешь:

+++++++
+  +  +
+  +  +
+  +  +
+++++++

+++++++
+     +
+++++++
+     +
+++++++

Frost ★★★
()
Последнее исправление: Frost (всего исправлений: 3)
Ответ на: комментарий от yoghurt

с тайлингом должен поставляться чип в мозг, чтобы было как нужно:)

Frost ★★★
()

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

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

приходится самому быть оконным менеджером
банальный альт-таб

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

приходится самому быть оконным менеджером

А когда не умеешь настраивать свой оконный менеджер, то приходится

терпеть перехерачивания окон при каждом чихе и диалоги в пол-экрана

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

в консоли не разгуляешься, кроме $SHELL запускать нечего, вот и выглядит это именно как сплит консоли.

сплит с последующим открытого рандомного гуишного приложения выглядит как кровь-кишки-эцсамое.

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

кроме $SHELL запускать нечего

mc, какой-нибудь клиент mpd, браузер, aptitude - навскидку.

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

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

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

лень:) чего тут показывать то? 4 кнопки

прижать влево и половинный размер
прижать вправо и половинный размер
прижать вверх и половинный размер
прижать вниз и половинный размер

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

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

Так переключение - это то, что в основном и требуется. Видеть одновременно больше 1 окна - довольно редкий юз-кейс, чтобы под него всё подстраивать. Кстати, на большом экране мне лично удобнее переключить окно, чем искать глазами нужную информацию по всей площади.

anonymous
()

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

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

А, я понял, я чаще всего запускаю xterm, поэтому для меня, с твоей точки зрения, сплит в консоли не отличается от сплита в оконном менеджере. А для немногих гуишных приложений используются отдельные воркспейсы, на которых свои лэйауты. Может тебе так же приспособить отдельные воркспейсы с лэйаутами, заточенными под конкретные задачи? Например, на воркспейсе с браузером у меня просто открытие на весь экран, т.к. больше ничего не держу там, на воркспейсе с приложениями для общения - табы для чатов + правая сторона выделена под ростер.

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

вот мой fvwm (одно из делений окна, на одном из мониторов), 4 кнопки слева-сверху для ручного позиционирования окна, большего и не нужно: http://screenshot.ru/upload/image/eiV

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

а это у вас Vector кнопочки? не поделитесь? алсо, рекомендую выложить скриншот в галерею, люди оценят. очень годно.

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

я пока не готов, меня обзовут олдфагом, привет из 90х и сам всё знаешь:))), и на ТЫ пожалуйста (не такой старенький я)

ButtonStyle All ActiveUp (Solid black) ActiveDown (Solid $[Color_Blue]) Inactive (Solid black)
######################## Close ##########################
#ButtonStyle 2 17 20x20@1 30x20@1 50x40@1 70x20@1 80x20@1 80x30@0 60x50@0 80x70@1 80x80@0 70x80@0 50x60@0 30x80@0 20x80@0 20x70@0 40x50@1 20x30@0 20x20@1 -- Flat
#ButtonStyle 2 ActiveUp (Solid black) ActiveDown (Solid $[Color_Blue]) Inactive (Solid black)
AddButtonStyle 2 Vector 4 30x30@3 60x60@3 60x30@4 30x60@3
######################## Maximize ##########################
#ButtonStyle 4 5 25x25@1 25x75@1 75x75@0 75x25@0 25x25@1 -- Flat
#ButtonStyle 4 ActiveUp (Solid $[Color_Blue]) ActiveDown (Solid $[Color_Blue]) Inactive (Solid black)
AddButtonStyle 4 Vector 7 30x30@3 30x60@3 60x60@3 60x30@3 30x30@3 30x30@3 60x30@3
######################## Icon ##########################
#ButtonStyle 6 ActiveUp (Solid #e0578b) ActiveDown (Solid #e0578b) Inactive (Solid black)
AddButtonStyle 6 Vector 2 30x60@3 60x60@3
#ButtonStyle 6 5 45x45@1 55x45@1 55x55@0 45x55@0 45x45@1 -- Flat
#ButtonStyle 1 ActiveUp (Solid black) ActiveDown (Solid $[Color_Blue]) Inactive (Solid black)
######################## Max Vertical ##########################
#AddButtonStyle 8 12 50x10@3 25x35@3 40x35@3 40x60@3 25x60@3 50x85@3 75x60@3 60x60@3 60x35@3 75x35@3 50x10@3 50x10@3
AddButtonStyle 8 8 45x25@3 55x35@3 35x35@3 45x25@3 45x65@3 55x55@3 35x55@3 45x65@3
######################## Max Horizontal ##########################
AddButtonStyle 0 8 25x45@3 35x55@3 35x35@3 25x45@3 65x45@3 55x55@3 55x35@3 65x45@3
#AddButtonStyle 0 12 10x50@3 35x25@3 35x40@3 65x40@3 65x25@3 90x50@3 65x75@3 65x60@3 35x60@3 35x75@3 10x50@3 10x50@3
######################## Menu ##########################
AddButtonStyle 1 Vector 8 30x30@3 60x30@3 30x45@4 30x45@3 60x45@3 30x60@4 30x60@3 60x60@3
#ButtonStyle 8 12 50x10@1 25x35@1 40x35@1 40x60@1 25x60@1 50x85@1 75x60@0 60x60@0 60x35@0 75x35@0 50x10@0 50x10@1 -- Flat
#ButtonStyle 0 12 10x50@1 35x25@1 35x40@1 65x40@1 65x25@1 90x50@1 65x75@0 65x60@0 35x60@0 35x75@0 10x50@0 10x50@1 -- Flat
######################## Left ##########################
AddButtonStyle 3 Vector 5 25x45@3 35x55@3 35x35@3 25x45@3 65x45@3
######################## Right ##########################
AddButtonStyle 5 Vector 5 25x45@3 65x45@3 55x55@3 55x35@3 65x45@3
######################## Up ##########################
AddButtonStyle 7 Vector 5 45x25@3 45x65@3 55x55@3 35x55@3 45x65@3
######################## Down ##########################
AddButtonStyle 9 Vector 5 45x25@3 55x35@3 35x35@3 45x25@3 45x65@3
AddButtonStyle All -- Flat

выдрал, разбирайся

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

и цвета забыл:

PipeRead 'echo SetEnv Color_Blue \\"#4a76af\\"'
PipeRead 'echo SetEnv Color_Dark_Blue \\"#134179\\"'
PipeRead 'echo SetEnv Color_Pink \\"#ce4273\\"'

Frost ★★★
()

решил, что буду мышевозить =)

DestroyFunc FuncFvwmRaiseLowerX
AddToFunc FuncFvwmRaiseLowerX
+ I Raise
+ M $0
+ D FuncFvwmMaximize grow grow

DestroyFunc FuncFvwmMaximize
AddToFunc FuncFvwmMaximize
+ I ThisWindow (Maximized) Maximize
+ I TestRc (NoMatch) Maximize $[0-]

Mouse 1 W M FuncFvwmRaiseLowerX "Move"

берем окно, Alt + левая кнопка мыши, во всех WM это перемещает окно, и теперь если сделать двойной клик, то оно развернется, но не на весь экран, а как-бы тайлово. grow grow наше всё.

http://i.imgur.com/cLM5MuI.png — такого эффекта добился растаскав окна примерно в нужные места, а потом по каждому дабл-кликнул с зажатым alt.

Spoofing ★★★★★
() автор топика
11 апреля 2015 г.

Спуф скажи, а как ты избавился от corner-ов, тех что по углам окон, ты просто закарасил их в тот же цвет что и рамка окна? Или иначе? Какой толщины у тебя рамка окна получилась?

Frost ★★★
()

Как вы вообще живете с тайлингом?

Нормально живём.

Не изобретай велосипедов. FVWM явно не для тайлинга. Для тайлинга есть awesome, i3.

эффективно организовать работу с кучей открытых окон на трех мониторах?

awesome искаропки будет отлично тайлить, а с правилами ещё и открывать нужные окна на нужных мониторах на нужных тагах.

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

http://www.fvwm.org/doc/unstable/commands/BorderStyle.html

BorderStyle Active — HiddenHandles NoInset

HiddenHandles отвечает за уголки

NoInset отвечает за так называемую глубину контента окна относительно рамок

долгое время я сидел тупо без декораций окон, Style * !Title, !Handles, !Borders, потому что перфекционист и тяжело подобрать что-то стоящее.

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

https://github.com/spfng/dotfiles/blob/master/.fvwm/config

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

Я себе на awesome настроил хоткеи кейпада (блока цифр 3х3 с право стороны клавиатуры), что означает, что могу смасштабировать окно в любую из 9 позиций

Дай конфиг глянуть, тоже хочу так сделать

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

http://www.fvwm.org/doc/unstable/commands/BorderStyle.html

Спасибо. Читал документацию, наверное я неправильно спросил. Скажу что я хочу сделать. Я хочу увеличить толщину рамки окна например до 2х пунктов для удобства мышевозия (кстати у тебя, посмотри строку №263, там HandleWidth имеет приоритет как я понял, BorderWidth 7 не нужно задавать, у тебя рамка имеет при этом толщину 1 пункт).

Избавился от угловых элементов, но рамка имеет градиент, то есть как будто выпуклая, я хочу плоской её сделать, пробовал?

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

там HandleWidth имеет приоритет как я понял, BorderWidth 7 не нужно задавать, у тебя рамка имеет при этом толщину 1 пункт

это у меня такой стиль «программирования», специально оставляю очевидные вещи которые можно было бы и убрать: ты видишь толщину рамки 1 пиксель, видишь что HandleWidth 1, а BorderWidth 7. и ты сразу понимаешь, что HandleWidth главнее чем BorderWidth. ;) что-то вроде самодокументированного кода получается, угу.

рамка имеет градиент, то есть как будто выпуклая, я хочу плоской её сделать

BorderStyle Inactive — Flat

BorderStyle Active — Flat

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

я не придираюсь, просто спросил, не принимай на свой счет, попробую, спасибо

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

у меня вот так сработало:

BorderStyle Inactive -- Flat
BorderStyle Active -- Flat
то есть две --

спасибо ещё раз

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

Извини за ещё один вопрос недогоняя... как сделать при этих условиях чтобы активные и неактивные бордюры окна были разного цвета? И с праздником тебя!

Frost ★★★
()
Ответ на: комментарий от Frost
Style * Colorset 1, HilightColorset 2, BorderColorset 3, HilightBorderColorset 4

Colorset 1 Background #121212, Foreground #666
Colorset 2 VGradient 2 #212121 #121212, Foreground #aaa
Colorset 3 Background #121212, Foreground #666
Colorset 4 Background #212121, Foreground #aaa

И с праздником тебя!

с каким именно?

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

Пасха.

При толщине рамки в 1 пункт всё работает нормально, то есть активное - gray40, неактивное - gray20... но стоит только увеличить толщину рамки до 3х пунктов - рамки не отличаются по цветам.

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

всё доперло:

Style * Colorset 1, HilightColorset 2, BorderColorset 3, HilightBorderColorset 4

у меня только Hilight было прописано по дефолту

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

кстати ещё идиотский вопрос, ты в Круксе пользуешься глобальным меню (то есть, то меню которое генерируется на основе установленных пакетов kde и gnome, понятно что оно не очень и нужно), но как оно там реализовано? напримере в дебиан есть debian-menu (скрипты из которых fvwm подгружает это меню). Или ты только user-menu используешь, только то что сам добавил вручную?

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

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

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

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

глобальное меню это когда меню из приложений выведено в отдельную панельку

Да, не важно. Проще говоря это скрипты которые генерируют(обновляют) после установки пакета ещу один пункт меню в fvwm, его так и можно назвать «глобальное меню». В Слакваре таких излишеств тоже нет.

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