purebasic.info

PureBasic forum
Текущее время: Пн дек 10, 2018 6:34 pm

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




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Иконка в панели задач
СообщениеДобавлено: Вт ноя 13, 2018 8:59 pm 
Не в сети
док

Зарегистрирован: Чт окт 27, 2011 7:43 pm
Сообщений: 89
Откуда: Санкт-Ленинград
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Собственно, как сделать, что б значок в в/у панели от запускаемой программы имел осмысленное изображение?

_________________
ICQ нет, и, в ближайшее время, не будет


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Иконка в панели задач
СообщениеДобавлено: Ср ноя 14, 2018 4:52 am 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Чт июн 25, 2009 1:02 pm
Сообщений: 2293
Откуда: Russia — Belarus
Благодарил (а): 7 раз.
Поблагодарили: 72 раз.
Пункты репутации: 11
Compiler / Compiler Options:
Изображение

_________________
EnableExplicit User


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Иконка в панели задач
СообщениеДобавлено: Ср ноя 14, 2018 6:33 am 
Не в сети
профессор

Зарегистрирован: Чт фев 09, 2017 10:37 am
Сообщений: 239
Благодарил (а): 22 раз.
Поблагодарили: 33 раз.
Пункты репутации: 0
Gregory писал(а):
Собственно, как сделать, что б значок в в/у панели от запускаемой программы имел осмысленное изображение?

viewtopic.php?p=23456#p23456

qpAHToMAS
В Linux эта опция неактивна, да и запускаемый файл там не обозначается иконкой в проводнике как в Windows, в Linux одна иконка на все запускаемые файлы, как если бы это был TXT документ, содержимое разное а иконка одна на всех. Можно только взять снаружи из иконок темы или из себя встроив.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Иконка в панели задач
СообщениеДобавлено: Ср ноя 14, 2018 9:38 am 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Вт апр 14, 2009 7:22 pm
Сообщений: 362
Благодарил (а): 1 раз.
Поблагодарили: 13 раз.
Пункты репутации: 0
http://life-warrior.org/programs/gui-de ... files.html
ссылка первая попавшаяся на тему иконка приложения в линукс, наверняка есть много других лучше или хуже, но есть нечто специфичное именно для pb,
где много вкусного, но в том числе и управление иконками в рантайм
http://www.chabba.de
искать в разделе Linux_Api_Window


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Иконка в панели задач
СообщениеДобавлено: Ср ноя 14, 2018 7:42 pm 
Не в сети
док

Зарегистрирован: Чт окт 27, 2011 7:43 pm
Сообщений: 89
Откуда: Санкт-Ленинград
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
AZJIO писал(а):
http://www.purebasic.info/phpBB3ex/viewtopic.php?p=23456#p23456
Так там мне ответили, что это про трей (кстати, у меня пример что-то ничего не рисует).

jobless писал(а):
ссылка первая попавшаяся
Ну, и зачем мне иконки для ярлыков?
Хотя тоже не помешало бы, если б через встраивание в сам исполняемый файл.
Но что-то такого я там не нашёл, а внешний подключать я и так умею, во всяком случае в Убунте.
Кстати, по поводу трея, текстовые названия в трее и на панели задач соответствуют названию окна при открытии функции OpenWindow.
Если потом менять это название функцией SetWindowTitle, то в самом окне название меняется, а вот на панелях нет.
Это как исправить?

jobless писал(а):
искать в разделе Linux_Api_Window
Вот здесь нашёл, тенкс!
Только не совсем разницу понял.
Первый для всех окон, запускаемых из данной программы, а второй только для конкретного, так что ли?:
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
 
; Module/File:     Window_SetDefIcon2.pb
; Function:        Sets default Application-Icon (all Windows), embedded in exe - Linux gtk2/gtk3
; Author:          Omi
; Date:            Dec. 22, 2014
; Version:         0.1
; Target Compiler: PureBasic 5.22/5.31/5.40
; Target OS:       Linux: (X/K/L)ubuntu, Mint, 32/64, Ascii/Uni
;--------------------------------------------------------------
;depends on distribution
 
EnableExplicit
 
UsePNGImageDecoder();  this mode need decoder !!!
 
; Object constants
#MainWin= 0
 
#AppImage = 0
 
Global.i gEvent, gQuit
 
