OSX заставляет приложение командной строки показывать значок в доке во время работы

У меня есть простое приложение командной строки

#include <unistd.h>

int main(int argc, const char* argv[]) {
  sleep(100);
  return 0;
}

Можно ли сделать так, чтобы приложение командной строки показывало значок в доке во время его работы, или мне нужно превратить его в полный пакет приложения?

1 ответ

Решение

Учитывая, что приложение создает модальное диалоговое окно, я предполагаю, что оно использует Какао. В этом случае вы можете сделать [[NSApplication sharedApplication] setActivationPolicy:NSApplicationActivationPolicyRegular] в точке, где вы отображаете диалог.

Вы должны знать, что на док-станции может отображаться странный значок. До появления Yosemite у разделенных исполняемых файлов был общий значок, похожий на окно терминала со словом "exec". Заголовок будет именем исполняемого файла. В Yosemite значок Dock для разделенного исполняемого файла будет значком папки / каталога, содержащего исполняемый файл. Его название будет также именем этой папки. (Насколько я понимаю, это ужасное решение со стороны Apple, но что ты собираешься делать?)

Другие вопросы по тегам