LINUX.ORG.RU
ФорумTalks

Правильная реализация рабочего стола

 


2

1

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

Когда-то давно, когда в морях и океанах еще резвились плезиозавры, а Торвальдс был простым финским студентом, инженерам Microsoft вдруг взбрело в голову задаться вопросом: вот есть у нас такие замечательные окна, а то, что под окнами, — что же это? Не придумав ничего лучшего, они засунули туда отображение содержимого первого попавшегося каталога и назвали это рабочим столом. Но поскольку стол не был для WM-а полноценным приложением и всегда был снизу, вскоре выяснилось невероятное: оказывается, этим столом немного неудобно пользоваться! Кто бы мог подумать. («Он же закрыт окнами! Как мы сразу-то не догадались!») После этого в качестве костыля на свет божий вылупилась кнопка «Свернуть все окна». Так всё это и ушло в релиз. Нормальные люди посмотрели на это торжество дизайна над здравым смыслом, да и забыли.

Спустя некоторое время плезиозавры вымерли, Торвальдс уехал обживать Олимп, а наши братья меньшие обрели разум и начали строить Gnome. Как и полагается меньшим, начали они с копирования того, что было у старших. Скопировали ярлычки, скопировали реестр, скопировали рабочий стол, сокопировали и ту самую кнопочку. Шли месяцы, годы, медленно вращалась Галактика, рождались и умирали дистрибутивы, на ЛОРе производился метан. В мире царила стабильность.

***

После более чем десяти лет титанической, почти непосильной работы мысли, сумрачные гении из Microsoft вдруг осознали невероятное: рабочий стол — он ведь тоже окно! Это замечательное открытие конечно не могло не найти практического применения, и вот в Семерке мы смогли наконец увидеть нормальный способ переключения на рабочий стол и обратно — через Alt-Tab. В мире что-то пошатнулось.

В стане строителей каменных статуй Гномов шок от увиденного был столь велик, что оправиться от него они так и не смогли. Обессиливая и изнемогая в попытках осмыслить произошедшее, наши меньшие братья выпилили сначала заветную кнопочку, потом выпилили панель, на которой она лежала, выпили следом рабочий стол, выпилили и запилили в другое место иконки, выпилили половину файлового менеджера, измазались в CSS и случайно еще раз переизобрели реестр. Но всё было тщетно, гармонии с миром и природой больше не было. На руинах своего полуразрушенного обиталища сходящие с ума гномеры выбили в отчаянии надпись GNOMEISHELL, подводя итог своим злоключениям, после чего окончательно провалились в амфетаминовую дыру. Буква I в надписи, кстати, была выбита не чётко, многие не могут её правильно прочитать и видят там дефис.

***

Короче. Пока там разлагаются трупы последних из могикан, я запатчил в сорцах openbox возможность привязать отдельные окна в списке переключателя окон к фиксированным позициям. По типу «это окно всегда будет последним в списке, а вон то — предпоследним». Это даст возможность иметь окна, подобные рабочему столу в семерке — с одной строны, они всегда под рукой, а с другой, не мешаются в голове списка.

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

  • Допатчить в openbox возможность динамически назначать окнам свойства в зависимости от значения других свойств и затем использовать фичу через его конфиг.
  • Использовать какой-нибудь наколеночный скрипт, который делает то же самое.
  • Запатчить фичу непосредственно в программу, окна которой мы будем юзать этим способом. (pcmanfm, spacefm, какие-нибудь тулзы для показа полноэкранных апплетов и т.п.)

Мне все три варианта нравятся, если честно. Первый — гибкостью, последний — искоробочностью результата, а средний — легкой ноткой безумия. Не знаю еще, какой из них буду делать.

Товарищи, скачущие с DE на DE, я вам хочу сказать: хватит жрать кактус. Изучите уже сишечку и займитесь каким-нибудь делом.

Пора уже осознать, что никто нам не поможет, кроме нас самих.

★★

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

Ответ на: комментарий от Eddy_Em

>для разработки qt
>Правильная реализация рабочего стола

