Надо ли «моргать панелями» при запуске GUI-приложений?

Вам не хватает чего-то в Far? Вы считаете, что вашу идею стоит услышать? Пишите сюда.
shamilbi
Posts: 49
Joined: Fri 09 Mar, 2007 07:12
Location: Томск

Надо ли «моргать панелями» при запуске GUI-приложений?

Post by shamilbi »

если нажать Enter на файле вида *.mp3, то сначала панель моргнет, а потом запустится ассоциированный player.
А разве сразу не ясно, что будет запускаться ассоциированная программа, и моргать панелькой не надо?
User avatar
HaRT
Moderator
Posts: 10855
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Post by HaRT »

shamilbi
Правильная постановка вопроса.
Другое дело, что в рамках существующей архитектуры это может быть не так просто реализовать.
Пусть кто-нибудь из посвящённых прокомментирует.
-=QWERTY=-
Posts: 64
Joined: Wed 16 Mar, 2005 16:18

Post by -=QWERTY=- »

а вроде ж плаг есть неморгучий :idea:
User avatar
HaRT
Moderator
Posts: 10855
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Post by HaRT »

-=QWERTY=-
Да, но есть одно НО:
SlaunchRus.hlf wrote:есть одна особенность - все консольные приложения запускаются в отдельном окне со всеми вытекающими последствиями...
User avatar
Centaur
Posts: 1083
Joined: Tue 05 Apr, 2005 20:09
Location: Novosibirsk, Russia
Been thanked: 2 times

Post by Centaur »

shamilbi
А если ассоциированная программа консольная, и мы ожидаем от неё некий вывод под панели?
User avatar
HaRT
Moderator
Posts: 10855
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Post by HaRT »

Centaur
Так в том и состоит предложение, чтобы Фар сначала разбирался, консольное ли приложение должно запускаться. Если нет — панелями моргать незачем.
User avatar
[e]Bu$ter
Posts: 792
Joined: Mon 30 May, 2005 23:05
Location: Беларусь, Минск
Contact:

Post by [e]Bu$ter »

Так в том и состоит предложение, чтобы Фар сначала разбирался, консольное ли приложение должно запускаться.
А кто нибудь знает (на Delphi) как можно разобраться консольное приложение или нет? А то, можно было бы и в плагин запихнуть это дело :)

Нет, я конечно не против чтоб это фишка появилась и в самом фаре, но мне с большим трудом вериться в вероятность сего. Ведь сколько лет прошло уже, а оно всё моргает и моргает... и некоторым даже нравится :(
User avatar
Centaur
Posts: 1083
Joined: Tue 05 Apr, 2005 20:09
Location: Novosibirsk, Russia
Been thanked: 2 times

Post by Centaur »

Хм…

Во-первых, придётся определить, какая команда ассоциирована с расширением. Сломается, когда 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’а этот код не нужен.
User avatar
HaRT
Moderator
Posts: 10855
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Post by HaRT »

Centaur wrote:IMHO в ядре FAR’а этот код не нужен.
Но ведь Фар как-то разбирается, запускать приложение в своей консоли или вовне. Или там и без анализа всех этих вещей так написано, что оно автоматически получается? Если честно, не верится.
На мой взгляд, если уж где этому коду и быть, так как раз в ядре.
User avatar
Centaur
Posts: 1083
Joined: Tue 05 Apr, 2005 20:09
Location: Novosibirsk, Russia
Been thanked: 2 times

Post by Centaur »

HaRT wrote:Но ведь Фар как-то разбирается, запускать приложение в своей консоли или вовне. Или там и без анализа всех этих вещей так написано, что оно автоматически получается? Если честно, не верится.
Обычный CreateProcess из консольного приложения, если запускаемое приложение также консольно, и не указаны флаги CREATE_NEW_CONSOLE и CREATE_NO_WINDOW, запустит в той же консоли.
HaRT wrote:На мой взгляд, если уж где этому коду и быть, так как раз в ядре.
Если без чего-то можно обойтись в ядре — нужно обойтись. Функциональности эта фича не добавляет, в отличие от возможных глюков.

Мне вот лично больше не хватает возможности после запуска внешней программы не перечитывать панель. Когда элементов много и/или на панели сеть или ftp, это ощутимо.
User avatar
HaRT
Moderator
Posts: 10855
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Post by HaRT »

Centaur wrote:Обычный CreateProcess из консольного приложения, если запускаемое приложение также консольно, и не указаны флаги CREATE_NEW_CONSOLE и CREATE_NO_WINDOW, запустит в той же консоли.
Спасибо, буду знать.
Centaur wrote:Если без чего-то можно обойтись в ядре — нужно обойтись.
Согласен, но лишь при условии, что это можно реализовать в плагине без существенного дублирования логики.
Centaur wrote:Функциональности эта фича не добавляет, в отличие от возможных глюков.
Дублирование же функциональности в плагине тоже чревато глюками.
Centaur wrote:Мне вот лично больше не хватает возможности после запуска внешней программы не перечитывать панель. Когда элементов много и/или на панели сеть или ftp, это ощутимо.
Согласен. Но для меня не-моргание панелью как раз подразумевает и не-перечитывание списка. ;)
User avatar
Alexey Samlyukov
Posts: 1765
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 7 times
Contact:

Post by Alexey Samlyukov »

Согласен с Centaur'ом - не нужно это в ядре...
User avatar
Centaur
Posts: 1083
Joined: Tue 05 Apr, 2005 20:09
Location: Novosibirsk, Russia
Been thanked: 2 times

Post by Centaur »

HaRT wrote:Дублирование же функциональности в плагине тоже чревато глюками.
Зато эти глюки не будут влиять на всех, а только на тех, кто этот плагин поставит.
HaRT wrote:для меня не-моргание панелью как раз подразумевает и не-перечитывание списка. ;)
А вот это уже смотря как делать. Вещи, в принципе, независимые.
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Post by t-rex »

Ну в общем то фар да проверяет консольность или гуйность запускаемого файла так как без этого вы бы начали плакать.
А то что мигают панели так это фича и так должно быть.
User avatar
HaRT
Moderator
Posts: 10855
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Post by HaRT »

t-rex wrote:Ну в общем то фар да проверяет консольность или гуйность запускаемого файла
Тем лучше.
t-rex wrote:А то что мигают панели так это фича и так должно быть.
А зачем в гуёвом случае гасить и перечитывать панели?
Post Reply

Return to “Предложения и идеи”