dmedvinsky / gsimplecal Goto Github PK
View Code? Open in Web Editor NEWSimple and lightweight GTK calendar (BSD license)
Home Page: http://dmedvinsky.github.io/gsimplecal
License: Other
Simple and lightweight GTK calendar (BSD license)
Home Page: http://dmedvinsky.github.io/gsimplecal
License: Other
I'm using the app because I needed a lightweight, look-only calendar on my ion3 setup. Using it like a year or so, and it's perfect for my use case. Thank you!
Hi,
I'm using the awesome wm and usually have the fullscreen layout selected. When starting gsimplecal it thus occupies the full screen. As I understand it's possible for an application to tell the wm that it would prefer to be displayed in floating mode?
Could you make this a configuration item?
Thx, Thomas Koch
Is there some switch I'm missing that starts the calendar without it popping up on the screen when my desktop loads?
That would be a great option to have.
Can you make the opportunity to work with the system tray (click - show, click - hide)? Then it would be possible to use with xmonad + xmobar + trayer.
Hello!
Recently I made the change to Sway and one of my favorite and useful tools, yours, seems to not be working properly with the mouse. I believe is because of Wayland (it worked perfectly with i3wm).
Do you have any plans of porting it?
Super thanks and thanks a again for maintaining it!
Have a good day!
Hi,
I have mainwindow_position = mouse
in .config/gsimplecal/config
, but still gsimplecal spawns at the centre of the screen.
Edit: Sorry, forgot to mention that gsimplecal is launched after clicking on the date portion of i3bar (populated using conky).
Here's a screenshot:
It is supposed to launch at the top right corner of the screen as I click on the date, but it opens in the centre instead.
My configuration:
Hello,
What BSD license this software uses?
BSD | BSD license Generic Version (deprecated) | FSF OSI COPYFREE | (default)
BSD2CLAUSE | BSD 2-clause "Simplified" License | FSF OSI COPYFREE | (default)
BSD3CLAUSE | BSD 3-clause "New" or "Revised" License | FSF OSI COPYFREE | (default)
BSD4CLAUSE | BSD 4-clause "Original" or "Old" License | FSF | (default)
Thanks,
Nuno Teixeira
Some people find that useful. And it's easy to implement since GTK calendar supports this.
gsimplecal has been my favorite calendar applet for many years. There is no other one better. Not everybody understands the importance of displaying time in different time zones being integrated in the calendar application.
It would be so great if the timezones could be configured with a GUI, so more people would feel comfortable using it. I once made something in Zenity, but it would be neat if it could just be an integral part of gsimplecal.
Hello,
I use gsimplecal on my tint bar and it is simple, and useful as it should be. So thank you very much for your work and effort. What I miss it is the possibility of marking the holidays along the year. It would it be great if there was an online service to query but I could also live with a file where I put the days and gsimplecal read and marks the days.
Do you think it would be possible?
Thanks
There is SEMVMX
, which is semaphore value max
, which can be less than the PID we get. We should get rid of this hack and use the built-in semctl(..., GETPID, ...)
.
We would need to do some fake semop
, though, for it to work, but I see some logic in this, so it's OK.
I'm having some problem with this calendar.
It works nice with normal tint2, but when I enabled panel_autohide
and few other settings, the calendar is opened over tint2 panel and stays open when tint2 closes.
I understand that this is the correct and probably expected behavior, but it just feels clumsy. I'm also aware of the strut_policy
trick, but I want my tint2 panel to open over the windows.
I propose that there be a close button, or at least some shortcut, so you can dismiss the calendar when no longer needed, without having to open tint2 again. [edit: Now I found you can close it with ESC, but only when the calendar has focus, which it doesn't get after opening]
Or, now thinking of it, a good idea might be to close the calendar by middle-click.
What do you think?
Excerpt from the report by Rick via e-mail:
I'm trying to install gsimplecal-1.2 on pcbsd 9.0 (which essentially is really FreeBSD 9.0).
I ended up with a
Unique.cpp:13: error: redefinition of 'union semun'
error, when I tried to run the
./configure ; make ; make install
Here's some more info: http://forums.pcbsd.org/showthread.php?t=15988
I don't know which parameter to change to put it back under the clock where I want it. Help.
Hi,
LICENSE file is missing from the release tarball, which prevents from checking the license terms of gsimplecal.
Also, there is no headers in the sources showing the copyright holder(s) or the license.
Cheers,
Julien
Currently all the days except the current day are displayed with the same background color.
Could gsimplecal have an option to color the weekend days, both the date square background and the date text foreground, with a different color?
Hello,
I have recently written a gsimplecal ebuild for Gentoo Linux, and use the application in conjunction with my tint2 toolbar. Two configuration options that would be nice would be colours (fonts and background) and font choice. The former would allow users to switch to a dark background and light font colour. The latter would allow users to choose a font that more readily goes with their WM theme.
Thank you for your excellent application. The current configuration options allow me to use it as a "world clock" of sorts by disabling the calendar portion. I appreciate that configurability.
Cheers,
Nathan Zachary
Pretty self explanatory.
Would be great to have this option without messing with system locale.
Having a a different font colour for the weekend would be great too, but it's a separate issue already mentioned.
Gsimplecal doesn't find my configuration file, which is located at ~/.config/gsimplecal/config
. The reason for that is, that $XDG_CONFIG_HOME
isn't defined. I think this behaviour is a bug.
Currently, gsimplecal's behaviour for searching the config file is decribed like this:
To configure the application you should manually create the configuration file.
The file is first searched in $XDG_CONFIG_HOME/gsimplecal/config. Usually that will be ~/.config/gsimplecal/config. If found, it is used.
If not found, system-wide configuration is searched in all the $XDG_CONFIG_DIRS/gsimplecal/config locations.
Problem is, that $XDG_CONFIG_HOME
isn't always set. In fact, you should only need set it if you want to use a different location than $HOME/.config
The specification at freedesktop.org says:
$XDG_CONFIG_HOME defines the base directory relative to which user specific configuration files should be stored. If $XDG_CONFIG_HOME is either not set or empty, a default equal to $HOME/.config should be used.
Please add $HOME/.config/gsimplecal/config
to the search locations. If you want to keep the $XDG_CONFIG_DIRS
part, you could search in this order:
$XDG_CONFIG_HOME/gsimplecal/config
$HOME/.config/gsimplecal/config
$XDG_CONFIG_DIRS/gsimplecal/config
Hi!
Changing my DIY desktop environment and bumped into tint2 + gsimplecal. Only immediate caveat I found was that I could not change the start of week, despite setting force_lang = en_GB.utf8
(also tried force_lang = en_GB.UTF-8
) in ~/.configure/gsimplecal/config
as described in the man page. All other options I've tried have worked as intended.
Installed via apt repo, Debian 9.
Any ideas?
We use /proc/{getpid()}/exe
, which is OK on Linux, but on BSD it is /proc/{getpid()}/file
. Thus, we need to add conditional compilation, I guess. Feels kind of ugly, but it should work.
Hello! It would be useful to have an option for first day of week (or determine it automatically from locale, but I don’t know if that’s possible). In France for example Monday is the start of the week.
With Orage being abandoned, gsimplecal is now the only small, GTK-only calendar app for Debian and derived systems.
Hi,
I'm trying to build gsimplecal 2.4.1 on gentoo musl (with glibc, it compiles fine) but it fails with this error :
MainWindow.cpp:166:33: error: invalid cast from type 'std::nullptr_t' to type 'GtkAccelFlags'
system is x86-64, musl version 1.2.3, gcc 12.2.1
Full build log :
./configure --prefix=/usr --build=x86_64-gentoo-linux-musl --host=x86_64-gentoo-linux-musl --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-dependency-tracking --disable-silent-rules --docdir=/usr/share/doc/gsimplecal-2.4.1 --htmldir=/usr/share/doc/gsimplecal-2.4.1/html --libdir=/usr/lib
checking for a BSD-compatible install... /usr/lib/portage/python3.10/ebuild-helpers/xattr/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking for x86_64-gentoo-linux-musl-g++... x86_64-gentoo-linux-musl-g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C++... yes
checking whether x86_64-gentoo-linux-musl-g++ accepts -g... yes
checking for x86_64-gentoo-linux-musl-g++ option to enable C++11 features... none needed
checking whether make supports the include directive... yes (GNU style)
checking dependency style of x86_64-gentoo-linux-musl-g++... none
checking for x86_64-gentoo-linux-musl-pkg-config... /usr/bin/x86_64-gentoo-linux-musl-pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for GTK... yes
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for iostream... yes
checking for string... yes
checking for sstream... yes
checking for fstream... yes
checking for vector... yes
checking for cstdlib... yes
checking for stdlib.h... (cached) yes
checking for sys/time.h... yes
checking for sys/types.h... (cached) yes
checking for sys/ipc.h... yes
checking for sys/sem.h... yes
checking for sys/sysctl.h... no
checking for signal.h... yes
checking for limits.h... yes
checking for atexit... yes
checking for execl... yes
checking for fork... yes
checking for ftok... yes
checking for getexecname... no
checking for gettimeofday... yes
checking for kill... yes
checking for readlink... yes
checking for semctl... yes
checking for semget... yes
checking for setenv... yes
checking for signal... yes
checking for strlcpy... yes
checking for sysctl... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating src/Makefile
config.status: creating src/config.h
config.status: executing depfiles commands
>>> Source configured.
>>> Compiling source in /var/tmp/portage/x11-misc/gsimplecal-2.4.1/work/gsimplecal-2.4.1 ...
make -j5
Making all in src
make[1]: Entering directory '/var/tmp/portage/x11-misc/gsimplecal-2.4.1/work/gsimplecal-2.4.1/src'
make all-am
make[2]: Entering directory '/var/tmp/portage/x11-misc/gsimplecal-2.4.1/work/gsimplecal-2.4.1/src'
x86_64-gentoo-linux-musl-g++ -DHAVE_CONFIG_H -I. -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/lib/libffi/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/lzo -I/usr/include/libpng16 -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gio-unix-2.0 -I/usr/include/atk-1.0 -pthread -march=core2 -O2 -pipe -c -o Boxable.o Boxable.cpp
x86_64-gentoo-linux-musl-g++ -DHAVE_CONFIG_H -I. -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/lib/libffi/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/lzo -I/usr/include/libpng16 -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gio-unix-2.0 -I/usr/include/atk-1.0 -pthread -march=core2 -O2 -pipe -c -o Calendar.o Calendar.cpp
x86_64-gentoo-linux-musl-g++ -DHAVE_CONFIG_H -I. -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/lib/libffi/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/lzo -I/usr/include/libpng16 -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gio-unix-2.0 -I/usr/include/atk-1.0 -pthread -march=core2 -O2 -pipe -c -o Clock.o Clock.cpp
x86_64-gentoo-linux-musl-g++ -DHAVE_CONFIG_H -I. -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/lib/libffi/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/lzo -I/usr/include/libpng16 -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gio-unix-2.0 -I/usr/include/atk-1.0 -pthread -march=core2 -O2 -pipe -c -o Config.o Config.cpp
x86_64-gentoo-linux-musl-g++ -DHAVE_CONFIG_H -I. -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/lib/libffi/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/lzo -I/usr/include/libpng16 -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gio-unix-2.0 -I/usr/include/atk-1.0 -pthread -march=core2 -O2 -pipe -c -o gsimplecal.o gsimplecal.cpp
x86_64-gentoo-linux-musl-g++ -DHAVE_CONFIG_H -I. -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/lib/libffi/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/lzo -I/usr/include/libpng16 -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gio-unix-2.0 -I/usr/include/atk-1.0 -pthread -march=core2 -O2 -pipe -c -o MainWindow.o MainWindow.cpp
x86_64-gentoo-linux-musl-g++ -DHAVE_CONFIG_H -I. -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/lib/libffi/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/lzo -I/usr/include/libpng16 -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gio-unix-2.0 -I/usr/include/atk-1.0 -pthread -march=core2 -O2 -pipe -c -o Timezones.o Timezones.cpp
x86_64-gentoo-linux-musl-g++ -DHAVE_CONFIG_H -I. -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/lib/libffi/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/lzo -I/usr/include/libpng16 -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gio-unix-2.0 -I/usr/include/atk-1.0 -pthread -march=core2 -O2 -pipe -c -o Unique.o Unique.cpp
MainWindow.cpp: In constructor 'MainWindow::MainWindow()':
MainWindow.cpp:166:33: error: invalid cast from type 'std::nullptr_t' to type 'GtkAccelFlags'
166 | (GtkAccelFlags)NULL, closure);
| ^
make[2]: *** [Makefile:414: MainWindow.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/var/tmp/portage/x11-misc/gsimplecal-2.4.1/work/gsimplecal-2.4.1/src'
make[1]: *** [Makefile:293: all] Error 2
make[1]: Leaving directory '/var/tmp/portage/x11-misc/gsimplecal-2.4.1/work/gsimplecal-2.4.1/src'
make: *** [Makefile:340: all-recursive] Error 1
It would be great to be able to compile gsimplecal with musl for a lightweight calendar on a minimal X system. The only alternative being orage, but it is quite old and deprecated by gentoo.
Thanks!
Hi @dmedvinsky,
Thanks very much for gsimplecal. I frequently use it for its simplicity on Openbox.
What do you think about keyboard support, particularly arrow key navigation through the dates?
Thanks for your opinion!
Robert
Hi, I'm interested in trying out this applet, but I'm on fedora and can't find this package in the dnf package manager.
How can I install it? I imagine that I need to compile it, but there are no indications on how to do it...
Sometimes when starting gsimplecal (via tint2), it opens twice. After that it's impossible to close it by deselecting the window (clicking anywhere else).
Most of the time this got triggered with a single click, but it could also be due to my faulty mouse which occasionally double clicks very fast. To reproduce this, I kept clicking on the area in tint2 which opens gsimplecal and I was able to reproduce it. Once the bug occurs, there are 2 instances of gsimplecal running.
Is this a gsimplecal bug or perhaps something on tint2's end?
Here's a video of the bug:
https://webmshare.com/dQVNV
Gsimplecal should accept the parameter (-v
or something) to show the version.
Thanks Rafael for reporting.
I have write:
mark_today = 1
But today is not marked in frontend.
Here is my envrionement:
[stevenfrog@Arch ~]$ uname -a
Linux Arch 3.11.6-1-ARCH #1 SMP PREEMPT Fri Oct 18 23:22:36 CEST 2013 x86_64 GNU/Linux
[stevenfrog@Arch ~]$ pacman -Ss gsimplecal
community/gsimplecal 2.0-1 [installed]
Simple and lightweight GTK calendar
How to set background color on week number & day header like in your screenshot(it is blue).
Mine is white.
Hello,
I use following time format: clock_format = %H:%M:%S
And I correctly see the time, however it is not changing (it is kind of frozen to the time when I opened the calendar). Is it possible to make it dynamic?
(use case: I use gsimplecal in tint, triggered by click on clock. I sometimes want to use it as stopwatch and I'm missing the seconds :))
By the way, great software
Apparently on FreeBSD procfs is disabled by default, so when this is the case, gsimplecal crashes on ftok
invocation. We should check if reading from procfs gave us an error and do something else instead, for example using $0
so to say. Or maybe replace procfs with it entirely if it proves to be reliable.
12924 0.0 0.0 0 0 tty1 Z 21:46 0:00 [gsimplecal]
12925 0.0 0.0 0 0 tty1 Z 21:46 0:00 [gsimplecal]
12929 0.1 0.0 0 0 tty1 Z 21:46 0:00 [gsimplecal]
12939 0.0 0.0 0 0 tty1 Z 21:47 0:00 [gsimplecal]
12964 0.0 0.0 0 0 tty1 Z 21:47 0:00 [gsimplecal]
12965 0.0 0.0 0 0 tty1 Z 21:47 0:00 [gsimplecal]
13003 0.0 0.0 0 0 tty1 Z 21:48 0:00 [gsimplecal]
13007 0.0 0.0 0 0 tty1 Z 21:48 0:00 [gsimplecal]
Arch Linux i686, gsimplecal 0.6 from AUR
This.
Is there a way to change the font colours and transparency of background?
Gsimplecal crashes when the clocks feature is enabled and the $TZ environment variable is defined.
this is what I am seeing
I am using the following config
show_calendar = 1 show_timezones = 1
mark_today = 1
show_week_numbers = 0
close_on_unfocus = 0
external_viewer = sunbird -showdate "%Y-%m-%d"
clock_format = %a %d %b %H:%M
force_lang = en_US.utf8
mainwindow_decorated = 0
mainwindow_keep_above = 1
mainwindow_sticky = 1
mainwindow_skip_taskbar = 1
clock_label = UTC
clock_tz = :UTC
clock_label = Local
clock_tz =
clock_label = BST
clock_tz = :Europe/London
clock_label = EDT
clock_tz = :US/Eastern
clock_label = CDT clock_tz = :US/Central
I dont see the times
Silly cut-n-paste resulted in double click signal handler being attached only when config->mark_today
evaluates to true.
If I was still back home, it would be nice that the weeks began on Sunday; but I'm not there... I'm here, in the US, where the week begins on Monday. So, would it be too much trouble to make the Start-Day of the Week user-configurable?
when the mouse is at right side of the screen close to the screen's edge the pop up window will be shown cut-off
I am trying to use gsimplecal as a quick and easy way of showing the time in a number of different zones. The simplicity and layout is ideal, but apart from local time (which I don't need as its on my desktop anyway) whatever i put in clock_tz I seem to get UTC
A few examples to help me out would be great
At present I am trying to use BST, EDT and CDT
Hi,
It would be great if gsimplecal would allow the user to launch an external calendar application when clicking on a day (eg. Sunbird or any equivalent application)
Cheers,
Julien
Hello!
Thanks for the delightful application! I have one minor feature request though. Is there any possibility to change the font used in calendar widget, except tweaking gtk.css
(at which I've failed miserably)?
Currently gsimplecal displays the week starting on Sunday.
However, nobody in the world can agree which day the week starts on. Some people think it is Sunday, some people think it is Monday. This is similar to the perpetual "toilet paper facing the wall" and "toilet paper away from the wall" argument. Both Wolf (1999) and Hogan (2000) have cited the toliet paper orientation debate as a cause of struggle between married couples. Some might argue it is even a contributing factor to the growing divorce rate in western society.
Whilst saving marriages is probably outside the scope of function calls in GTK, it would be nice if gsimplecal could optionally display week starting on Monday.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.