;set before 1. window is created ...
If CatchImage(#AppImage, ?ProgrammIcon)
        gtk_window_set_default_icon_(ImageID(#AppImage))
EndIf
 
OpenWindow(#MainWin, 300, 200, 300, 300, "Sets application icon", #PB_Window_SizeGadget)
 
Repeat
        gEvent= WaitWindowEvent()
       
        Select gEvent
                Case #PB_Event_CloseWindow
                        gQuit= #True
        EndSelect
       
Until gQuit
 
End
 
DataSection
        ProgrammIcon: : IncludeBinary "/usr/share/icons/gnome/48x48/apps/preferences-desktop-screensaver.png";   change to existing 48x48-icon
EndDataSection
; IDE Options = PureBasic 5.46 LTS (Linux - x86)
; CursorPosition = 37
; EnableUnicode
; EnableXP



Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
; Module/File:     Window_SetIcon2.pb
; Function:        Sets Window-Icon, embedded in exe - Linux gtk2/gtk3
; Author:          Omi
; Date:            Oct. 31, 2014
; Version:         0.1
; Target Compiler: PureBasic 5.22/5.31/5.40
; Target OS:       Linux: (X/K/L)ubuntu, Mint, 32/64, Ascii/Uni
;--------------------------------------------------------------
;depends on distribution
 
EnableExplicit
 
UsePNGImageDecoder()
 
; Object constants
#MainWin= 0
 
#AppImage = 0
 
#WinX=300
#WinY=200
#WinW=300
#WinH=300
 
Global.i gEvent, gQuit
 
OpenWindow(#MainWin, #WinX, #WinY, #WinW, #WinH, "Sets window icon", #PB_Window_SizeGadget)
 
If CatchImage(#AppImage, ?ProgrammIcon)
        gtk_window_set_icon_(WindowID(#MainWin), ImageID(#AppImage))
EndIf
 
Repeat
        gEvent= WaitWindowEvent()
       
        Select gEvent
                Case #PB_Event_CloseWindow
                        gQuit= #True
        EndSelect
       
Until gQuit
 
End
 
DataSection
        ProgrammIcon: : IncludeBinary "/usr/share/icons/default.kde4/48x48/apps/preferences-desktop-screensaver.png";   change to existing 48x48-icon
EndDataSection
; IDE Options = PureBasic 5.40 LTS (Linux - x86)
; CursorPosition = 23
; FirstLine = 1
; EnableUnicode
; EnableXP


_________________
ICQ нет, и, в ближайшее время, не будет


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Иконка в панели задач
СообщениеДобавлено: Ср ноя 14, 2018 9:21 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Вт апр 14, 2009 7:22 pm
Сообщений: 362
Благодарил (а): 1 раз.
Поблагодарили: 13 раз.
Пункты репутации: 0
Gregory писал(а):
Ну, и зачем мне иконки для ярлыков?

Затем, что linux не windows и всё что касается внешнего вида в части иконок и прочего начинается с https://www.freedesktop.org и описанных там стандартов.
А примеры для pb это по сути способы обхода. Бинарник в линуксе иконок не имеет, а пакет в который входит бинарник описывает в каком случае что применять и ещё от темы может зависеть и среды и ещё от кучи всего.
Т.е. с виндовыми представлениями к этому вопросу не стоит подходить.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Иконка в панели задач
СообщениеДобавлено: Чт ноя 15, 2018 9:31 pm 
Не в сети
док

Зарегистрирован: Чт окт 27, 2011 7:43 pm
Сообщений: 89
Откуда: Санкт-Ленинград
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
jobless писал(а):
linux не windows
Я немного в курсе. :)

jobless писал(а):
примеры для pb это по сути способы обхода
Так собственно поэтому и интересуюсь у знающих людей.

jobless писал(а):
Бинарник в линуксе иконок не имеет
Как же не имеет, когда в в/у коде они (иконки) туда загружаются? Или Вы под бинарником подразумеваете не исполняемый файл, а что-то другое (то, что они автоматически системой не выводятся, понятно)?

jobless писал(а):
пакет в который входит бинарник
Я сложных программ не пишу (пока, во всяком случае). В основном всякие утилитки, для себя любимого, ну и для тех кто захочет воспользоваться.
Так что стараюсь всё одним файликом.
Но хочется что б под Линуксом всё было так же красиво, как и в Винде, хотя и не особо "напрягает".

А что с моим предыдущим вопросом:
Только не совсем разницу понял.
Первый для всех окон, запускаемых из данной программы, а второй только для конкретного, так что ли?

_________________
ICQ нет, и, в ближайшее время, не будет


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Иконка в панели задач
СообщениеДобавлено: Пт ноя 16, 2018 6:18 am 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Вт апр 14, 2009 7:22 pm
Сообщений: 362
Благодарил (а): 1 раз.
Поблагодарили: 13 раз.
Пункты репутации: 0
Gregory писал(а):

jobless писал(а):
Бинарник в линуксе иконок не имеет
Как же не имеет, когда в в/у коде они (иконки) туда загружаются? Или Вы под бинарником подразумеваете не исполняемый файл, а что-то другое (то, что они автоматически системой не выводятся, понятно)?



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

p.s. Но вы же
Gregory писал(а):
... немного в курсе. :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Иконка в панели задач
СообщениеДобавлено: Пт ноя 16, 2018 8:43 pm 
Не в сети
док

Зарегистрирован: Чт окт 27, 2011 7:43 pm
Сообщений: 89
Откуда: Санкт-Ленинград
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
jobless писал(а):
они раскладываются по соответствующим папкам в зависимости от окружения рабочего стола и соответствие бинарнику прописывается в различных конфигурационных файлах
Вы совершенно правы, я немного в курсе, и именно это и хочу по возможности обойти.
Что тут непонятного?

jobless писал(а):
значка внедрённого в бинарник не существует
В моём понимании "внедрённый", это когда он там физически присутствует, и как на это могут влиять стандарты?
Я неправ?

Но может быть кто-нибудь всё-таки ответит на вопросы:
Первый для всех окон, запускаемых из данной программы, а второй только для конкретного, так что ли?
и
Текстовые названия в трее и на панели задач соответствуют названию окна при открытии функции OpenWindow.
Если потом менять это название функцией SetWindowTitle, то в самом окне название меняется, а вот на панелях нет.
Это как исправить?

_________________
ICQ нет, и, в ближайшее время, не будет


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

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


Кто сейчас на форуме

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


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

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB