Форум проекта PuppyRus Linux

Разработки проекта PuppyRus => Программирование и компиляция => PureBasic => Тема начата: AZJIO от 10 Январь 2021, 17:02:33

Название: StopwatchTimer (PureBasic)
Отправлено: AZJIO от 10 Январь 2021, 17:02:33
StopwatchTimer

Скачать: yadi.sk (https://yadi.sk/d/UmQUcFwoYf3DEQ)  upload.ee (https://www.upload.ee/files/12973708/StopwatchTimer.7z.html)


(https://i.imgur.com/tbzgPdX.png)

Назначение
Напоминает о краткосрочных событиях, от том что надо куда либо пойти (в магазин) или выключить чайник.

Использование
1. Жмём "Добавить"
2. Указываем интервал времени или задать по дате
3. Указываем сигнал и проверяем что он работает
4. Если таймер понадобится в будущем, то сохраняем его (избавление от настроек, просто кликаем сохранённый пункт)
5. Таймер запускается автоматически и сработает в заданное время.
Название: Re: StopwatchTimer (PureBasic)
Отправлено: sfs от 11 Январь 2021, 12:32:47
Не знаю дефолтный шрифт Linux
Sans
устранил ресайз по ширине.
У меня размер окна узменяется, но содершимое окна без изменений. так задумано?

Хорошо бы прогу в трей сворачивать
По окончании таймера хорошо бы сообщение. Можно через notify-send, но лучше просто окно

Попробовал скомпилить исходник - норм
Спасибо +
Очень была бы интересна тематика самодельного ПО. Если нужно - сделаю отдельный раздел под пб
Может и разрабы подтянутся...
Название: Re: StopwatchTimer (PureBasic)
Отправлено: AZJIO от 11 Январь 2021, 22:09:31
По окончании таймера хорошо бы сообщение.
надеялся что будет использоваться запуск медиафайла mp3, ogg. Но можно будет подумать как вариант если не установлен запуск файла.
У меня размер окна узменяется, но содершимое окна без изменений. так задумано?
ширина не должна меняться, высота допустимо, но при этом изменяется только высота списков, кнопки думаю нет смысла растягивать или двигать. А ширина и начальная высота списков задаётся в ini. Можно было сделать расширение списков, но тогда добавиться размер проги, ведь на каждый элемент окна нужно описывать вычисление размеров, это не сложно, 11 элементов в GUI - 11 строк на рассчёты масштабирования. опять же логически навязыватеся мысль что нужно сохранить этот размер для последующих запусков, добавление флага изменения размера, чтобы сохранять только если фейс изменён, а не всякий раз. Да вполне реализуемо. Просто вчера я думал что мне придётся получать размер окна и из него вычислять размеры элементов, а если они не делятся кратно на 3 (корректировать), а если размер будет уплывать, как это было с одной моей прогой, когда размер при каждом запуске увеличивается на пиксель и не замечаешь, пока прогу уже закрыть невозможно, так как кнопка закрытия нестандартная снизу и она за экраном.
Название: Re: StopwatchTimer (PureBasic)
Отправлено: sfs от 12 Январь 2021, 09:50:40
надеялся что будет использоваться запуск медиафайла mp3, ogg.
А если юзер в это время отходил от пк?
B в пакетах, в  *.desktop у вас нет Categories=
Название: Re: StopwatchTimer (PureBasic)
Отправлено: AZJIO от 13 Январь 2021, 02:17:47
А если юзер в это время отходил от пк?
B в пакетах, в  *.desktop у вас нет Categories=
Обновил.
Окно масштабируется и сохраняется размер. Добавил флаги message и notify, если есть желание получить мессагу и/или уведомление попутно с запуском файла (но если файл не задан, то ничего не будет, эти вещи не разделял пока).

Использовал команды
Код
zenity --info --title="Таймер" --text="Завершено"
notify-send 'Сигнал' 'Завершено'
чтобы не блокировали окно таймера

Указал Categories=Misc. Читал что если категория не указана, то попадает в "Прочее", то есть Misc
Название: Re: StopwatchTimer (PureBasic)
Отправлено: sfs от 13 Январь 2021, 11:45:47
Окно масштабируется
Так лучше, но при сжатии окна текст в кучу - см скрин
если есть желание получить мессагу и/или уведомление попутно с запуском файла (но если файл не задан, то ничего не будет, эти вещи не разделял пока).
Не понял
Использовал команды
У меня ни одна не сработала по итогу конца таймера. Звукового файла нет
С приведенными ключами в консоле проги работают
zenity - а средствами pb почему не вывести окно? Зачем лишние зависимости
По итогу должен быть звук + zenity + notify ?
Categories=Misc.
Нет такого (https://specifications.freedesktop.org/menu-spec/latest/apa.html). Utility

Вместо "Добавить" логичнее "Редактировать"
Исходник не интернационализирован (https://wiki.puppyrus.org/programming/intern)  :'( Если уж совсем по взрослому делать
Текст Описание.txt логично вывести на кнопку "Справка" (добавить)
Название: Re: StopwatchTimer (PureBasic)
Отправлено: AZJIO от 13 Январь 2021, 15:46:27
По итогу должен быть звук + zenity + notify ?
да. Если переделывать, то пока не знаю как с виндой быть, там надо будет придумывать как создавать мессагу не блокирующую окно, теоретически можно не делать его дочерним по отношению к родительскому, но в таких случаях это окно закрытое другими окнами потом не даст закрыть программу нажатием крестика-закрытия.
при сжатии окна
надо будет вернуть WindowBounds, просто задать другие параметры, это легко

Нет такого. Utility
ясно... в инструкции создания deb есть Misc для /DEBIAN/control есть "Section: misc", у меня в меню есть "прочие", и также было сказано что если категории нет, то попадают в "прочее". Вот я и решил пусть сам туда делает. Ладно добавлю в Utility.

Исходник не интернационализирован
подучу вариант Linux, я бы мог встроить язык в исполняемый или выбор внешнего файла, но знаю что языки в Linux в "/usr/share/locale", надо будет изучать формат запроса строк языка.
Название: Re: StopwatchTimer (PureBasic)
Отправлено: sfs от 13 Январь 2021, 15:52:03
zenity + notify
Явный перебор. Без всплывающего можно обойтись. А результативное сообщение можно и в окне проги вывести (если вы ее в трей не уберете)
если категории нет, то попадают в "прочее"
Да, но это как-то не очень
языки в Linux в "/usr/share/locale"
Да. В нашей вики все описано. Это лучше оставить на самый конец. Чтобы часто не переделывать
Название: Re: StopwatchTimer (PureBasic)
Отправлено: AZJIO от 13 Январь 2021, 16:02:32
Без всплывающего можно обойтись.
так там флаг в 0 поставить, кстати, по-простому можно сделать флаг Executable=0 и тогда игнор музыки. Подумаю...

если разделить исходники винда/линукс, тогда можно не думая о совместимости с виндой сделать вывод мессаги... вот как раз пример как одна вещь не даёт возможность быстро переделать один исходник в другой, сразу куча подводных камней.
Название: Re: StopwatchTimer (PureBasic)
Отправлено: AZJIO от 14 Январь 2021, 15:49:12
sfs
Минимальный размер окна восстановил
Добавил в список выбора медиафайлов пункт "Сообщение", теперь он самостоятельный.

Поддержку мультиязыков сделать пока не удалось (https://www.purebasic.fr/english/viewtopic.php?p=356649#p356649), не нашёл волшебную функцию, которая делает это автоматически, а по питону или скриптам терминала это не очевидно, там поддержка может быть встроена. Позже займусь, пока коррекцию текста сделаю. Про прогу в трей тоже помню.
Название: Re: StopwatchTimer (PureBasic)
Отправлено: sfs от 14 Январь 2021, 16:43:25
Минимальный размер окна восстановил
А в шапке перезаливали? Что-то у меня без улучшений. Кстати по кнопке "Справка" не помешала бы и версия
Название: Re: StopwatchTimer (PureBasic)
Отправлено: sfs от 14 Январь 2021, 16:54:34
Разобрался -  свежий в арчпакете . В Linux - вчерашний
Размер -норм.
ни одна не сработала по итогу конца таймера
Без улучшений
Название: Re: StopwatchTimer (PureBasic)
Отправлено: AZJIO от 14 Январь 2021, 22:57:08
sfs
На всякий случай перезалил, чтобы старых версий не было. Ничего не изменял. У меня всё работает. Флаги теперь не действуют, надо оставить по умолчанию (в раскрывающемся списке должно быть "Сообщение"), ставим таймер например 2 секунды, жмём ОК и через 2 сек появится мессага с метками таймера. Мессага и при тесте сигнала тоже должна сработать, только без меток.

Вспомнил предложение вместо "Добавить" сделать "Изменить", но это не изменяет, а именно добавляет таймер. Их можно добавить десяток. Один например через 6 часов на работу, другой через час в магазин, третий - выключить набор воды в ванну через 5 минут. И все они сработают в нужное время.

Обновил, иконка в трее теперь.
Добавил справку в папку, но не делал это через /usr/share/help/ru
Название: Re: StopwatchTimer (PureBasic)
Отправлено: sfs от 18 Январь 2021, 17:32:38
Скачал из шапки
1.
появится мессага
по прежнему не появляется. Проверьте еще кто-нибудь...
2. Логика окон нетипичная. По мне надо :
После запуска прога открывается окном (видно в панеле)
При открытии настроек и прочих зависимых окон - они в панеле задач не видны (только одно главное)
При закрывании окна оно сворачивается в трей (пропадает с панели)
В трее вызов осн. окна проги и выход
3. проигрывание звукогого файла через xdg-open спорно... Если это гуевый медиаплеер - его открытое окно останется висеть. Может лучше это заменить запуском юзерского скрипта. Юзер сам туда или звук вкатит или любое действие (этого функционала сейчас нет)
Название: Re: StopwatchTimer (PureBasic)
Отправлено: AZJIO от 27 Январь 2021, 13:30:24
Обновил, добавил цвет цифр в ini-файле. Остальное пока лень, да и не понятно зачем в трей. На панели задач у меня сужаются кнопки по мере заполнения до ширины иконки, в итоге что эта иконка будет в трее, что на панели задач, не особо напрягает, а писать лишнее меню для трея и нагромождать функционалом трея, это вроде не та программ, которая будет постоянно висеть в трее и активно использоваться. И даже мешать на панели задач будет напоминая о наличии таймера. Закрывать в трей вынуждает делать выход через трей, уж лучше сворачивать в трей, а закрывать - завершать прогу.

Теперь в раскрывающемся списке появился пункт "Командная строка"
Код
zenity --info --title=Тест --text=Тест—команды—удачно
то есть выполнится zenity с параметрами. Здесь может быть любой исполняемый файл и любая команда. Разделение проги от параметров происходит по первому пробелу. Если файл в папке /usr/bin/ то путь можно не указывать, если иной путь, то надо указать весь путь.

И есть идея, для команд например в строке допустить переменные %t %s %e, которые можно заменять на время таймера, начало и конец таймера. Вот только проблема, эти символы допускаются в путях, можно поломать путь, можно заменить на //t //s //e но опять же сомневаюсь в ссылках может быть такое, можно мудрёной комбинацией, например #%t%# или сделать флаг разрешающий обработку переменных вида %t %s %e, например var=1 тогда, если в ком строке они встретятся то будут заменены, это позволит например в уведомлении выводить даты таймера, а не просто выдать уведомление о сработке таймера.
Название: Re: StopwatchTimer (PureBasic)
Отправлено: AZJIO от 01 Февраль 2021, 13:08:55
Обновил, исправил ситуацию с пробелами в путях, то есть следующий путь:
/media/windows/элемент с пробелом/file
экранируется так:
/media/windows/"элемент с пробелом"/file

это работает только при выборе файлов через "Открыть", а для ком-строки путь естественно экранирование указывается самостоятельно, так как не возможно анализировать что является путём.
Название: Re: StopwatchTimer (PureBasic)
Отправлено: sfs от 01 Февраль 2021, 14:09:21
для ком-строки путь естественно экранирование указывается самостоятельно
Плохая идея. Не догадаются
А нельзя  весь путь в кавычки, чтоб наверняка "/media/windows/элемент с пробелом/file" ?
Название: Re: StopwatchTimer (PureBasic)
Отправлено: AZJIO от 01 Февраль 2021, 15:03:48
А нельзя  весь путь в кавычки, чтоб наверняка "/media/windows/элемент с пробелом/file" ?
нельзя, потому что во первых это не Windows, только там можно весь путь в кавычки. Во вторых, а если вместе с путями будут указаны ключи/параметры, например -ver или file: или \k или --h или комбинацию из 5 параметров. И как это прога будет воспринимать это как путь? Только автор ком-строки знает где ключи, а где путь, а прога которой передаются данные конечно знает в каком формате ей задаются, но я например не могу заранее угадать как автор какой то проги придумал у себя формат ключей, их порядок, их возможное количество. То что я буду считать путём может оказаться кучей параметров.

Зря я писал сложную функцию выделение кавычками элемента пути. Задал вопрос на офсайте (https://www.purebasic.fr/english/viewtopic.php?f=13&t=76678), может есть встроенная функция gtk, в итоге мне сказали что перед каждым пробелом можно поставить обратную косую черту, типа
/media/windows/элемент\ с\ пробелом/file
то есть фактически просто заменить пробел на "\ " себя же с чертой и всё, без сложностей.
Название: Re: StopwatchTimer (PureBasic)
Отправлено: sfs от 01 Февраль 2021, 15:10:30
это не Windows, только там можно весь путь в кавычки
Возможно я что-то не понял, но в линуксе cat "/home/qq ww/file" работает
заменить пробел на "\ " себя же с чертой
да
Код
echo "1 2" |sed 's/ /\\ /g'
Но еще могут быть пробел тире и т.п.
Можно сделать прога и ключи в разных окнах ввода или в тултипе написать про кавычки
Название: Re: StopwatchTimer (PureBasic)
Отправлено: AZJIO от 01 Февраль 2021, 16:43:07
Возможно я что-то не понял, но в линуксе cat "/home/qq ww/file" работает
cat это же не исполняемый файл, которому передаётся путь. Внутри PureBasic тоже программные функции нормально работают с путями. Проблема то движка интерпретации параметров исполняемого файла.

Можно сделать прога и ключи в разных окнах ввода или в тултипе написать про кавычки
Зачем, ведь в терминале такое же поведение при запуске исполняемых файлов и никто же не подсказывает. Если чел умеет работать с терминалом то он поймёт и проблему ком-строки в любой программе, а не только в моей.
Название: Re: StopwatchTimer (PureBasic)
Отправлено: AZJIO от 04 Февраль 2021, 15:18:24
Может кому интересно, но я виндовую версию подкрутил до линуксовых обновлений и протестировал, хорошо что заранее в исходнике делал разделение на виндовую и линуксовую часть, поэтому практически сразу заработало.

Вот как это выглядит:
Код
CompilerSelect #PB_Compiler_OS
    CompilerCase #PB_OS_Windows
; некий виндовый код
    CompilerCase #PB_OS_Linux
; некий линуксовый код
CompilerEndSelect

или так:

Код
CompilerIf #PB_Compiler_OS= #PB_OS_Linux
; некий линуксовый код
CompilerEndIf

то есть компилятор взависимости от ОС выбирает что ему компилировать, а что игнорировать. Допустим это могут быть внутренние для ОС функции WinAPI или GTK3.
Название: Re: StopwatchTimer (PureBasic)
Отправлено: k0l0p0k от 04 Февраль 2021, 15:59:12
cat это же не исполняемый файл
Код
file `which cat`
/usr/bin/cat: ELF 64-bit LSB pie executable ...
Название: Re: StopwatchTimer (PureBasic)
Отправлено: AZJIO от 04 Февраль 2021, 16:12:46
k0l0p0k
Ок, нашёл, в  /usr/bin его не было, нашёл в /bin
Однако я читал правило, что в кавычки заключается не вся строка пути, а только элемент пути с пробелом, если их несколько, то каждый. Я ранее тестировал выделять весь путь, потому что так проще и это не работало. Остаётся признать что каждая программа сама определяет то как ей передаются параметры.
Название: Re: StopwatchTimer (PureBasic)
Отправлено: sfs от 04 Февраль 2021, 16:31:52
Нет таких правил. Везде в линукс путь "1 2"3"4 5" будет равносилен "1 234 5"
компилятор взависимости от ОС выбирает что ему компилировать
круто
Название: Re: StopwatchTimer (PureBasic)
Отправлено: k0l0p0k от 04 Февраль 2021, 16:38:36
Ок, нашёл, в  /usr/bin его не было, нашёл в /bin
which обычно знает где находится бинарник
Название: Re: StopwatchTimer (PureBasic)
Отправлено: AZJIO от 04 Февраль 2021, 16:47:34
Нет таких правил. Везде в линукс путь "1 2"3"4 5" будет равносилен "1 234 5"
Подразумевается элемент между /тут/, от наклонной до наклонной, а не просто внутри. И что самое интересное имя файла и папки поддерживает все символы, кроме наклонной /. Отсюда, что если "1 2"3"4 5" это реальное имя и это не выделено кавычками?

Кстати, пока не могу найти подтверждение своего тезиса, но нашёл такой вариант: /dir s probelom$ то есть окончание пути доллар. Вот только проверить чтобы всё это работало для любой программы. А кавычки тоже рекомендуют экранировать "1\ 2\"3\"4\ 5" чтобы читать их литерально. Единственное что я понял, если я использую xdg-open, то мне нужно изучить его правила чтения путей.
Название: Re: StopwatchTimer (PureBasic)
Отправлено: sfs от 04 Февраль 2021, 17:13:32
Везде в линукс путь "1 2"/3"4 5" будет равносилен "1 2/34 5"
то есть окончание пути доллар
это regex (https://wiki.puppyrus.org/programming/regexps) наверное
Код
printf "123\n36" |egrep '3$'
Название: Re: StopwatchTimer (PureBasic)
Отправлено: sfs от 04 Февраль 2021, 17:21:03
xdg-open - это скрипт, но очень мутный.
Почти во всех ФМ еще можно закрепить через ~/.local/share/user-places.xbel (этот файл ФМ сам создает, когда выбираешь, чем открывать)
Название: Re: StopwatchTimer (PureBasic)
Отправлено: knn от 04 Февраль 2021, 17:25:48
# сдается отчасти по темам "кавыченья" и "запусков"... (я конечно про шелл, а не про "програмерство" - не программер я ...).
  Сегодня опять пришлось "лбом пробивать"( в чем-то - "опять на старые грабли", да подзабыл ; в чем-то "почти мне не ведомое", но вроде становится чуть яснее ( по-капле иногда "отруби подсыпаются"). # последнее например про 'sakura-vs-xterm' )
  Скрин (частность-на-чем-опять-столкнулся ):
(https://i.ibb.co/x8YyjNT/MPlaer-playlist-dialog.png) (https://ibb.co/x8YyjNT)
- скрипт (а есть различия если запускать "командами/строками-в-терминале"):   МПлеер в sakura проигрывает радио-плейлист с выводом в 'dialog'; хоткеи громкости и переключения элементов листа действуют.
( пробовал аналогию для 'mpv' - пока не-айс по хоткеям...)
Название: Re: StopwatchTimer (PureBasic)
Отправлено: AZJIO от 04 Февраль 2021, 17:49:49
посмотрел xdg-open и вывел мануал, он оказывается и ссылки может открывать в браузере по умолчанию, а я голову ломал, как получить браузер по умолчанию.

xdg-open запрашивает дефолную прогу ассоциированную с типом используя xdg-mime
Код
default=`xdg-mime query default "$filetype"`

тут я получаю имя программы geany.desktop
Код
xdg-mime query default `xdg-mime query filetype /home/user/Загрузки/Readme.txt`
Название: Re: StopwatchTimer (PureBasic)
Отправлено: knn от 04 Февраль 2021, 18:46:02
посмотрел xdg-open и вывел мануал, он оказывается и ссылки может открывать в браузере по умолчанию
- как смутно помню - вроде даже "разные типы ссылок" ( в смысле мне например тогда нужно было чтоб 'MyTetr-овские ссылки' в 'Links2' открывались. upd: в смысле - "разные типы ссылок" можно под разные браузеры) - (про то что это был именно 'xdg-open'- 99%) - но "давненько это было", и кажется даже на "Ричи" прокатывало
Название: Re: StopwatchTimer (PureBasic)
Отправлено: AZJIO от 04 Февраль 2021, 19:18:29
Links2
да, я только что смотрел там код:
Код
# if BROWSER variable is not set, check some well known browsers instead
if [ x"$BROWSER" = x"" ]; then
BROWSER=www-browser:links2:elinks:links:lynx:w3m
if has_display; then
BROWSER=x-www-browser:firefox:iceweasel:seamonkey:mozilla:epiphany:konqueror:chromium:chromium-browser:google-chrome:$BROWSER
fi
fi
чтобы понять как он это делает но в итоге ничего не понял, кроме описания: если переменная BROWSER не задана, то проверяем известные браузеры. То есть программно я бы искал в папке /usr/bin в порядке релевантности файлы-браузеры, чтобы как только будет найден первый использовать его, хотя это не будет браузер по умолчанию. А вот как получить переменную BROWSER? Тут (https://www.purebasic.fr/english/viewtopic.php?p=565208#p565208) недавно я задал вопрос, как сделать поддержку национальных языков, мне дали ссылку на чтение переменных:
Код
If ExamineEnvironmentVariables()
    While NextEnvironmentVariable()
        Debug EnvironmentVariableName() + " = " + EnvironmentVariableValue()
    Wend
EndIf
Я получил 44 переменных, но тут нет переменной BROWSER. Хотя в плане вопроса той темы я получил переменную LANGUAGE = ru, то есть определил язык ОС.
Название: Re: StopwatchTimer (PureBasic)
Отправлено: knn от 04 Февраль 2021, 19:31:26
- из того что вспоминается - там были и "родственные утилиты" - и похоже что ч/з них себе выставлял ( upd: xdg-mime,  xdg-settings [ поглядел сейчас в 'mam'] -  могу и ошибаться - ну не помню я точно) )
-------
зы
:) 'links' и 'links -g' - "имеют различия" ( визуальные и т.д.)
( + можно глянуть  для 0.999-ледяного "багфикс-закладок-Линкс2" (https://www.hostedredmine.com/projects/icearch/wiki/Bugfix-0999-testpage) по-случаю...)
Название: Re: StopwatchTimer (PureBasic)
Отправлено: AZJIO от 04 Февраль 2021, 21:49:38
sfs
Последовал вашему совету и вместо всяких придумок экранирования обрамил путь кавычками по краям и сразу заработало. Естественно перезалил архив программы. Во первых я протестировал заменой пробела на "\ " и это тоже не работало,  во вторых я вспомнил что возможно обрамлять индивидуальный элемент пути это была проблема питона (язык, который я учил параллельно изучению Linux), так как не нашёл подтверждение в гугле, и в третьих задача была найти совместимость только с "xdg-open", если с ним работает остальное не важно, и заработал.

Сейчас ещё есть идея, попробовать конвертировать путь из UTF-8 в ANSI, может это поможет устранить проблему русских букв в пути. Кстати, проверьте у себя, есть ли эта проблема или только у меня, так как клик на CHM-файле (без PureBasic) у меня тоже проблема русских букв в пути.

(https://d.radikal.ru/d09/2102/e2/b1fef97596c0t.jpg) (https://d.radikal.ru/d09/2102/e2/b1fef97596c0.png)

Ещё перезалил, я там исходник делал с поддержкой языков внутри, но определение языка делал только виндовый, добавил линуксовое определение. То есть может кто захочет компилировать на украинском или ещё каком нибудь языке.
Название: Re: StopwatchTimer (PureBasic)
Отправлено: knn от 04 Февраль 2021, 22:13:04
Естественно перезалил архив программы
1 - и сейчас вроде у меня "распиналось" на ледяном (# без подробностей...);
2 - немного недопонял по отношению к я-ссылкам :
- сейчас линк поменян (относительно предыдущего) - а раньше при обновлениях линки были идентичны( пока так и не довелось попробовать на своем я-диске...)  [ в смысле ? как  перезаливать файл с сохранением предыдущ. линка ?]
Название: Re: StopwatchTimer (PureBasic)
Отправлено: AZJIO от 04 Февраль 2021, 22:18:58
2 - немного недопонял по отношению к я-ссылкам :
- сейчас линк поменян (относительно предыдущего) - а раньше при обновлениях линки были идентичны( пока так и не довелось попробовать на своем я-диске...)

Обновляю только на яндексе, ссылка одна и таже всегда
Название: Re: StopwatchTimer (PureBasic)
Отправлено: sfs от 07 Февраль 2021, 11:14:16
проверьте у себя, есть ли эта проблема или только у меня, так как клик на CHM-файле (без PureBasic) у меня тоже проблема русских букв в пути.
В
xchm-1.31-2008-sf01.pfs - для чтения chm справки
тоже не открывается пока рус. буквы не уберешь. Но так не в любом линукс приложении
Название: Re: StopwatchTimer (PureBasic)
Отправлено: AZJIO от 08 Февраль 2021, 03:36:35
Обновил.
Встроил поддержку интернационального языка. По умолчанию английский, но если существует языковой файл соответствующий языку системы, то будет использоваться он. На данный момент есть только русский (в установщике), и отдельно в папке для примера ещё и английский.
Добавил, чтобы дубликаты строк в список файлов-сигналов не попадали.

В файле локализации сделал поддержку комментариев, строки начинающиеся с ";" игнорируются, то есть можно дописать автора, дату, описание, варианты перевода между строк.
Добавил рабочий каталог при открытии файла-сигнала /usr/share/sounds. Работает запоминание текущего в сессии запущенной программы, может ещё в ini сохранить, стоит ли.

Обновил
Если в Mint переменная LANGUAGE=ru, то в Manjaro - LANG=ru_RU.UTF-8, пришлось в имени переменной взять слева 4 символа, а в значении слева 2 символа, надеюсь уже будет совместимо в любой Linux. В крайнем случае при неопределении языка можно пользователю предложить указать путь к языковому файлу и сохранить в настройки с приоритетом использования настроек.
Название: Re: StopwatchTimer (PureBasic)
Отправлено: AZJIO от 16 Февраль 2021, 20:03:57
Добавил пакет собранный с помощью "makepkg PKGBUILD".
Название: Re: StopwatchTimer (PureBasic)
Отправлено: sfs от 29 Апрель 2021, 09:41:31
https://github.com/vicr123/the24
Название: Re: StopwatchTimer (PureBasic)
Отправлено: AZJIO от 06 Май 2021, 09:58:10
https://github.com/vicr123/the24
а скрины есть? А то пока установить и посмотреть нет возможности.
Название: Re: StopwatchTimer (PureBasic)
Отправлено: sfs от 07 Май 2021, 14:44:17
нет. я не компилил
Название: Re: StopwatchTimer (PureBasic)
Отправлено: AZJIO от 14 Ноябрь 2022, 17:16:38
Обновил
Добавил при срабатывании сигнала активируется окно программы. Но почему то работает только на Arch и Windows, но не на Fedora и Ubuntu. Видимо зависит от DC.