• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 07:54
CET 13:54
KST 21:54
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
SC2 All-Star Invitational: Tournament Preview3RSL Revival - 2025 Season Finals Preview8RSL Season 3 - Playoffs Preview0RSL Season 3 - RO16 Groups C & D Preview0RSL Season 3 - RO16 Groups A & B Preview2
Community News
BSL Season 2025 - Full Overview and Conclusion3Weekly Cups (Jan 5-11): Clem wins big offline, Trigger upsets4$21,000 Rongyi Cup Season 3 announced (Jan 22-Feb 7)15Weekly Cups (Dec 29-Jan 4): Protoss rolls, 2v2 returns7[BSL21] Non-Korean Championship - Starts Jan 104
StarCraft 2
General
SC2 All-Star Invitational: Tournament Preview Stellar Fest "01" Jersey Charity Auction Weekly Cups (Jan 5-11): Clem wins big offline, Trigger upsets When will we find out if there are more tournament SC2 Spotted on the EWC 2026 list?
Tourneys
SC2 All-Star Invitational: Jan 17-18 OSC Season 13 World Championship SC2 AI Tournament 2026 Sparkling Tuna Cup - Weekly Open Tournament $21,000 Rongyi Cup Season 3 announced (Jan 22-Feb 7)
Strategy
Simple Questions Simple Answers
Custom Maps
Map Editor closed ?
External Content
Mutation # 508 Violent Night Mutation # 507 Well Trained Mutation # 506 Warp Zone Mutation # 505 Rise From Ashes
Brood War
General
BSL Season 2025 - Full Overview and Conclusion [ASL21] Potential Map Candidates BGH Auto Balance -> http://bghmmr.eu/ BW General Discussion StarCraft & BroodWar Campaign Speedrun Quest
Tourneys
[BSL21] Non-Korean Championship - Starts Jan 10 Small VOD Thread 2.0 Azhi's Colosseum - Season 2 [Megathread] Daily Proleagues
Strategy
Soma's 9 hatch build from ASL Game 2 Simple Questions, Simple Answers Game Theory for Starcraft Current Meta
Other Games
General Games
Stormgate/Frost Giant Megathread Beyond All Reason Awesome Games Done Quick 2026! Nintendo Switch Thread Mechabellum
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Vanilla Mini Mafia Mafia Game Mode Feedback/Ideas
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread Canadian Politics Mega-thread European Politico-economics QA Mega-thread Things Aren’t Peaceful in Palestine
Fan Clubs
Media & Entertainment
Anime Discussion Thread [Manga] One Piece
Sports
2024 - 2026 Football Thread
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List
Blogs
My 2025 Magic: The Gathering…
DARKING
Physical Exercise (HIIT) Bef…
TrAiDoS
Life Update and thoughts.
FuDDx
How do archons sleep?
8882
James Bond movies ranking - pa…
Topin
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1324 users

linux friendly calendar application

Blogs > workshed
Post a Reply
Normal
workshed
Profile Blog Joined August 2007
United States81 Posts
Last Edited: 2009-04-11 05:41:04
June 12 2008 00:04 GMT
#1
When I made the switch from XP to linux one of the few things I missed was R1CH's great LiquidNotify. Unfortunately it's a windows only app, so I decided to try and write a similar program that will run on linux (and pretty much any other platform). so here it is...it's called TLCal because I'm terrible at coming up with names. It is not affiliated with TeamLiquid.net in any way. Here's a tarball
tlcal119.tar.gz
and a zip for you windows users
tlcal119.zip
These packages have identical content. It's written in python using Qt4, so you'll need both python and pyqt4 installed on your system. I'll give some quick install tips here, but please read through the README.
Edit: Updated to version 1.19

TLCal is now hosted on launchpad...the project page can be found here https://launchpad.net/tlcal

Here's a screenshot:
[image loading]

and the new options menus:
[image loading]

and the new individual match selector screen:
[image loading]


Windows:
Remember R1CH's Liquid Notify is probably more stable than this program, so it might be your best choice. If you want to try tlcal though, here you go.

