LINUX.ORG.RU

Помощи сообщества просьба (если получится)

 , ,


1

3

Привет!

Я иногда пишу тут о том, что собираюсь перезапустить свой старый проект, менеджер заметок и не только (тогда Python + Qt4) Notefinder, новая имплементация на C + GTK+ (Adwaita).

Все, вроде бы, неплохо движется, но, раз уж здесь сообщество, хотелось бы узнать, может, кто-то поможет иногда банальными консультациями в сферах, в которых я не всегда и не все знаю. А именно:

  • GTK+ как таковой. Часто не могу понять, какой виджет мне нужен. Еще не очень понимаю концепцию view model для их Tree view.

  • WebDAV. Я хочу нацелиться на него как на главный инструмент синхронизации, попробовать для тестовой модели lighttpd, и примерно понимаю, как все это на libcurl сделать, но могу не знать кучи ньюансов – если кто-то в этом разбирается (скорее, именно в DAV и том, как лучше там хранить текстовые заметки, мне уже понравилось, что там есть LOCK), было бы здорово.

Либо дайте тут свои контакты, либо стукнитесь на gforgx@protonmail.com. Спасибо! И за любые советы и RTFM в треде.

P.S. Лицензия проекта simplified BSDL без disclaimer (Redistribution and use in source and binary forms, with or without modification, are permitted provided that redistributions of source code must retain this text including above copyright notice).

★★★

Последнее исправление: GFORGX (всего исправлений: 5)

Твой пет, ты его конечно как хочешь, так и корми, но имхо, для перезапуска, думать надо в первую очередь не про переезд на другой фреймворк, а про фичесет.

Посмотри на Joplin или Obsidian, в общем и целом на концепцию про долговременный кэш для мыслей.

По-поводу WebDAV для синхронизации, очень странное решение имхо. Думаю механизм синхронизации, особенно, если это открытое решение, должен как можно меньше зависеть от транспорта.

pon4ik ★★★★★
()
Ответ на: комментарий от sparkie

Vim в Gnome/macOS Terminal.

Именно с UI все очень плохо стало с начала перехода на GTK4.

Glade (сам по себе очень кривой) – фактически discontinued, нового UI designer нет, хотя были презентации от автора самого Glade (который сделал нечто новое, но на питоне…).

И, насколько я знаю, большинство разрабов – пишут XML руками. Ну и еще Vala есть. Я пишу в чистом C коде весь интерфейс, потому что XML за пределами моего понимания.

Но сама Adwaita – крутая, очень классные современные виджеты, и все это на чистом Си.

GFORGX ★★★
() автор топика
Ответ на: комментарий от pon4ik

Так WebDAV каждый себе может где угодно поднять.

Есть еще всякие Next(own)cloud, где это вовсе просто. Я это хочу для достаточно простого юзкейза:

  • писать я люблю за ноутбуком (любые планы, TODO, etc.)
  • читать – часто с телефона (иногда править)

И хотелось бы во втором кейзе вообще не зависеть от приложений. Да, написать логику синхронизации и некий version control будет сложно, но на то и pet project.

А вот фичасет для меня старый в целом актуален. Мне нужна графическая штука для управления заметками, которые я чаще всего делаю из консоли (но не всегда, и соответственно отсюда потребность в системе бэкендов), старая спецификация Notefinder устраивает ей целиком, но мне больше не нравятся Python (или C++) и Qt.

GFORGX ★★★
() автор топика
Ответ на: комментарий от pon4ik

Joplin близок к тому, что я делаю, а вот про Obsidian – я не слышал даже никогда.

Переход на страничку не впечатлил, потому что там просто какой-то HTML-editor с деревом (но я не понял, как оно организуется, по кросс-ссылкам?..).

GFORGX ★★★
() автор топика
Ответ на: комментарий от GFORGX

Так WebDAV каждый себе может где угодно поднять.

Тут хозяин - барин, но, ты глянь как устроена подсистема синхронизации в Joplin, может вдохновишься.

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

pon4ik ★★★★★
()
Ответ на: комментарий от pon4ik

Спасибо! .)

Что касается «тащить к себе» – на самом деле, больше хотел просто узнать, вдруг, кто-то в этих темах хорошо разбирается и можно стукнуться иногда с вопросом «а так правильно?» :)

GFORGX ★★★
() автор топика
Последнее исправление: GFORGX (всего исправлений: 1)
Ответ на: комментарий от GFORGX

