Надо ли «моргать панелями» при запуске GUI-приложений?
Надо ли «моргать панелями» при запуске GUI-приложений?
если нажать Enter на файле вида *.mp3, то сначала панель моргнет, а потом запустится ассоциированный player.
А разве сразу не ясно, что будет запускаться ассоциированная программа, и моргать панелькой не надо?
А разве сразу не ясно, что будет запускаться ассоциированная программа, и моргать панелькой не надо?
А кто нибудь знает (на Delphi) как можно разобраться консольное приложение или нет? А то, можно было бы и в плагин запихнуть это делоТак в том и состоит предложение, чтобы Фар сначала разбирался, консольное ли приложение должно запускаться.
Нет, я конечно не против чтоб это фишка появилась и в самом фаре, но мне с большим трудом вериться в вероятность сего. Ведь сколько лет прошло уже, а оно всё моргает и моргает... и некоторым даже нравится
- Centaur
- Posts: 1083
- Joined: Tue 05 Apr, 2005 20:09
- Location: Novosibirsk, Russia
- Been thanked: 2 times
Хм…
Во-первых, придётся определить, какая команда ассоциирована с расширением. Сломается, когда MS что-нибудь поменяет в системе ассоциаций (как это было в XP с Fax and Image Viewer’ом). Дополнительные телодвижения, если ассоциация использует DDE.
Во-вторых, придётся разбирать заголовки exe’шника на предмет значений IMAGE_SUBSYSTEM_WINDOWS_CUI, IMAGE_SUBSYSTEM_OS2_CUI, IMAGE_SUBSYSTEM_POSIX_CUI в поле Subsystem структуры IMAGE_OPTIONAL_HEADER. Сломается при появлении каких-нибудь ещё консольных подсистем.
IMHO в ядре FAR’а этот код не нужен.
Во-первых, придётся определить, какая команда ассоциирована с расширением. Сломается, когда MS что-нибудь поменяет в системе ассоциаций (как это было в XP с Fax and Image Viewer’ом). Дополнительные телодвижения, если ассоциация использует DDE.
Во-вторых, придётся разбирать заголовки exe’шника на предмет значений IMAGE_SUBSYSTEM_WINDOWS_CUI, IMAGE_SUBSYSTEM_OS2_CUI, IMAGE_SUBSYSTEM_POSIX_CUI в поле Subsystem структуры IMAGE_OPTIONAL_HEADER. Сломается при появлении каких-нибудь ещё консольных подсистем.
IMHO в ядре FAR’а этот код не нужен.
- HaRT
- Moderator
- Posts: 10865
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Но ведь Фар как-то разбирается, запускать приложение в своей консоли или вовне. Или там и без анализа всех этих вещей так написано, что оно автоматически получается? Если честно, не верится.Centaur wrote:IMHO в ядре FAR’а этот код не нужен.
На мой взгляд, если уж где этому коду и быть, так как раз в ядре.
- Centaur
- Posts: 1083
- Joined: Tue 05 Apr, 2005 20:09
- Location: Novosibirsk, Russia
- Been thanked: 2 times
Обычный CreateProcess из консольного приложения, если запускаемое приложение также консольно, и не указаны флаги CREATE_NEW_CONSOLE и CREATE_NO_WINDOW, запустит в той же консоли.HaRT wrote:Но ведь Фар как-то разбирается, запускать приложение в своей консоли или вовне. Или там и без анализа всех этих вещей так написано, что оно автоматически получается? Если честно, не верится.
Если без чего-то можно обойтись в ядре — нужно обойтись. Функциональности эта фича не добавляет, в отличие от возможных глюков.HaRT wrote:На мой взгляд, если уж где этому коду и быть, так как раз в ядре.
Мне вот лично больше не хватает возможности после запуска внешней программы не перечитывать панель. Когда элементов много и/или на панели сеть или ftp, это ощутимо.
- HaRT
- Moderator
- Posts: 10865
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Спасибо, буду знать.Centaur wrote:Обычный CreateProcess из консольного приложения, если запускаемое приложение также консольно, и не указаны флаги CREATE_NEW_CONSOLE и CREATE_NO_WINDOW, запустит в той же консоли.
Согласен, но лишь при условии, что это можно реализовать в плагине без существенного дублирования логики.Centaur wrote:Если без чего-то можно обойтись в ядре — нужно обойтись.
Дублирование же функциональности в плагине тоже чревато глюками.Centaur wrote:Функциональности эта фича не добавляет, в отличие от возможных глюков.
Согласен. Но для меня не-моргание панелью как раз подразумевает и не-перечитывание списка.Centaur wrote:Мне вот лично больше не хватает возможности после запуска внешней программы не перечитывать панель. Когда элементов много и/или на панели сеть или ftp, это ощутимо.
- Alexey Samlyukov
- Posts: 1765
- Joined: Tue 15 Mar, 2005 17:28
- Been thanked: 7 times
- Contact:
- Centaur
- Posts: 1083
- Joined: Tue 05 Apr, 2005 20:09
- Location: Novosibirsk, Russia
- Been thanked: 2 times
Зато эти глюки не будут влиять на всех, а только на тех, кто этот плагин поставит.HaRT wrote:Дублирование же функциональности в плагине тоже чревато глюками.
А вот это уже смотря как делать. Вещи, в принципе, независимые.HaRT wrote:для меня не-моргание панелью как раз подразумевает и не-перечитывание списка.