This has only been tested under XP, but will probably work in vista too. Step 1 is to install python...which can be found here:

http://www.python.org/download/

you probably want the windows installer binary version. Note that this program is written for Python 2.x, adapting it to Python 3 in the near future is very unlikely. Once you have python you can then install PyQt4, which can be found here:

http://www.riverbankcomputing.co.uk/software/pyqt/download

You will want to install the windows binary package, which will install Qt for you at the same time. This is about a 20 MB download, you have been warned.

Once these are installed simply unzip the archive anywhere and run the tlcal.pyw file.

Linux:

If you use Kubuntu 7.04 or newer you have everything you need. Hooray. If you don't you probably need to install the pyqt4 bindings, just search you favorite package manager for pyqt4. I think the package is called python-qt4 in ubuntu. OpenSUSE and Fedora also have the bindings available in their repositories. Check the README for info about enabling playing sounds in linux.
Once that's done, just unpack the tarball somewhere, ie

tar -xvf tlcal.tar.gz

and run the tlcal.pyw script

python tlcal.pyw
or just ./tlcal.pyw

There is also an install script for linux users...check the README for details.


Questions, comments, and polite criticisms are welcome. Also let me know if you run into any bugs. I have this running on my system all the time and find it useful, so if you miss Liquid Notify give it a try.

Thanks go to PoP for some help with the TL calendar, and especially R1CH for some advice and encouragement (and for writing LiquidNotify)

Cheers,
Workshed

*****
ShaLLoW[baY]
Profile Blog Joined January 2007
Canada12499 Posts
June 12 2008 01:11 GMT
#2
I don't have Linux and thus probably won't use your application, but a massive thanks to you for contributing to the community
ALEXISONFIRE ARE FUCKING BACK (sAviOr for life)
workshed
Profile Blog Joined August 2007
United States81 Posts
Last Edited: 2008-06-23 06:08:03
June 22 2008 03:00 GMT
#3
Oops...I wasn't careful enough in checking if the calendar had been changed. The last minute time change for the STX vs SKT T1 match wasn't noticed. This bug has been fixed, I'll upload the fix and update the OP tomorrow. A stupid mistake by me, especially considering it's something R1CH warned me to be careful about long ago. Doh!
Edit: OP is now updated with version 1.01
Edit #2: Oops, only fixed half or the problem, fixed in 1.02
workshed
Profile Blog Joined August 2007
United States81 Posts
Last Edited: 2008-07-13 22:18:32
July 12 2008 03:14 GMT
#4
Hmm...seems raw URLs in the calendar should be clickable...ie. Pony Express Audio event on the 12th. Wouldn't a UBB url tag be a better idea? Oh well...works now. Bring on the gopher:// links! I'll update the OP with the new version this weekend when I get around to it. (the vast TLCal user base breathes a collective sigh of relief )
Edit: Done - OP updated with version 1.03.

