MENU - Главное Меню

...
  • Первое реализовать можно достаточно просто, а вот для второго придется IPC организовывать, либо интегрировать меню в панель.
  • Тогда 2 лесом, а вот 1 было бы супер. Просто часто юзаю клаву и очень не хватает этой простой фичи. Думаю, не только мне.

    И небольшой оффтоп. Давал я систему поюзать одному из своих сожителей, программисту. Конечно, система его поразила, но мне была интересна конкретика:
    - не порравилась очень перерисова курсора
    - предложил при запуске неизвестного типа файлов, если это оказалась не программа предлагать через какую прогу открыть этот файл (как в Венде, сам он Линуксоид, хотя недолго)
    - удивился что заработал тачпад, т.к. в Линуксе на него драйвер 2 месяца назад написали.
    Вот всё, что я запомнил.
    Из хаоса в космос
  • Leency wrote:2. Пусть при повторном нажатии клавиши меню (у меня - логотип 98 винды), меню скрывается.
    Я уже предлагал попробовать сделать следующим образом:
    Программа @menu сама в первую очередь проверяет (получая список процессов) - запущена ли ещё одна её копия. Если нет - работа программы остаётся неизменной, а если да - завершает сначала найденную копию @menu, а затем сама завершает работу.
  • А я думаю, что можно и самой @panel убивать все @menu при нажати на кнопку Windows (Super), если @menu уже есть в памяти. Или я неправильно думаю?
  • Можно и так. Блок будет проще. Но вот если запустить @menu из файлового менеджера, kfar, например... То корректнее всё же первый вариант.
  • Albom, можно продолжить?

    «Я уже предлагал попробовать сделать следующим образом: Программа @menu сама в первую очередь проверяет (получая список процессов) - запущена ли ещё одна её копия. Если нет - работа программы остаётся неизменной, а если да -завершает сначала найденную копию @menu, а затем сама завершает работу.»... А затем @panel обнаруживает что нажата клавиша Windows, а @menu не запущена. Ну и запускает её. Пользователь увидит только как @menu моргнуло опосля нажатия клавиши Win.
    И мы уже давно не пешки,
    Мы пули, мы орлы, и решки!
    Война ютит бинарный код,
    Умри, или иди вперед!
  • А, вру. Не прав.
    И мы уже давно не пешки,
    Мы пули, мы орлы, и решки!
    Война ютит бинарный код,
    Умри, или иди вперед!
  • Albom wrote: Я уже предлагал попробовать сделать следующим образом:
    Программа @menu сама в первую очередь проверяет (получая список процессов) - запущена ли ещё одна её копия. Если нет - работа программы остаётся неизменной, а если да - завершает сначала найденную копию @menu, а затем сама завершает работу.
    Приступил к реализации, просьба другим разработчикам в ближайшее время код MENU не менять.
  • SVN r.2211
    1) Проверка уже запущенных копий и сепуку соответственно.
    2) Добавлены стрелка влево и вправо, ну поведение их немного отличается от Esc и Enter, которые тоже никуда не делись.
    3) Подкорректировал батники, добавил шелловский скрипт сборки.

    Алгоритм придуманный Albom'ом пришлось дополнять - при любом нажатии мимо окон родственных потоков все помирали. По этому исключил из проверки зону кнопки MENU, которая на панели задач. Код естественно не зависит от размеров экрана. Однако если панель задач ВНЕЗАПНО окажется не внизу, а сверху или слева или справа или не менее внезапно посередине экрана (т.е. координаты и размеры кнопки MENU изменятся), то код ничего об этом знать не будет - со всеми вытекающими, т.е. меню перестанет схлопываться при повторном нажатии кнопки меню. Думаю в ближайшее время описанного не случится, потому что панель с 2003 года никуда не уезжала. А под альтернативные панели все равно придется либо свое меню делать, либо допиливать существующее.
  • Mario
    Всё именно так, как могло было быть наилучшим образом.
    Из хаоса в космос
  • Все же какое нерациональное использование памяти... Кошмар!
    Вот закончу с Icon и примусь за это творение русской программистской мысли.

    З.Ы. Иконки в меню делать не буду, даже не просите - итак жрет слишком много памяти.
  • SVN r. 2488 глобальная оптимизация Меню. Теперь приложение занимает 32 Кб в ОЗУ, против 128 Кб в старом варианте.
  • SVN r. 2618 поддержка параметров при запуске. Реализовано для будущей версии приложения @PANEL.
  • SVN r.4096 - настройки MENU.DAT программы MENU перенесены в директорию SETTINGS системного диска.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Who is online

    Users browsing this forum: No registered users and 4 guests