Там(в обсидиане) zettelkasten из коробки и в интерфейсе. В джоплине частично из коробки, частично добивается плагинами.

Основная идея там примерно такая - ты очень быстро и легко делаешь write-only записи, но тебе легко на них ссылаться и искать.

pon4ik ★★★★★
()
Ответ на: комментарий от i-rinat

Наверняка есть!

Я любитель Vim, и думаю, скорее, о том, как бы его реимплементировать у себя в редакторе заметок (как режим или вроде того) или воткнуть.

Раньше делал XEmbed, но это страшная перверсия. Так что, скорее, сделаю vi-compatible имплементацию поверх GTK text editor-а.

GFORGX ★★★
() автор топика
Последнее исправление: GFORGX (всего исправлений: 1)
Ответ на: комментарий от pon4ik

Есть некоторые близкие мне идеи, мааааленькая часть из которых у меня уже была реализована.

Это хорошо очень, да, я хочу в этом направлении проект развивать!

GFORGX ★★★
() автор топика
Ответ на: комментарий от i-rinat

GNU Emacs – это операционная система, и я ничего против не имею, даже думаю однажды попробовать, когда совсем все надоест в жизни (:

GFORGX ★★★
() автор топика
Последнее исправление: GFORGX (всего исправлений: 1)
Ответ на: комментарий от GFORGX

Ещё несколько фич без которых, лично я не буду пользоваться note-taking системой, это поддержка markdown (хотя бы выгрузки) и выгрузки в pdf. И никто из знакомых, кто пользуется подобными системами без выгрузки в pdf не будет. Т.к. ноты это хорошо и правильно, но если у тебя сварился какой-то концепт и ты готов его презентовать - очень удобно скомпилировать всё в одной большой «заметке» (искать то просто) и выгрузить её в виде PDF или в виде небольшой markdown wiki. А с markdown можно целый сайт вести через интерфейс такой системы нот, ну или если не сайт, то бложик, имеются для этого движки.

pon4ik ★★★★★
()
Ответ на: комментарий от pon4ik

Мне еще очень хочется следующего добиться, возможно, тебе тоже близко и есть мысли, как такого достичь?..

Хочется делать что-то вроде capture кусков веб-страниц (например, страницы какого-нибудь рецепта у Джейми Оливера или новости с LOR). Тут я хочу изначально смотреть, конечно, на сторону браузера. Но все равно есть вопросы, но это, скорее, интересно. Как все это используя минимум библиотек (это основная политика) превратить html c css и js во что-то вроде pdf.

А в идеале еще и сохранить редактируемость. Возможно, возьмусь всерьез все это с нуля писать.

Вроде в Evernote что-то такое есть, но не понял пока, как работает (впрочем, на макоси могу без проблем пощупать, но руки не дошли).

GFORGX ★★★
() автор топика
Последнее исправление: GFORGX (всего исправлений: 2)
Ответ на: комментарий от GFORGX

Посмотри синтакс файлов org-mode. Думаю, тебе он покажется очень знакомым. Поставь на смартфон приложение Orgzly, настрой синхронизацию с WebDAV сервером. Emacs при этом запускать не обязательно, файлы org-mode легко редактируются любым текстовым редактором.

i-rinat ★★★★★
()
Ответ на: комментарий от GFORGX

В Joplin есть такая функция, но я ей в какой-то момент перестал пользоваться, т.к. когда просто копируешь контент, а не ведёшь конспект, пусть и обрывочный - инфа не оседает, когда через год-другой начинаешь натыкаться на такой мёртвым грузом лежащий контент, мучительно пытаешься вспомнить - а нахрена я его вообще сохранил :)

pon4ik ★★★★★
()
Ответ на: комментарий от GFORGX

Раньше делал XEmbed, но это страшная перверсия. Так что, скорее, сделаю vi-compatible имплементацию поверх GTK text editor-а.

Для этих целей(в том числе) придумали nvim, см. проекты типа OniVim например.

В Joplin есть, а в vimperator был, имплементирован другой подход - редактор открывается отдельно.

pon4ik ★★★★★
()

насколько понял острой личной потребности в чём-то подобном (уже, сейчас) у вас нет…и какие-то траблы с выбором инструментов

может не надо ?

или быть проще - реализовывать нужное на знакомом

MKuznetsov ★★★★★
()
Последнее исправление: MKuznetsov (всего исправлений: 1)
Ответ на: комментарий от MKuznetsov