ps. GO JULY!!!!!
Edit: W00T!!!!!
haduken
Profile Blog Joined April 2003
Australia8267 Posts
July 12 2008 04:23 GMT
#5
Nice. +1
Rillanon.au
workshed
Profile Blog Joined August 2007
United States81 Posts
July 21 2008 08:54 GMT
#6
Another oops...my attempt to make naked URLs clickable tends to remove some whitespace. I just noticed. I've fixed that, and the fix will be included in the next update. Don't expect it for a few days though.
workshed
Profile Blog Joined August 2007
United States81 Posts
July 25 2008 03:00 GMT
#7
Updated to version 1.04. Made a bunch of changes. Most noticeably the dates on the calendar are colored, like the tl.net calendar, and there is an option for having two separate alerts before a match. Also fixed the bug that crept in with 1.03, and made a bunch of changes under the hood to make the program a bit more robust. This new version will reset the options menu when first run, so you'll have to set that up again. Stay tuned for more features in 1.05.
workshed
Profile Blog Joined August 2007
United States81 Posts
July 30 2008 03:34 GMT
#8
Updated to 1.05. Now alerts can be filtered by match type, and it's possible to choose a system beep, pop-up message, and/or playing a sound for each alert. A few little bugs have been fixed as well. Check out the OP for a pic of the new options menu. Right now Linux users need to have the Network Audio System installed to hear sound files (.au and .wav for Linux). Check the README for details. .wav files should work fine out of the box for windows users....aiff, .wav, and .au are allowed for Macs, but I think Macs can play many other formats. Without a Mac to test it on I won't hazard a guess.
I'm running rather low on ideas for new features to add and for now any new updates will probably be bugfixes...I'm sure a few crept in with the new features.
workshed
Profile Blog Joined August 2007
United States81 Posts
August 06 2008 03:00 GMT
#9
Updated to 1.06 I lied before. New feature added...now it's possible to select matches individually for alerts. Check the OP for a pic. This knocks the last item off the list of things LiquidNotify can do and my proggie can't, at least that I know about. Liquid Notify does things quite differently though. Also fixed a couple little bugs. Enjoy.
workshed
Profile Blog Joined August 2007
United States81 Posts
September 07 2008 04:05 GMT
#10
Updated to 1.07. A bunch of changes, most of which are under the hood. The more obvious ones are as follows. Fixed a rare bug in the UBB parsing algorithm. Added a system tray notification to the alert options. Now there is an uninstall option for linux users to go with the install script...just run tlcal -u to get rid of it. Not much else visible from the user end. I have a few ideas for another update, but they might involve some work, so we'll see...
workshed
Profile Blog Joined August 2007
United States81 Posts
Last Edited: 2008-10-02 01:55:47
September 20 2008 02:23 GMT
#11
Updated to 1.08. Mostly just fixing the way the program displays foreigners. Earlier versions would show them differently depending on whether they were in the TSLD or not. Like in this pic:

[image loading]


In 1.08 it looks like this:

[image loading]


Much better . The broken flag image for Sziky is not my fault btw...TL.net is missing that flag for some reason. I'm guessing there are only flags for countries that have at least one player in the TSLD, but the flag link is still included in the raw calendar file, leading to the broken link. I guess there are no Hungarians in the database (Sweden has the same problem for ToT.Ace). The code for dealing with UBB tags has been optimized a bit and manually refreshing the calendar now also purges the local image cache, which will fix the broken flag icon if TL.net adds more flags.

Workshed

edit: Updated to 1.09. Did some more work on this issue. TL.net vs gg.net show match uses url tags for the player names on the calendar, which I wasn't expecting. Now that is handled properly (I think).

Here's a pic...

[image loading]


Yay I don't have a before pic, but trust me, it was a bit ugly. Go TL.net, btw!
workshed
Profile Blog Joined August 2007
United States81 Posts
October 07 2008 04:10 GMT
#12
Updated to 1.10. Just a minor bug fix. The individual match picker was getting a little confused when two matches on the same day had identical titles. All fixed.
workshed
Profile Blog Joined August 2007
United States81 Posts
October 21 2008 00:53 GMT
#13
Updated to 1.11. More work on the UBB handling, and that module should actually be somewhat readable now. A few other little touch ups under the hood. This will probably be the last update for a while, unless the calendar pulls some crazy shit.

Workshed
workshed
Profile Blog Joined August 2007
United States81 Posts
November 08 2008 02:33 GMT
#14
Updated to 1.12. So much for 1.11 being the last update for a while. The technique for getting the colors right for players outside of the tsld/tlpd has been completely redone, and is much more robust and easy to read (I think). Also refactored some code and there are some small bug fixes, such as cleaning up the line spacing a bit, resetting the date colors when there are no longer matches for that date on the calendar, and sending --verbose error messages to stderr instead of stdout.

Workshed
workshed
Profile Blog Joined August 2007
United States81 Posts
Last Edited: 2009-01-14 03:53:33
December 11 2008 07:24 GMT
#15
Updated to 1.13. I'm hoping there won't be any more updates...but we'll see. The code for getting the player colors right has been rewritten again *sigh*...I think I'm happy with it now. Also added a --prefix option to the install script (check the README for details) and fixed a regression from the last version that made the order of options in the options menu come out a little funny. The README file has also finally been updated to represent the current state of the proggie (It was pretty out of date). Learned "".startswith() and "".endswith() can take a tuple, not just a string! How handy...wish I knew that long ago, not sure why I never noticed before...also ended up adding os.path.join() all over the place...also very useful. Various other little tweaks that had been sitting around were added as well. Enjoy.

