LINUX.ORG.RU

Минималистский оконный менеджер в разработке

 ,


1

2

Долгое время пользовался Awesome, но в нём непросто было приспособить кнопку мыши «back» для того чтобы передвигать окна. Уже почти год отлаживаю свой собственный оконный менеджер. В нём окна передвигаются кнопкой «back», а размер окон меняется кнопкой «back» в сочетании с правой кнопкой мыши. Для удаления окна используется кнопка «back» и колесо вниз. Как видно из скриншота, никаких внешних рамок и заголовков окон нет, но у меня слева всегда 3 xterm и я научился находить их на ощупь...

>>> Просмотр (1920x1080, 495 Kb)

★★

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

Ответ на: о майн гот! от menefis

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

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

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

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

Alt + Tab пока не работает и это напрягает. В xorg у каждого окна есть название и группа, поэтому есть возможность реализовать «кольцо» и внутри группы (как в Винде в строке задач иконки группируются по приложениям), и между группами. Но тогда надо кроме Tab ещё какую-то кнопку задействовать. Конечно, дело не только в кнопке а в том как реализовать эту динамическую структуру данных. Вобщем, пока что не придумал как лучше сделать...

svyatozar ★★
() автор топика

дефолтный gtk, дефолтный fixed в терминале, даже цветовая схема дефолтная...

боже, 10 из 10! ты мой герой!

Spoofing ★★★★★
()

вы так много дрочите, что руку оторвать от члена лень, зажать классический Alt для действий над окнами? во всех WM это принято за стандарт, <Alt> + <Кнопка мыши>.

В FVWM нельзя забиндить две кнопки мыши одновременно, так что решения не будет. Ну а если Alt, то просто

DestroyFunc FuncFvwmRaiseLowerX
AddToFunc FuncFvwmRaiseLowerX
+ I Raise
+ M $0

Mouse 1 W M FuncFvwmRaiseLowerX "Move"
Mouse 2 W M Lower
Mouse 3 W M FuncFvwmRaiseLowerX "Resize"
Spoofing ★★★★★
()

Святые угодники...Взял бы dwm и перепилил под себя

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

Alt+Tab обязателен, без него никак. Еще мне кажется что окна как-то сливаются, нужна все таки рамка (1-2px), а то глаза ломаются. Идея твоя нравится, можно где-то код пощупать?)

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

разбери, как пример DWM. ну и педали там давно реализованы.

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

иногда проще писать с нуля

Уже почти год отлаживаю свой собственный оконный менеджер

Я даже не знаю что ещё добавить

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

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

Ghostwolf ★★★★★
()

Так держать, домашнее десктопное велосипедосироительство - отличный способ прокачаться без вреда для общества. Не слушай криворукое быдло, отписавшее свое «не нужно» в этом треде

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

Благодарю за ссылочку. Я эту rofi установил, запустил, но никаких признаков жизни она не подаёт. Но сама идея что программы для переключения между окнами существуют очень интересна.

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

если смотреть на скриншот со стороны, даже на свой, то да, НЁХ из кучи окон, но когда работаешь сам с кучей голых консолей без рамок — всё ок, очень даже разборчиво.

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

С консолями да, но с гуи не особо хорошо выглядит. Выход один, либо пилить тонкие рамки, либо выпиливать гуи приложения из обихода.

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

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

svyatozar ★★
() автор топика

В нём окна передвигаются кнопкой «back»

Что за кнопка back? Это где-то рядом с any key?

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

Под Wayland будешь перепиливать когда иксы закапывать начнут?

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

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

Забыл сказать что нужна обязательно мышка с 4-й и 5-й кнопками, которые обычно функционируют как Back и Forward в браузере. Без них двигать/изменять размеры окон пока никак нельзя.

daniilArch: пока что единственный хоткей кроме мышки - Mod+Enter, для запуска xterm

Mod - это клавиша Windows на клавиатуре между Ctrl и Alt.

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

Забыл сказать что нужна обязательно мышка с 4-й и 5-й кнопками, которые обычно функционируют как Back и Forward в браузере. Без них двигать/изменять размеры окон пока никак нельзя.

Ну тогда и поддержку педалей нужно запилить.

andreyu ★★★★★
()

Всё правильно сделал.

olibjerd ★★★★★
()

Почему бы тебе не запилить чистый тайлинг без перекрывающихся на одном workspace окон?

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

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

svyatozar ★★
() автор топика

Вау, оконный менеджер!

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

Как разбирался как их писать? Где можно почитать как в принципе wm взаимодействует с приложениям и иксами? Ну кроме твоего кода разумеется, это само собой

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

Есть много способов. Сперва надо выбрать библиотеку Xlib или XCB, вторая гораздо хуже документирована, так как она подразумевает знание Xlib плюс протокола X11.

Почему не tiling? Я сколько их не перепробывал так и не научился ими пользоваться...

Потом я скачал tinywm: http://incise.org/tinywm.html

Много идей взято из awesome.

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

svyatozar ★★
() автор топика

Awesome, но в нём непросто было приспособить кнопку мыши «back» для того чтобы передвигать окна.

А чем сложно super+ЛКМ?

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

Сперва надо выбрать библиотеку Xlib или XCB, вторая гораздо хуже документирована, так как она подразумевает знание Xlib плюс протокола X11.

Почему тогда у тебя вторая?

vertexua ★★★★★
()

пользовался Awesome, но в нём непросто было приспособить кнопку мыши «back» для того чтобы передвигать окна

Починить этот баг было не проще чем целый WM городить?

Worron ★★★
()

Костыль! Ненужно! Наркоман!

Когда тайлинг и тьюринг-полный конфиг запилишь — позвони. Сейчас оно ужасно.

r3lgar ★★★★★
()

Больше лисапедов хороших и разных!

А допилить исходники тот же Awesome (или fvwm) до нужного состояния не проще было? Как сейчас оцениваешь?

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

Однако, не без гордости могу заметить что иксы виснут гораздо реже, чем когда у меня стоял Awesome.

Вау? Как ты это делаешь? В смысле иксы вешаешь?

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

from scratch что-ли, или форк?

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

Awesome полон фич которыми я никогда не пользуюсь. Зачем мне копаться в этом монстре? Ещё и LUA, ну нафига она нужна? Вот уж точно где костыли и нагромождение инвалидных колясок.

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