Releases: ilius/starcal
StarCalendar 3.2.3
This a bug fix release
Full Changelog: 3.2.2...3.2.3
Commits:
- 936a981 fix AttributeError (handled) in
getScreenSize
andgetWorkAreaSize
AttributeError: NoneType object has no attribute get_geometry
happened on Python 3.12.0, gi 3.46.0, also tested on 3.11.4, gi 3.44.1
- 492539b mark Python 3.12 as supported
- 99ae422 update codeql action
- a800ec9 fix broken
VcsDailyStatEvent
- 0a8d36a bug fix in Right Panel:
mainWinRightPanelResizeOnToggle
not saved - a495e55 remove unused
math.log
import inscal3/event_search_tree.py
- 4313347 fix shellcheck error in
install-pip
- b280d3e fix
install-pip
: no./install
StarCalendar 3.2.2
Changes since StarCalendar 3.2.1
Changes to dependecies
- Mark Python 3.11 as supported
General bug fixes
- Window Controller: handle bad bg color from user theme, and fallback to dark mode
- Fix Label Box not hiding when unchecked/disabled from Customize dialog
- Fix bug in
WeekMonthEventRule
: bad/missing conflict list - Fix failing tests for Hijri calendar
Installers' bug fixes
- Fix
install-pip
: changepython-igraph
toigraph
- Fix
distro/base/install.py
(used for BSD and Slackware) incleanup
step - Fix
distro/base/install.sh
: missing quotes - Fix
uninstall
: it just exited after parsing args, also fixshellcheck
errors
Regional support
- Update hijri months for 1403 calendar
- Update plugins data based on 1403 calendar
License
- Change license from GPL to AGPL (Affero GPL)
StarCalendar 3.2.1
Changes since StarCalendar 3.2.0
- Update Hijri months, #71
- Debian installer: add
python3-pkg-resources
to dependencies - Fedora installer: add
python3-setuptools
to dependencies - SUSE installer: add
python3-setuptools
to dependencies install-pip
: addsetuptools
distro/base/install.sh
: cleanup all*.pkg.*
files
StarCalendar 3.2.0
Changes since StarCalendar 3.1.13
New icon/logo
- SVG (scalable), made with Inkscape
Major changes in Main Window and Customize window
-
Add "Right Panel" to see user events and plugins' text
- In Persian, it's located on the left, so it's translated to "Left Panel"
- You can still disable Right Panel, and enable Events and Plugins below the calendar
-
Re-design the layout of "Customize" window
- Use a mix of vertical and horizontal layout for root widgets (first page of "Customize")
- Allows Customize window to be smaller and work in smaller screens
- Avoid automatically resizing Customize window
- Improves the UX, and allows better use of space
- Pagination similar to familiar UX of tablets and smart phones
-
Allow freely resizing main window
- In previous versions user could not resize the window vertically
- User had to change the height of Month/Week/Day Calendars in Customize window
- Month/Week/Day Calendars are expanded when window is resized
- Height option is no longer needed and removed from Month/Week/Day Calendars
- In previous versions user could not resize the window vertically
-
Rewrite Events view widget (below calendar and in Right Panel), with some new features
- It was a GtkHBox with many children, not it's only one GtkTreeView
- Allow customizing separator between summary and decription of event
- Add "Copy Event Text" item to right-click menu
Re-design Preferences window and Customize window
- Split everything into multiple pages (using Gtk.Stack)
- Makes the UX much better
- Organizes the options better
- Makes the window smaller, and compatible with smaller screens
- Becomes more similar to touchscreen operating systems
- Can switch to parent page by pressing Backspace (equal to "Back" button)
Add Day Calendar Window, aka "Desktop Widget"
- To use as a desktop widget, and alternative for status icon
- Plus the Customize window for it
- Add option to Preferences:
General -> [ ] Open desktop widget on start
More features and options for Day Calendar as part of Main Window
- Most of the code is shared with Desktop Widget
- Options of Customize window are mostly the same, but values are independent
- i.e. changing options of one does not effect the other
- New features (both in main window desktop widget)
- Allow enabling week day name
- With "Abbreviate" and "Uppercase" checkbox options
- Show buttons to go to previous day, today and next day
- Allow enabling week day name
Time Line: Features, improvements and refactoring
- Add Preferences for Time Line
- Add 3 buttons (left, right, stop) for controlling movement in time
- Fix/improve animation
- Minor features / improvements:
- Show helper line on button-press when moving/resizing event box
- Add a zoom icon that opens to menu to jump to specific round zoom levels
Window Controller: switch to svg, and add more options
- Allow customizing the size of icons (since svg is scalable)
- Allow customizing border (around buttons) and spacing (between buttons)
- Add a button to show/hide Right Panel
Replace most of .png
icons with scalabale .svg
icons
- Add
.svg
icons for some menu items and button without icon - Add support for svg images in some parts of program that lacked support
Minor features and improvements
- Month Calendar: allow disabling day numbers of non-primary cal types
- Event Manager -> Import Events -> Switch to Stack (like Customize)
- Rename sub-menu "Add to" to "Add Event to" in day right-click menu
- Some optimization in Week Calendar
- Preferences -> Appearance -> Status Icon -> click on image selector button
- Add preview in File Chooser dialog
- Replace "Font Family" chooser widget
- It was a ComboBox, not it opens a dialog that allows search on type and shows preview
- Used in Week Calendar customize options, and Status Icon preferences
- WeekCal: add Customize option to enable "Row Gradient" (as replacement for grid lines)
Switch away from Gtk's deprecated APIs and fix deprecation warnings
- Widget constructor calls with non-keyword arguments
- Gtk stock items (switch to icon names)
height-request
andwidth-request
propertiesGtk.HButtonBox
Gtk.FontButton.get_font_name
Gdk.Window.get_pointer
Gdk.Window.cairo_create
Gtk.Label.set_alignment
Gtk.Dialog(buttons=...)
Gtk.FileChooserButton.new_with_dialog
ResourceWarning: unclosed file ...
onopen(...).read()
andopen(...).write(...)
Changes in package dependencies:
- Drop support for
python3.5
topython3.7
- Now only support
python3.8
or later
- Now only support
- Depend on
python3-gi >= 3.24
- Because Gtk.FontChooser.set_level is added in version 3.24
- Optional dependency to
gtksource-4
/gtksourceview4
- Optional dependency to
ntpdate
- Optional dependency to
python3-pygit2
Improvements in install scripts:
-
Move all scripts to distro directory
- Create symbolic links (to
install-*
) to keep compatibility
- Create symbolic links (to
-
Add
install-auto.sh
which automatically detects distribution -
Debian:
- Add
postrm
script- to completely clean up
/usr/share/starcal3
after package removal
- to completely clean up
- Use
apt
instead ofgdebi
to install the package- Fallback to
dpkg -i
ifapt
was not found - If
dpkg -i
failed, runapt-get -f install
to fix broken dependencies
- Fallback to
- Add
-
Add installers for FreeBSD, MidnightBSD, Alma Linux
-
Update install-windows.bat
Switch from %
-formatting to f-strings (added in python3.6
)
- Use
str.format
for localized strings
Switch to Python's logging
completely (no more print
)
Add types and comments
Refactoring, cleaning, removing some legacy code and PEP-8 fixes
Add compatibilty with official Islamic calendar 1423 - 1426
StarCalendar 3.1.13
Changes since StarCalendar 3.1.12
Updates in plugins and localization
- b3522a9 Update plugins according to Iranian calendar 1401
- 00d1ece Fix Ramadan 1432
- 2008f30 Update Hijri months, with tests
- c7e32fe Update
plugins/iran-gregorian-2-data.txt
- d86177e Fix typo in
plugins/iran-hijri-data.txt
- fe37590 Plugins: remove duplicates and extra space
- c92fe13 Plugins: remove some comments
- f4df32a Pray Times: Location Dialog: allow 6 digits precision for lat/lng
- d8d6359 Fix typo in
locale.d/fa.po
Bug fixes and improvements
- d3705f2 Export to HTML: change event seperator
- ce906e3 Adjust System Time: prevent exception when window icon is not found in theme
- ec1c8f6 set
isMaximized = False
when start resizing main window after maximized - ca2a5c4 Add support for Slackware in timezone library
- or any other distro where
/etc/localtime
is not symlink
- or any other distro where
Improvements in install scripts
- fcc1e52 update
install-pip
- 2e951e3
install-pip
: try to install pip with ensurepip - a8c88f5
install-pip
: make compatible with freebsd - 306e84f
install-archlinux
: install fakeroot and binutils if needed - 8dea7df
install
: add--system
flag for other distros like Slackware - 264b12e fix
install --portable
- 085b241
install
: removeuninstall
script if building distro package - 15ae9b1
install-debian
: useapt-get install --reinstall
- 11c7757 fix detecting openSUSE in
install
script - ab1c288 add
install-nix-deps
andinstall-nutyx
- c36928b Fix shebang of bash scripts for other unix-like operating systems
Improvements and refactoring in version handling
- d2cd486
scal3/core.py
: fix git-based version to be standard PEP 440 - e322274 Replace
scal3/get_version.py
withscripts/version
in distro installers - 99c4279 Add
scripts/version.py
and use it as fallback ininstall
script - 26c529b Fix/rewrite
scripts/version.py
to handle git versions - eb3fad9 Make
scripts/version.py
compatible with Python 3.5
StarCalendar 3.1.12
Changes since StarCalendar 3.1.11
-
Add support for Python 3.10
-
Fix critical bug in Monthly Event
-
Fix bug of sorting events in a group by first occurrence
-
Fix VCS event groups:
- Fix non-working
scal3/vcs_modules/git.py
, switch topygit2
- Add
pygit2
as optional dependency - Add
vcsBranch
property and some more fixes
- Fix non-working
-
Fix bug of duplicating periodic events
-
Fix non-working feature: University Term -> Weekly Schedule -> Export to SVG
-
Changes in installer scripts:
- Add pycairo (
python3-cairo
) to Debian and pip dependencies install-debian
: change python dependency topython3(>=3.5)
, fix #67- More improvement in
install-debian
- Add pycairo (
-
Improvements in some GUI dialogs
-
Update README.md
-
Forward-compatibility (with
next
branch):- Add
lifetime
as alias tolifeTime
event group (renamed innext
branch) - Add
pixmaps/event/green_clover.png
file
- Add
StarCalendar 3.1.11
Changes since StarCalendar 3.1.10
- Fix compatibility with FreeBSD
- Fix error message in
install-fedora
andinstall-suse
- Minor improvement in Search Events
- Add "Search Events" icon to Main Window toolbar
- Update Hijri months based on Iranian official calendar for 1400
- Update Iran's plugins based on Iranian official calendar for 1400
- Minor improvements in Persian translations
- Update Indian national month names
- Add Persian translation for Indian month names
StarCalendar 3.1.10
Changes since StarCalendar 3.1.9
- Fix
install-pip
: installpython-igraph
, notigraph
- Fix incompatibility with Python 3.5 because of f-string in
event_lib.py
, #60 - Fix non-effective cache for events
- Caused by commit 295190a, introduced in version 3.1.0
- Avoid printing timezone name with
--version
install-fedora
: add python 3.8, and fix shebang error onlibs/bson/setup.py
install-suse
: add python 3.8, and fix error
StarCalendar 3.1.9
Changes since StarCalendar 3.1.8
-
Fix incompatibility with latest packages in some Linux distros
- Rename 2button-press to double-button-press, and prevent exception when create or emit signal
- Fix exception in Debian testing with gtk 3.24.14 and gi 3.34.0
- Always pass -1 arg to layout.set_markup and set_text
- Fixes exception in Fedora 29
- Rename 2button-press to double-button-press, and prevent exception when create or emit signal
-
Fix running
git fetch
commands with root in install scripts (when run script with sudo)- Also give
-f
flag togit fetch
- Also give
-
install-debian
: Add support for python3.8 -
install-pip
: make executable
StarCalendar 3.1.8
Changes since StarCalendar 3.1.7
-
Update Hijri/Islamic calendar months and Iran's plugins based on Iranian official calendar for 1399
- Also add some additional events to non-official plugins
-
Pray Times Config: fix major bug of window destroyed on Escape / Close window
-
Fix minor bug in Main Window: quit function was called twice
-
Compatibility with next branch
- Handle event icon
*.svg
- Enable 3 deleted main win items based on config from next branch
- Handle event icon
-
Improve install scripts:
- fetch tags before getting version in distro installers
- remove --tags arg from
git describe
to avoid using lightweight tags now that all release tags are annotated
-
Fixes and improvements in Event Manager
LifeTimeEvent
: fix default end date- Event Manager: keep
TreeIter
of event that is going to be pasted, since path may change before paste event_lib.py
:WeeklyEvent
: addsetJd
to fix default start and end on Add Event (Event Editor Dialog)
-
Cleanups:
.gitignore
: add screenshotsinstall-debian
: remove FIXME- remove 'branch' file
README.md
: Home Page: changehttp
tohttps