Workshed

edit: Updated to 1.14. Seems some ubb tags are case insensitive, and the calendar is using uppercase tags for the the first time I've seen...this should fix that.

2nd edit: Updated to 1.15. Various internal changes...mostly code cleanup. The only user visible change is a slight increase in the default calendar size, to look nicer on the Eee I got for x-mas. Eee 1000 + Ubuntu + KDE ==
workshed
Profile Blog Joined August 2007
United States81 Posts
January 19 2009 04:13 GMT
#16
Updated to 1.16. Introduced a nasty bug in one of the last updates which revealed a couple other potential ones. This should fix all that...apologies for any strange behavior when it came to alerting about matches in 1.15.

Workshed
workshed
Profile Blog Joined August 2007
United States81 Posts
Last Edited: 2009-02-23 02:54:54
February 03 2009 22:36 GMT
#17
Updated to 1.17. Fixed some of the ubb handling code to deal with tsld map links properly and to handle relative URL's in the img tags properly. Any downloading is also spawned off in a separate thread so it doesn't block the rest of the program, which makes life much better if you are having internet troubles. Enjoy.

Workshed

edit: Updated to 1.18. Added some HTML anchors so the calendar starts up on the next upcoming match, instead of just the date of it (I really like this, and don't understand why I never implemented before...it's a simple three line fix). The ubb parsing got some nice (and easy) speedups...runs in almost half the time now. Added a new command line option to disable coloured logging. A few little bug fixes, and some general code cleanup...most of the really crufty stuff is gone now. Nothing major, but enough to make it worth bumping to a new version. Enjoy.
workshed
Profile Blog Joined August 2007
United States81 Posts
April 11 2009 02:48 GMT
#18
Updated to 1.19. Not really many changes here, nothing noticeable, other than a bug that can crop up when first run. The main point of the new version is because I switched from subversion to bazaar, and pushed the whole repository onto launchpad. I've become rather fond of bazaar lately so bye bye svn. I'm not really actively developing the program any more, and figured hosting it on launchpad gets the whole thing out there. If my computer fries itself, or I fry myself, at least now the whole history will be preserved for posterity. Also rapidshare wasn't really appropriate for this sort of thing.

If you have bazaar installed you can run

bzr branch lp:tlcal

to get the code. A zipfile and a tarball are linked to in the OP, as usual. Let me know if I screwed something up, I'm new to launchpad. Otherwise, enjoy.

Workshed
Sirakor
Profile Joined April 2003
Great Britain455 Posts
April 11 2009 04:58 GMT
#19
Thanks for all the effort!
Llamaz
Profile Blog Joined April 2008
Australia90 Posts
April 11 2009 05:33 GMT
#20
Why did you switch to linux? :S
workshed
Profile Blog Joined August 2007
United States81 Posts
April 11 2009 06:22 GMT
#21
On April 11 2009 14:33 Llamaz wrote:
Why did you switch to linux? :S


I used linux back in college for maybe a year and a half, (I was using Redhat back then, around redhat 5ish (long before fedora)...yeah I'm old) and fell in love with the unix command line. It was also a much more comfortable environment for any kind of programming tasks. Alas this was about the time I got into Starcraft (these were the mid to late 90's, back in the vanilla days) and gaming was important. Back then playing starcraft with linux didn't work well (wine was around, but not what it is now). PC games kept me stuck to Windows machines from then on (linux was not the only OS that I gave up on because of Starcraft...Windows 2000 also choked on it).

I moved back to linux again near the end of 2007 because Kubuntu provides a wonderful distribution and I can do almost all the things I used to do in windows (ie starcraft works well in wine, and the Gom/Daum players work fine in virtualbox) and many many things I could never do with windows. Plus KDE3 and 4 kick ass (although I never used KDE back in the day), I love having python/perl/sed/bash there for me at all times, and am a vi fan (for those many years I was using windows I still used gvim as my text editor). This is my 3rd time trying to move to linux in all, and I think this time it will stick for good. Starcraft 2 is obviously gonna make things different tho...I suspect I'm gonna need a windows installation for that. Sigh...
Normal
Please log in or register to reply.
Live Events Refresh
uThermal 2v2 Circuit
12:00
Bonus Cup #1
uThermal512
IndyStarCraft 247
SteadfastSC92
MindelVK27
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
uThermal 512
IndyStarCraft 247
Lowko234
BRAT_OK 102
SteadfastSC 92
MindelVK 27
StarCraft: Brood War
Sea 6077
Rain 3509
EffOrt 869
Horang2 845
BeSt 675
firebathero 273
Rush 273
Last 213
ggaemo 188
Hm[arnc] 167
[ Show more ]
Zeus 158
Killer 147
Mong 141
Pusan 131
Hyun 109
JYJ 95
Aegong 84
Bonyth 79
Barracks 73
Leta 69
Mind 60
Nal_rA 44
Shuttle 43
910 41
yabsab 40
ToSsGirL 37
Free 35
Sexy 27
zelot 26
Yoon 22
GoRush 19
Bale 13
HiyA 13
Sacsri 12
scan(afreeca) 12
SilentControl 11
Terrorterran 10
Icarus 4
Dota 2
Gorgc3563
XcaliburYe243
League of Legends
C9.Mang0374
rGuardiaN39
Counter-Strike
zeus1013
Heroes of the Storm
Khaldor150
Other Games
singsing2025
B2W.Neo1328
Pyrionflax363
crisheroes264
Sick219
oskar107
Fuzer 82
Organizations
Other Games
gamesdonequick2280
StarCraft 2
WardiTV1066
StarCraft: Brood War
UltimateBattle 27
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 14 non-featured ]
StarCraft 2
• StrangeGG 69
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• WagamamaTV72
League of Legends
• Jankos2137
• TFBlade419
Upcoming Events
AI Arena Tournament
7h 7m
BSL 21
7h 7m
Mihu vs eOnzErG
Dewalt vs Sziky
Bonyth vs DuGu
XuanXuan vs eOnzErG
Dewalt vs eOnzErG
All-Star Invitational
13h 22m
MMA vs DongRaeGu
Rogue vs Oliveira
Sparkling Tuna Cup
21h 7m
OSC
23h 7m
BSL 21
1d 7h
Bonyth vs Sziky
Mihu vs QiaoGege
Sziky vs XuanXuan
eOnzErG vs QiaoGege
Mihu vs DuGu
Dewalt vs Bonyth
Replay Cast
1d 20h
Wardi Open
1d 23h
Monday Night Weeklies
2 days
The PondCast
3 days
[ Show More ]
Replay Cast
5 days
Big Brain Bouts
6 days
Serral vs TBD
Liquipedia Results

Completed

Escore Tournament S1: W4
Big Gabe Cup #3
NA Kuram Kup

Ongoing

C-Race Season 1
IPSL Winter 2025-26
BSL 21 Non-Korean Championship
CSL 2025 WINTER (S19)
KCM Race Survival 2026 Season 1
OSC Championship Season 13
SC2 All-Star Inv. 2025
Underdog Cup #3
BLAST Bounty Winter Qual
eXTREMESLAND 2025
SL Budapest Major 2025
ESL Impact League Season 8
BLAST Rivals Fall 2025
IEM Chengdu 2025

Upcoming

Escore Tournament S1: W5
Acropolis #4
IPSL Spring 2026
Bellum Gens Elite Stara Zagora 2026
HSC XXVIII
Rongyi Cup S3
Nations Cup 2026
Stake Ranked Episode 1
BLAST Open Spring 2026
ESL Pro League Season 23
ESL Pro League Season 23
PGL Cluj-Napoca 2026
IEM Kraków 2026
BLAST Bounty Winter 2026
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.