2011-06-01

Окошки

Мы уже давно привыкли к концепции перекрывающихся окошек. Их придумали в исследовательском центре Xerox, они выглядели как последний писк hi-tech-а, потом это вдруг стало жутко модно, и их стали все делать. Я тоже поигрался и сделал несколько вариантов. Сейчас это уже привычно, эффект новизны пропал и давно пора бы уже заметить, что это жутко неудобно.

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

Когда экраны были маленькие, я так и делал. Все окна раскрывались на весь экран и переключались через Alt-Tab. С появлением больших экранов это стало делать неудобно. Читать текст сформатированный под широкий экран невозможно. Приходится двигать окошки мышкой и как-то располагать. Кроме того, иногда хочется видеть некоторую информацию, например on-line status в Skype или подобное. В результате приходиться терпеть свалку на экране.

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

Чего бы хотелось? Простого. Хотелось бы Tiling Window Manager.

По умолчанию я предлагаю такую раскладку: почти весь экран занят максимизированным приложением, сверху панель задач-табов, справа - панель резидентных приложений, где показываются состояния запушенных задач, прогресс фоновых операций, контакты в скайпе, все что угодно. Я бы ещё хотел, чтобы туда можно было положить в эту панель, например снизу, парочку привычных программ от iPhone или Android. Почему бы и нет? В эпоху виртуальных машин вполне можно было бы. Они как раз маленькие, пойдут в качестве widget-ов.

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

Почему это удобно? Потому что никакого бардака, который сильно отвлекает. Никаких кусочков окон, все видно целиком или не видно вообще. Должно хорошо работать на большом экране и на маленьком.

В принципе, под Линуксом что-то такое есть. Я, правда, удобных программ пока не нашел. Чтобы интуитивно и без правки конфигов. А под Windows и Mac - вообще нет. Хоть сам пиши.

P.S. Хотел нарисовать картинку, но почитал новости и понял, что это уже не важно.

5 comments:

SKuznetsov said...

Частично перекрывающиеся окна использую только тогда, когда хотел бы расположить их рядом, но содержимое не позволяет сделать их уже без прокрутки. При работе с программами, левая часть текста обычно важнее правой. Поэтому в правом окне, перекрывающем левое, можно работать, поглядывая в левое окно, а при необходимости - ткнуть в левое курсором (как правило, на короткое время). Это удобнее прокрутки. Вот только такой экзотический случай и наскрёб. Спрашивается, отчего же не сделать горизонтальный сплит? А логику кода хуже видно. Программы, как правило, (так было раньше, да) разрабатывают для пользования в максимизированном окне при среднем размере экрана. И к этому, естественно, привыкаешь. Одновременное использование таких окон на среднем экране неудобно - будут они перекрывающиеся или нет. Для частных задач удобнее специальные двухпанельные программы (Far, например).

SKuznetsov said...

Вспомнились мне стековые текстовые окна Clarion Professional Developer 2.1 for DOS для работы с БД. Реально они были только трёх типов: меню, список, форма (отчёт не пользовал). Сначала изумляешься убогости. Потом оказывается, что больше не только не требуется, а вредно для пользователя. Правда, там при рисовании текстом оформления окна любого размера (хоть во весь экран) был и атрибут прозрачности, так что всё это можно было красиво отдизайнить. Отмечу, что стековая логика работы человеку свойственна (только стек мелкий).

SKuznetsov said...

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

MaximillianGreat said...

Посмотрел картинку в википедии - не понял, чем это удобно.

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

Valery Tolkov said...

Да, в википедии картинка не лучшая. Вот здесь более разумная картинка: http://linuxlandit.blogspot.com/2011/02/in-unix-computing-ion-is-tiling-and.html