LINUX.ORG.RU

Форкнул календарь galendae

 ,


0

1

После перехода на Hyprland и панель Waybar, столкнулся с тем, что нормального календаря для панели, который показывался бы по нажатию и исчезал по клику или потере фокуса - нет.

Самым подходящим из всех опробованных оказался простенький galendae. Но у него оказалось несколько фатальных недостатков и я решил допилить его своими силами.

Недостатки(по моему мнению): не на русском, в оригинале не было выхода по ПКМ(перенёс из китайского форка), не было подсветки выходных и праздничных дней.

Что я сделал на данный момент:

- Перенёс из китайского форка закрытие по ПКМ.

- Добавил чтение csv-файла с производственным календарём.

- Сделал подсветку выходных и праздничных дней, а также пометку к укороченным дням.

- Сделал руками csv-файл с производственным календарем на 2026й год, готовых в csv пока что нет ещё(а отпуска уже планировать пора).

Вот решил поделится, если кому-то будет интересно или полезно.

Скрин:

https://i.imgur.com/YtOdFjB.png

Гитхаб:

https://github.com/loki1368/galendae-ru

Интересные предложения по развитию - велкам. Правда сам пилить буду думаю только то, что мне будет самому интересно, но PR тоже приветствуются.

Если у кого-то есть интересные оформления для этого календаря, то тоже буду рад добавить в репу.

★★★★★

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

Все выходные дни праздничные, а если праздничный день не выходной, то и помечать его нечего! Наверное в том и смысл, просто праздничные дни например «День интернета» сегодня (очередной) не является выходным и не входит в список выделения на календаре, празников дофига, выходных праздников меньше, только они и помечаются.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от borisych

Понятия-то разные, а для практических нужд от календаря нужны вообще не они. Нужно различать рабочие и нерабочие дни. И вроде как по скринам здесь всё с этим нормально.

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

выходные и праздничные дни - это таки разные понятия даже в английском (weekend vs holiday), а у вас они суть одно и то же

Также как и в производственном календаре любом показывается. Я ничего особо изобретать не стал. Единственно, что ещё подумываю, чтобы в соседних месяцах тоже показывать другим цветом не рабочие дни, но так как раз не делается нигде, где я картинки гуглил по слову «производственный календарь».

А так, какая разница, выходной или праздничный? Главное, что не рабочий. Так то и выходной может быть рабочим, если был перенос(1 ноября как пример).

Loki13 ★★★★★
() автор топика
Ответ на: комментарий от LINUX-ORG-RU

праздничные дни например «День интернета»

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

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

Так то и выходной может быть рабочим

Тогда он уже не выходной… По определению.

Но тут походу ещё большая путаница, между «выходной» и «weekend» ну или «последние два дня недели».

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

Нужно различать рабочие и нерабочие дни.

Я начал этот форк после того как случайно чуть не забронировал баню на рабочий день, 1 ноября. Подумал, ну суббота же.

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

А чего форк, а не ПР в апстрим?

Там последний коммит 7 лет назад, помер похоже апстрим. Ну и у меня слишком специфично русские изменения(я не изобретал механизм перевода, которого там нет, а поменял Saturday на Суббота прямо в коде) и они только для России актуальны.

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

Опять путаница… Речь шла про рабочую субботу, когда из-за праздника три выходных: воскресенье, понедельник и вторник (например, как будет 1 ноября). В такую субботу обычно работа не идёт по повышенному тарифу, ведь это именно что не выходной, а рабочий день.

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

Также как и в производственном календаре любом показывается. Я ничего особо изобретать не стал.

ну вот вам пример, где нерабочие праздничные явно отделены от выходных: https://www.banki.ru/news/daytheme/?id=11015508 (там тоже колхоз с 7 марта и 13-14 июня - здесь подсветка смахивает больше на long weekend) дело в том, что нерабочие праздничные дни - это то что определяется государством, т.е. дано нам свыше, а выходные - это уже свойство расписания конкретной организации или службы. На примере: если у предприятия 6-дневная рабочая неделя, то 3 января 2026 года все равно будет нерабочим днем, потому что так сказало государство.

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

И вроде как по скринам здесь всё с этим нормально.

глядя на расписание с 5-дневной неделей нельзя сделать каких-либо выводов о расписаниях с 4-дневой и 6-дневной рабочей неделей, т.е. данных явно недостаточно.

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

А у нас праздные дни — дни для праздного времяпрепровождения. Однако дофига «праздников» при этом являются рабочими днями.

Может не будем в этимологию лезть, а на суть будем смотреть?

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

А изобретать ничего и не нужно. Существует GNU gettext, которого достаточно для 90% ситуаций.

Для этого в коде нужно было бы поменять захардкоженный массив на что-то другое. Я же не говорю что это невозможно, но в моем варианте это избыточно. Хотя, если будет запрос, то может и сделаю.

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

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

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

отдельной csv оформляй.

