OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 28 Сентябрь, 2021 16:33

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 46 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
СообщениеДобавлено: Вторник, 27 Июль, 2021 12:33 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 1346
Comdiv писал(а):
budden писал(а):
И даже ничто не мешает, ... чтобы можно было прямо из него вызывать команды - это опять получается не меню, а командный интерфейс).
Не только не мешает, но прямо нужно, чтобы можно было вызывать действия в том или ином виде. А то, что такая справка это строго не меню, то это уже вопрос, скорее, терминологии.


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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 27 Июль, 2021 18:41 

Зарегистрирован: Понедельник, 25 Июнь, 2012 17:26
Сообщения: 470
budden писал(а):
То, что на картинке - это лучший командный интерфейс из всех мной виденных. Тут тебе и локализация, и подсказки по горячим клавишам. Емакс даже близко не лежал.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 27 Июль, 2021 18:43 

Зарегистрирован: Понедельник, 25 Июнь, 2012 17:26
Сообщения: 470
Wlad писал(а):
Кроме того, понятно, что, наряду с пунктами меню, получается, что по этой логике, надо скрывать/делать видимыми и разного рода кнопки, например. Получается эдакий "прыгающий" GUIи его панели. Если, тем более, панели "подстраиваются" под общий размер, определяемый содержимым, то может получится постоянно "мельтешащий" набор контролов на экране.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 27 Июль, 2021 20:01 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 1346
В Емаксе всё хронически "можно запилить", и вряд ли оно изменится, когда нас всех похоронят. Зато в VSCode уже всё (ну ладно, кое-что) запилено. Я лично крайне не люблю Емакс, он прямо меня травмирует, потому что если в нём день посидеть, то на следующий день нужно думать перед любым нажатием кнопки в любой программе - сбиваются глубоко укоренившиеся навыки. Однако, если нужно программировать на CL или окамле, то Емаксу нет альтернативы. В целом - проблема того, что минибуфер закрывает текст - не решается. Т.е. либо он маленький и ничего в нём не видно, либо он закрывает текст, хотя бы временами. Я в Яре её решал тем, что вместо минибуфера пользовался общим окном консоли для операций редактора и для других операций. Т.е. набирать команду можно через меню (командный интерфейс к редактору не успел сделать/не осилил), а вот если редактор хочет нам что-то сказать, он пишет в общую консоль. Это решение не идеально, но корень зла здесь не в каком-то решении, а в том, что экраны слишком маленькие. Имея два экрана, можно раскидать окна - редактор будет занимать один монитор, а консоль /всё остальное - другой монитор.

И нет, я не идеализирую VS Code - в нём тоже есть ряд вещей, к-рые мне не нравятся. Просто чтобы никто не подумал, что я тут какую-то вкусовщину продвигаю.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 28 Июль, 2021 19:28 

Зарегистрирован: Понедельник, 25 Июнь, 2012 17:26
Сообщения: 470
Имхо, "не травмирующим" Эмаксом был когда-то (собственно то, и сейчас есть) JEdit -- Эмакс на Java c "человеческим лицом" -- основные приёмы Эмакса по редактированию реализованы как расширение обычной модели управления в современных редакторах, с привычными (и удобными) раскладками клавиатуры и т.д. Редактор оказался непопулярным в те времена (как следствие -- и сегодня), мол терпеть монстра в виде Java ещё можно понять ради IDEA/Eclipse/Netbeans, но ради обычного, хоть и "продвинутого", редактора... (однако аппетиты у JEdit были на порядки меньше, но ту же Java и др. редактор как IDE "раскладывал по полочкам", конечно же, поскромнее). Теперь же можно иронично наблюдать, как "прожорливый" JEdit на Java-машине выглядит "легковесным и скорострельным" на фоне современных популярных редакторов с "нативным" Electron-ом в основе...

"Коммандер" в JEdit примитивный, но по-своему удобный (хотя с огрехами в интерфейсе): по Ctrl+Enter (клавиша по умолчанию) -- переход в строку-"минибуфер", где окно автокомплита открывается не постоянно, а по требованию (TAB). Если ввод начинается с цифры -- запуск повтора команды. Например, набрать "12*" -- вставка 12 символов "*" (после набора символа, в данном случае "*", сразу же наступает конец ввода всего указания и возврат фокуса управления в исходный буфер), "8" + Ctrl+D (ввести "8" и нажать Ctrl+D) -- удалить 8 строк, и т.п.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 28 Июль, 2021 22:48 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 1346
Если бы в емаксе сделать более традиционные сочетания клавиш, то он был бы вполне ничего... Я не говорю, что меню вообще не нужны, но просто начиная с определённого размера опираться только на них - значит делать программу неудобной. Как должен сочетаться командный интерфейс и меню - это, наверное, тема для докторской :lol: Я после появления этой темы слегка рефлексирую - привычка к меню сильная, в незнаком ситуации я стараюсь ухватиться за контекстное меню как за соломинку и сегодня мне даже это помогло - я в VSCode открыл, что в режиме показа файлов можно отменять отдельные изменения. И нашёл я это именно через контекстное меню. Наверное, иногда получается так, что ты не знаешь, как называется то слово, которое тебе нужно - оно называлось "revert selected changes", а я искал "move right" или "take left", как это называется в других инструментах для визуального сравнения. Поэтому, наверное, через командный интерфейс как-то не попадалось. Возможно, оптимум в том, что частые команды находятся в контекстном меню, а дальше есть пункт "ещё...", при нажатии на который попадаем уже в командный интерфейс. Тогда сочетается преимущество меню (быстрое начало ознакомления с наиболее частыми командами) и преимущество командного интерфейса (быстрый доступ к любому количеству команд).

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 46 ]  На страницу Пред.  1, 2, 3

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2021, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB