Сайт | Скачать | Видео | Wiki

Автор Тема: create-desktop-file  (Прочитано 5208 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33989
  • Репутация: +231/-0
    • PuppyRus-A
Re: create-desktop-file
« Ответ #15 : 20 Октябрь 2021, 09:44:22 »
проверь файл "create-desktop-file-x32-Xubuntu-gtk2"
Работает. Спасибо
Иконки в create-desktop берутся не из гтк темы? На скрине - у меня папки синие, а в create-desktop желтые

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33989
  • Репутация: +231/-0
    • PuppyRus-A
Re: create-desktop-file
« Ответ #16 : 20 Октябрь 2021, 10:24:16 »
create-desktop-file-gtk3-p-0.1-2-x86_64.pfs
create-desktop-file-0.1-2-x86_64.pkg.tar.xz
Переделал пакет. Было много косяков : права везде кривые, mime не было.

Не хватает кнопки открыть в текстовом редакторе

Если открыть ярлык с кучей полей и сохранить в другое место - останутся только поля из гуя

Если открыть имеющийся ярлык - как его сохранить в исходном месте? Логично было бы "Сохранить в папке каталоге" сделать кнопкой, сохраняющей по выбранному пути, а вместо "Создать" сделать "Сохранить" (при открытии с параметром, без - не показывать эту кнопку)

Оффлайн AZJIO

  • Модератор
  • Старожил
  • ****
  • Сообщений: 298
  • Репутация: +10/-0
  • Автор темы
Re: create-desktop-file
« Ответ #17 : 20 Октябрь 2021, 12:05:57 »
Если открыть ярлык с кучей полей и сохранить в другое место - останутся только поля из гуя
Да, и об этом я предупредил в описании (хотя явная причина порчи не описана, допишу) и вроде там мессага выпадает при перезаписи существующего (но тоже надо указать о потери более явно). Проблема, что движок работающий с данными ini-файла сохраняет в UTF-8 с BOM (и вроде с ANSI), но при отсутствии метки BOM, он его не понимает как UTF-8 и работает с ним как с ANSI, соответственно русские буквы будут иметь проблемы. Либо надо делать свой движок, либо как я пока пошёл на уловку сохраняя в UTF-8 с BOM, а потом читаю этот файл заново (бинарно в память) с позиции 3 (после BOM) и сохраняю как файл в формате UTF-8 (точнее бинарно сохраняю не зная что, там, не распознавая формат, просто без первых 3-х символов, оно и получается что ожидалось), грубо говоря эта штука (функции по работе с ini) не даёт мне напрямую сохранять в файл *.desktop. Если я буду выводить в GUI все поля то у Geany там для всех языков, даже на экран не влезет, а в 99% если чел создаёт для себя, зачем ему все поля. Кроме того, если я чего то не понял и какое то поле является критически важным, то его можно добавить самому, то есть прога позволяет расширить количество полей хоть на весь экран. А чтобы сохранить в существующий файл без потери это надо чтобы либо движок поддерживал сохранение, либо если я буду в некий массив кэшировать все данные, а пользователь не будет о них догадываться и потом сохранять, опять же порядок будет перемешан, в общем не стал я с этим заморачиваться, так как то что ты хочешь прога делает, а то что это не копия предыдущего ярлыка это не критично. По крайней мере то что я вижу, т.е. видимые поля сохраняются. Как вариант можно добавить кнопку типа дублировать ярлык с новым именем, как задачу поместить его в другую папку, или как задачу последующей ручной правки, но опять для меняя это не критично, так как я просто кидаю его в Geany, подправляю с новыми данными и нажимаю "Сохранить как..."

Было много косяков : права везде кривые
Точно, я же привык открыть его как архив и накидать файлы (да ещё с NTFS диска иногда). А вообще, какой программой собирать ".xz", чтобы исключить проблемы и всё было правильно? Получается у меня все архивы ".xz" для всех программ глючные. Может в IceArch их собрать, где права root.

Если открыть имеющийся ярлык - как его сохранить в исходном месте? Логично было бы "Сохранить в папке каталоге" сделать кнопкой, сохраняющей по выбранному пути, а вместо "Создать" сделать "Сохранить" (при открытии с параметром, без - не показывать эту кнопку)
Логично, хотя здесь начинается проблема поиска пути, ведь даже если я задам папку рабочего стола, то как пользователь выберет папку автозагрузки, он даже знать о ней не будет, а если в Local создавать, там надо выискивать папки, но как вариант можно при сохранении использовать путь в раскрывающемся списке как начальную папку отсчёта, тогда пользователь сразу нажмёт "Сохранить", либо будет искать свой путь. Но лучше сделать отдельную кнопку "Сохранить как", чтобы простота кнопки "Создать" осталась. Думаю в 99% люди будут создавать ярлыки на рабочем столе.

Надо добавить кнопку "Открыть в редакторе".
« Последнее редактирование: 20 Октябрь 2021, 12:20:16 от AZJIO »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33989
  • Репутация: +231/-0
    • PuppyRus-A
Re: create-desktop-file
« Ответ #18 : 20 Октябрь 2021, 12:38:34 »
какой программой собирать ".xz", чтобы исключить проблемы и всё было правильно?
В моих дистрах dir2pkg и mkpkg. Но проверки на права там нет. Можно дописать...

Нередактированные поля было бы лучше добавлять в сохраняемый ярлык
Если надо что-то написать на sh для этого - могу поучаствовать

здесь начинается проблема поиска пути
Ну так в параметре же он указан. Т.е. через dirname

"Сохранить как"
Можно и так. Или добавить в возможные пути сохранения /usr/share/applications и пр.

Оффлайн AZJIO

  • Модератор
  • Старожил
  • ****
  • Сообщений: 298
  • Репутация: +10/-0
  • Автор темы
Re: create-desktop-file
« Ответ #19 : 20 Октябрь 2021, 12:57:59 »
Или добавить в возможные пути сохранения /usr/share/applications и пр.
Этот путь требует права админа, поэтому я сделал сохранение в Local. НО пути указываются в ini-файле, поэтому если это массовый путь, то просто добавить его в список путей сохранения. Я просто подумал, что возможна ситуация  создания ярлыков в любом месте, как я делаю в винде, хотя нельзя назвать в любом, я просто делаю собственное меню с ярлыками в некой папке, а потом указываю папку как панель инструментов, из этого сделал вывод, что кому-то будет важно сделать сохранение через диалог файлового менеджера.
Надо добавить пункт "Выбор" в списке путей, что будет являться критерием к открытию диалога файлового менеджера с запоминанием последнего пути.

Иконки в create-desktop берутся не из гтк темы?
Да, один значок папки 1 кб добавлен, чтобы не было проблемы отображения значка. Тоже надо подумать, изучая я услышал, что при отсутствии темы значок берётся из hicolor, но является ли это стандартом и как разрулить если юзер скачал тему, установил, а лишние удалил? То есть надо проверить значок и если её нет, то использовать свою. Осталось разобраться как получать значки.
« Последнее редактирование: 20 Октябрь 2021, 13:02:39 от AZJIO »

Оффлайн RoDoN

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 6283
  • Репутация: +141/-0
Re: create-desktop-file
« Ответ #20 : 20 Октябрь 2021, 13:04:56 »
Простое создание desktop-файлов в автозагрузке или на рабочем столе.
А чем не устраивает давно существующая gnome-desktop-item-edit?
В рунту лайт 18 я напр., взял эту утилитку, которая там под именем new-desktop-item-edit (размер 93 Кб) и успешно использую в дебиане 10, как для создания новых десктоп-файлов, так и для их редактирования.
Lenovo G500 (i3-3110M, 8 Гб, Intel + Radeon HD 8570)
PRA 16.12 JWM, Runtu 22.04 x64 XFCE

Оффлайн AZJIO

  • Модератор
  • Старожил
  • ****
  • Сообщений: 298
  • Репутация: +10/-0
  • Автор темы
Re: create-desktop-file
« Ответ #21 : 20 Октябрь 2021, 13:26:41 »
gnome-desktop-item-edit?
Она в Arch + Cinnamon будет работать?
При поиске в гугле картинок он показывает ужасную вещь, в Cinnamon такое есть.
Это что-ли?

Как из этого сделать копию ярлыка, если я хочу сделать несколько ярлыков с другими параметрами и поместить в другие папки? Из этого можно только ручками каждый раз набирать или с листочка копировать, вот от этого я и ушёл.
Не запоминает ширину окна, команда постоянно не помещается целиком. Не с первого раза понял, что значок это кнопка и можно сменить значок нажав на неё. Постоянно открывает папку значков неактуальную из которой 5 минут переходишь в нужное тебе место и так каждый раз если ты попробовал значок, но он не понравился, а то что он добавил его в последние файлы, так он там нафиг не нужен, зачем пробовать уже попробованное.
« Последнее редактирование: 20 Октябрь 2021, 13:39:08 от AZJIO »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33989
  • Репутация: +231/-0
    • PuppyRus-A
Re: create-desktop-file
« Ответ #22 : 20 Октябрь 2021, 13:37:50 »
Осталось разобраться как получать значки
Самое простое использовать gtk-* значки. Они есть в любой теме. В вашем случае gtk-open
Посмотреть какие бывают можно в моих дистрах скриптом из пупи gtk-icon
чем не устраивает давно существующая gnome-desktop-item-edit?
Этот?

Оффлайн AZJIO

  • Модератор
  • Старожил
  • ****
  • Сообщений: 298
  • Репутация: +10/-0
  • Автор темы
Re: create-desktop-file
« Ответ #23 : 20 Октябрь 2021, 14:00:50 »
Набросал план:
1. [известно, и легко] Добавить в выбор путей пункт "Выбрать", чтобы вместо создания по имеющемуся пути, открыть диалог файлового менеджера выбора файла сохранения и запомнить этот путь для следующего выбора.
2. [не известно как] Сделать использование собственной темы оформления для значков, и при отсутствии просмотреть hicolor и при отсутствии взять свой или многоточие как вариант кнопки "Обзор...".
3. [известно, и усилие переписать код] Подумать на счёт хеширования параметров, чтобы создавать оригинал ярлыка не теряя других полей. Для этого можно создать виртуальный ini-файл.

Как появится время займусь.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33989
  • Репутация: +231/-0
    • PuppyRus-A
Re: create-desktop-file
« Ответ #24 : 20 Октябрь 2021, 14:26:54 »
2. Во многих прогах достаточно указать имя типа gtk-open и ярлык сам подставится из используемой темы. Без путей и расширения. Как в pb - не знаю
3. Можно sed -ом слить 2 в 1

Оффлайн RoDoN

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 6283
  • Репутация: +141/-0
Re: create-desktop-file
« Ответ #25 : 20 Октябрь 2021, 14:57:22 »
Lenovo G500 (i3-3110M, 8 Гб, Intel + Radeon HD 8570)
PRA 16.12 JWM, Runtu 22.04 x64 XFCE

Оффлайн RoDoN

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 6283
  • Репутация: +141/-0
Re: create-desktop-file
« Ответ #26 : 20 Октябрь 2021, 15:02:51 »
Как из этого сделать копию ярлыка, если я хочу сделать несколько ярлыков с другими параметрами и поместить в другие папки?
ПКМ в ФМ скопировал и вставил куда надо, при необходимости переименовал и открыл также ПКМ на редактирование.
Использую там, где стоит LXDE или упрощенная связка Openbox + PCManFM, добавляя в меню ПКМ пару пунктов. Т.е. там, где DE не имеет такого своего функционала.
Lenovo G500 (i3-3110M, 8 Гб, Intel + Radeon HD 8570)
PRA 16.12 JWM, Runtu 22.04 x64 XFCE

Оффлайн AZJIO

  • Модератор
  • Старожил
  • ****
  • Сообщений: 298
  • Репутация: +10/-0
  • Автор темы
Re: create-desktop-file
« Ответ #27 : 20 Октябрь 2021, 15:29:49 »
RoDoN
Теоретически мне хватает Geany, но новичок не знает, что такое рабочий стол и ярлык, когда я с винды пришёл в линукс мне было не понятно, является ли рабочий стол программой как стартовое меню, которое добавляет инфу с ярлыков и генерирует раскрывающийся список. Откуда мне знать, что это папка? Я же говорил, я копирую ярлык а он не появляется на рабочем столе копией, как это происходит в винде, а при нажатии Ctrl+C и +V он ложит его поверх старого ярлыка и я опять не вижу копии. Хотя новичок и не узнает о моей программе, так что проблема не решилась и не решится, пока юзер несколько лет не поиспользует ОС. Но выгодные фишки лично для меня есть, ну и благодаря хотелкам могут появится ещё. В том числе мне легко в папке юзера создать папку Apps, накидать туда своих программ, потом кинул исполняемый файл в окно проги, кинул иконку, вписал имя, нажал создать и вот рабочий ярлык, не надо ручками прописывать, просто кидать в прогу файлы.
« Последнее редактирование: 20 Октябрь 2021, 15:34:50 от AZJIO »

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2550
  • Репутация: +33/-0
Re: create-desktop-file
« Ответ #28 : 20 Октябрь 2021, 15:39:28 »
...сделать копию ярлыка...
- на Ледяном ( # и не только) пользую контекст-Рокса-SendTo:
Код
cat $HOME/.config/rox.sourceforge.net/SendTo/созд.-Бэкап-Файла
#!/bin/bash
cp -a "$@"  "$@"_bk-$(date +%F_%H-%M-%S)
(создаёт рядом бэкап-цели)
- как помнится, и с какталогами и с правами - вроде нормально...
- имхо, удобно и в том числе если например сгоряча полез править конфиги и т.п. :) особенно для "вандалов" (... ну еще в каких-то случаях...)
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.

Оффлайн AZJIO

  • Модератор
  • Старожил
  • ****
  • Сообщений: 298
  • Репутация: +10/-0
  • Автор темы
Re: create-desktop-file
« Ответ #29 : 22 Октябрь 2021, 10:10:54 »
По поводу своего плана понял что могу не торопится и делать пока другую прогу.
1. Пункт как мы выяснили можно добавить в список путей, а "Выбор" - будет редко используемый, только увеличит размер проги
2. Значок могу сделать по лёгкому, указать путь к значку в ini, то же не критичная вещь.
3. Создание виртуального ini для поддержки всех полей, опять же увеличит файл поддержкой новых функций Map и кода на треть. Код станет запутанным, а что это по факту добавит? Для меня ничего кроме размера файла проги. Можно лишь в сообщение при замене существующего файла добавить, что при замене оригинального потеряются параметры отсутствующие в окне программы. Типа как в инструкции по использованию пишут оговорки, чтобы снять с себя ответственность за пользователя, я предупредил, а ты сам решай. А по факту ярлык будет рабочий, я не вижу каких-то там полей особенных, которые потеряются кроме многоязыковой поддержки которая нафиг не нужна. Ну или если найдётся с пол десятка полей, то это легко решается через ini-файл. Те же MimeType, StartupNotify, Terminal можно добавить эти поля и прогм будет их видеть пустыми или заполненными.
В общем в будущем займусь.