Это надо сначала список таких дней с описаниями найти. А там можно формат уже придумать. Да, скорее csv. Если бы плюсы были, я бы думаю всё на JSON сделал. А на С парсить что-то сложнее csv, банально лень. Да и контейнеры изобретать придется(ага, очень мне тут std::map бы не помешал).

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

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

Но мне кроме этого надо было добавить нерабочие дни наши, российские. Зачем они автору? И это не говоря о том, что автор 7 лет уже забил как, вряд ли он бросится принимать PR национальные.

У автора на гитхабе

0 contributions in the last year

А за прошлый год одна активность и та не в программировании.

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

куча государственных (или около) учреждений работают по 6-дневной рабочей неделе: поликлиники, больнички, школы, банки, т.е. да, у дедушке есть деньги, дети/внуки, он ходит в больнички и пр., таки праздничный день лучше размечать праздничным, а не выходным.

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

куча государственных (или около) учреждений работают по 6-дневной рабочей неделе: поликлиники, больнички, школы

Фиг знает, моя поликлиника работает скорее по 5-дневной (хотя частично и 7-дневной, конечно, но точно не по 6-дневной). И больница, по крайней мере та, что я в последний раз видел — так же. Школы тоже, как правило, тоже работают по 5-дневной. Да и не всем нужны школы. Причём тут дедушка, я вообще не понял. ТС — дедушка?

Короче, хрен знает, я вот считай 40 лет живу на свете и ни разу не испытывал проблем с тем, что в календарях выходные и праздники отмечены одинаково, или с тем, что мне нужно знание об особенностях 6-дневных, а уж тем более 4-дневных рабочих недель, причём настолько часто, чтобы отражать это в регулярно используемом календаре, а не один раз загуглить (а ещё лучше спросить в конкретной конторе, если уж у них там всё нестандартно, на всякий случай) конкретную ситуацию раз в жизни, если вдруг оно таки понадобилось.

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

В Индии, Камбодже, Лаосе, возможно, всех остальных странах ЮВА, рабочая неделя у почти всех 6-дневная по местному ТК.

То есть, календарь с 5-дневной рабочей неделей отсекает значительную часть населения планеты, работающую до сих пор по шестидневнке.

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

Причём здесь вообще Индия, Камбоджа, Лаос? Причём тут это самое население планеты. Вы совсем что ли уже на автомате всё комментируете, или за вас уже ChatGPT пишет давно? Чел сделал форк для себя. Он не живёт ни в Индии, ни на Марсе, ни в Стране Розовых Пони. При этом очевидно, что его юзкейс далеко не уникален, а общий для очень, очень большого количества россиян и русскоговорящих людей, поэтому решил поделиться им на русскоязычном форуме — может кому будет полезен. Причём тут, блин, Индия и Лаос, причём тут, блин дедушка и его особенная поликлиника? Причём тут weekend и holiday в английском? Почему в подобных обсуждениях всегда какой-то треш?

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

Я к тому что можно же было сделать форк универсальным. С поддержкой gettext, поддержкой настроек рабочей недели. Импорт праздников тоже востребованная фича для жителя любой страны.

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

Ну, по этому поводу автор довольно чётко обозначил свою позицию изначально:

Интересные предложения по развитию - велкам. Правда сам пилить буду думаю только то, что мне будет самому интересно, но PR тоже приветствуются.

Добавление бóльшего количества настроек, а также gettext — это, пожалуй, больше работы, чем то, что автор уже сделал, и ему самому это не интересно (ведь он не живёт в Камбодже и не работает на 4-дневке, иначе бы может запилили). Нет, если бы оно было в изначальном проекте, но ТС бы зачем-то при этом проигнорировал нормальный способ, а навелосипедил свой несовместимый — тогда я бы считал такие претензии разумными. Но так как этого всего не запилили авторы изначально, всё же разумнее здесь было бы, если оно вам правда надо, в виде Pull Request’а это уже делать, а не требовать от того, кто сделал форк с вполне определёнными и не столь масштабными целями.

Просто я постоянно вижу вот такого рода критику — не по существу того, что людям самим действительно надо даже, и не указание на явные ошибки, а вот чисто ради критики. И я неоднократно встречался с тем, что люди после такого опыта отказываются делиться чем-то, что сделали для себя. Типа нафиг надо, только все ругаться будут, что то не так, и это не так, и никто даже спасибо не скажет. Как минимум знаю одного разработчика эмуляторов, который по этим причинам не открывает исходники, а также не одного и не двух людей, которые именно вот мелкими штуками не делятся, ибо не стоит вот этого всего. Да что уж там, если прям совсем честно, я и сам некоторые вещи не публикую до поры до времени (пока допилю до более «приличного для всех» состояния), которые делал для себя и активно использую — не потому что «обидят», это-то мне лично пофиг, не первый день в интернете — а потому что достанут вот такими мелочами, которые на самом деле никому не нужны, и вместо которых я пока лучше сфокусируюсь на том, чем пользуюсь уже сейчас. Чаще, впрочем, я просто готов к такой реакции, и всё равно делюсь, игнорируя её, но тем не менее.

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

CrX ★★★★★
()