насколько понял острой личной потребности в чём-то подобном (уже, сейчас) у вас нет…и какие-то траблы с выбором инструментов

Возможно, вы плохо читали (:

Проблем с выбором инструментов нет, я лишь попытался поискать на лоре людей, которые лучше меня понимают в GTK+ и WebDAV ;-) Чтобы изредка обращаться за советом по конкретному сформулированному вопросу :)

А потребности не поменялись за 15 лет.

GFORGX ★★★
() автор топика
Ответ на: комментарий от MKuznetsov

или быть проще - реализовывать нужное на знакомом

Да сложновато что-то на Python, как проект был начат 15 лет назад, писать, когда в основном пишешь на C. Тут вообще вопрос не про технологии, а про то, как удобно.

GFORGX ★★★
() автор топика
Последнее исправление: GFORGX (всего исправлений: 1)
Ответ на: комментарий от LINUX-ORG-RU

Мне просто завидно, что вот у человека 15 лет уже как нет ничего, что нужно сделать, кроме софта для ведения заметок. У меня даже приблизительный список того, что нужно сделать или исправить, явно больше, чем я вообще когда-либо смогу осилить. А ему делать больше нечего!

i-rinat ★★★★★
()
Ответ на: комментарий от GFORGX

Проблем с выбором инструментов нет, я лишь попытался поискать на лоре людей, которые лучше меня понимают в GTK+ и WebDAV ;-) Чтобы изредка обращаться за советом по конкретному сформулированному вопросу :)

это вот как раз и есть трабл с выбором инструмента. Зачем вы пытаетесь (хотите/желаете) использовать Gtk+ и WebDAV если квалификации в них явным образом нехватает.

изложенное в топике «Часто не могу понять, какой виджет мне нужен. Еще не очень понимаю концепцию view model для их Tree view.»

ВОТ ПОЧЕМУ ТОГДА GTK+ ???

Это-ж смертный приговор всему проекту

MKuznetsov ★★★★★
()
Ответ на: комментарий от GFORGX

У меня тоже vim, только vim в крыске Alt Linux и на платформе FreeBSD. Код пишу на Фряхе (в т.ч. свои сайтики), а на Alt'е собираю. На FreeBSD монитор больше. Alt установлен на ноуте.
Глэйд и Билдер - это жестяная жесть.
Установил Code:Blocks, потыкаю палочкой. Возможно он окажется пригодным к использованию.

Когда-то довольно активно разрабатывал на GTK+, ещё на втором. Потом был перерыв, связанный с некоторыми событиями, сейчас восстанавливаю направления деятельности. К сожалению мой топовый проект оказался утраченным и возвращаться к нему я не очень хочу, хотя по-своему он был интересен. Есть предварительные намётки, но окончательного решениия я пока не принял.
За твоим проектом буду наблюдать. Может подскажу чего. Или приобрету что-то для себя.

sparkie ★★★★
()

Если я ошибаюсь, поправьте меня, но кажется в GTK уже лет так 5+ (?) идет в комплекте замечательный JS движок, на котором и описываются все виджеты приложения, подтверждением тому является репо GNOME на gitlab, в котором все штатные утилиты типа Gnome Maps содержат скрипты на javascript, которые как раз и занимаются построением морды приложения aka GUI и взаимодействием с user через events. Поэтому необходимость в таких конструкторах как Glade вроде как отпала довольно давно. Задача в данном случае как я думаю сводится к тому чтобы освоить великолепный JS и написать пару скриптиков для реализации GUI своей мечты, примеров на gitlab навалом. Хотя это может быть и поверхностная информация, я не большой знаток GTK.

Если же ТС все таки желает выбрать путь джедая и реализовать GUI на С, то моим советом будет не ориентироваться только на GTK, а сделать как можно больше уровней абстракции между приложением и конкретным GUI, для того чтобы можно было быстро пересобирать код под данный конкретный выбранный GUI Framework - под Qt, GTK, FLTK, Win32, может появятся какие то новые , основанные на OpenGL например, с трехмерными TreeView, с минимальными изменениями в основном коде. Может получиться довольно сильное кроссплатформенное решение. То же касается синхронизации, как уже выше советовали - поместить абстрактные структуры данных между приложением и транспортом, чтобы под каждый конкретный случай можно было быстро написать драйвер.

spring
()

И, да, контакт оставить не проблема. Но возникает закономерный вопрос, - каким образом будет осуществляться возможное взаимодействие?

sparkie ★★★★
()