Теперь мне понятно почему счастливое будущее у линукса всегда в будущем. Они просто не могут отличить написание десктопа от того, что под капотом.

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

Есть няшные JS, Python, C# и Java, нет, надо насиловать труп сегфолт-ориентированного программирования.

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

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

В тематике данной темы десктоп это то, о чём мы говорим. Внезапно, я знаю.

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

Потому что они — регресс.

Кноппикс, 2004 год. Флеш и другая программа вместе выводить звук не хотят. Убунта, 2008 год. У меня ни разу не было, чтобы одна программа могла захапать себе весь звук. В первом случае пульсаудио не было, во втором он был.

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

Слово часто специально пропустил? У нормального человека всего-лишь 5-6 программ, ну максимум 10 которые он регулярно использует.

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

Флеш и другая программа вместе выводить звук не хотят

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

Убунта, 2008 год. У меня ни разу не было, чтобы одна программа могла захапать себе весь звук

Она, похоже, сразу считает, что у тебя звуковой карты нет.

В первом случае пульсаудио не было, во втором он был.

Ненужная дрянь.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Andrew

У нормального человека всего-лишь 5-6 программ, ну максимум 10 которые он регулярно использует.

И 640 килобайт хватит всем ☺

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

Ненужная дрянь.

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

Ещё раз: это частный случай и частное мнение. Противникам пульсы можно не пыжиться. :)

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

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

Eddy_Em ☆☆☆☆☆
()

После более чем десяти лет титанической, почти непосильной работы мысли, сумрачные гении из Microsoft вдруг осознали невероятное: рабочий стол — он ведь тоже окно! Это замечательное открытие конечно не могло не найти практического применения, и вот в Семерке мы смогли наконец увидеть нормальный способ переключения на рабочий стол и обратно — через Alt-Tab.

Что-то я не понял предмета восторга. Зачем в карусели альт-таба десктоп, если десктоп не нужен?

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

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

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

До поры до времени. У меня на работе недавно писали приложение под метро, которого просто не будет в не-метро режиме. И приложение нужное отдельной категории людей.

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

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

У меня юнити летает, пишу из горящего танка, ЧЯДНТ? А на драйверах не от интел тормозит - то проблема в выводе графики, а не в интерпретаторах.

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

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

Приходит такой человек, хочет поставить себе линукс (ну не знает он, что линукс элитный, думает - для народа делали). И тут сначала как в маках нужна «нормальная звуковушка», которая, значит, отлично сидит в руке и воодушевляет на великие дела своей райской музыкой. Затем нужно настроить dmix, причём у 2/3 пытавшихся это сделать не вышло и они с линукса ушли, оставшаяся треть будет сидеть в сторонке, смеяться и просить ещё... и никого, никого не подпускать к своей машинке - не дай бог увидят, что dmix там работает только по пятницам в полнолуние.

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

Какая-то дедовщина получается: над одними постебались и подсунули костыль dmix вместо автоматической pulseaudio, networkmanager и vim вместо редактора, а те как привыкли - на новых «духах» отыгрываются.

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

Ничуть. Почитай выше, почему PA — не лекарство от всех болезней. По большому счету, PA — ненужный костыль, всегда можно обойтись только ALSA или OSS.

NM — тоже ненужный костыль.

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

Ты думаешь, я когда решил на линукс переходить, сразу так за полдня все осилил? Ага, как же…

Когда я поставил свой первый линукс — слакварь с кде, меня поразили две вещи: охренительный звук разбитого стекла фап-фап-фап и что две программы не могут одновременно говорить ртом лол.

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

охренительный звук разбитого стекла

Да уж, кеды славились звуковым набором ☺

и что две программы не могут одновременно говорить ртом

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

Eddy_Em ☆☆☆☆☆
()

Я думаю, Alt+Tab следует расширить поиском окон. Нажал Alt+Tab - и вводишь название окна, по мере ввода оно находится. Как-то так. Правда, мне это не особо нужно. Может уже сделано где-то кроме ланчеров.

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

Мой первый линукс был knoppix с kde 3. Этот звук разбитого стекла, kde'шные синие папки и тема plastic просто ужаснули

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

Уже реализвано в мандриве, альте и зюзе. Вроде в редхате ещё есть. У каждого своя, но единая. (а в убунте до сих пор нет - парадоксально?)

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

PolarFox> А лишний пункт в альттабе — мерзость

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

PolarFox> Рабочий стол — не окно.

Таки окно. См. архитектуру X11.

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

PolarFox> То что технически рабочий стол — окно, не значит, что таким образом он будет восприниматься пользователем.

Прктика показывает, что такое восприятие - не первое дело. Главным является восприятие в целом, а не отдельными понятиями.

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

До неё надо тянуться мышкой.

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

Пожалуйста, не пиши так больше.

Наоборот же!

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

Ok> Во-вторых, если надо пройтись по второму кругу

...значит в самой концепции что-то не так.

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

Ok> Постабильней и удобней этих ваших.

Сравнительно стабильная венда тогда, когда софт туда по минимуму ставят. А удобство... Да какое нафиг удобство в ОС, где рабочая среда отсутствует в принципе? Сама венда не предоставляет необходимый минимум функций для организации рабочего места и построения рабочего процесса, в отличие от линукса. А то, что там есть, реализовано неудобно. Рутину на компьютер переложить в ней себе дороже.

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

Системд действительно регресс. А вот пульсаудио - это просто говно. Не больше.

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

PolarFox> Кноппикс, 2004 год. Флеш и другая программа вместе выводить звук не хотят.

У меня на SB Live! 5.1 выводило. Там аппаратный микшер. Да и dmix был, так что программное микширование - не заслуга пульса. Кроме того, был ESD, был aRts.

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

Eddy_Em> Если нет нормальной звуковушки, придется настраивать dmix, да.

Не придётся. Он уже много лет как из коробки работает.

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

DeVliegendeHollander> Скажу своё личное мнение (из личного опыта): Если какая-то хрень, в данном случае ALSA dmix, ставится «из коробки» и не требует особых телодвижений для настройки (я только вместо встроенного аудио главным сделал воткнутый саундбластер, и всё) и после этого оно просто работает уже много лет (я просто слушаю музыку), то у меня есть все основания классифицировать пульсаудио как «ненужную дрянь».

fixed

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

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

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

Что-то я не понял предмета восторга. Зачем в карусели альт-таба десктоп, если десктоп не нужен?

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

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

В KDE в списке alt+tab есть рабочий стол.

Спасибо, кэп. Речь-то шла не про кде.

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

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

а он и есть толстый

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

Сейчас запущено:

ps -U eddy -o comm=|sort -u
37
из них не-демонов и не относящихся к ps:
alarm-clock
bash
dropbox
firefox
geany
icewm
icewmbg
icewmtray
liferea
man
mc
notipy.py
parcellite
qcad
terminal
thunderbird
xscreensaver
Еще использую: [pdf]latex, kicad, virtualbox, yaourt, xsane, stellarium, medit, octave, make/cmake, feh, ImageMagic, gimp. Издредка даже LO запускаю. Ну и кучу мелких утилит использую, которые и перечислять-то лень.

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

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

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

и сколько из этих у тебя в автозапуске?

cat ~/.icewm/startup
#!/bin/bash
terminal --fullscreen &
numlockx &
xbindkeys & 
# чтобы не работала уязвимость ctrl+alt+* :
xmodmap -e "keycode 63 = KP_Multiply NoSymbol KP_Multiply NoSymbol"
xmodmap -e "keycode 106 = KP_Divide NoSymbol KP_Divide NoSymbol"
parcellite  -d &
notipy.py -a NORTH_WEST &
dropboxd &
alarm-clock &
liferea &
xhost +

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

ОК, отнесем man (а уж тем паче bash, не знаю, чего я его оставил) к «утилиткам».

Еще есть самописные скрипты:

find ~/bin -maxdepth 1 -type f -perm /u=x |wc -l
111

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