- 1. Do I have to use OcLaunch with a terminal?
- 2. How are version named? What are the conventions?
- 3. How is the download-area organised?
- 4. What's the difference with CRON?
- 5. What's the difference with a simple add in .bashrc?
- 6. It seems to be two websites, one at oclaunch.tuxfamily.org and another at oclaunch.eu.org. What's the difference?
- 7. Why did you start writing this program?
No. Even if most of examples are based on this use case, you can use it with almost anything, you just need to call the program. For example, a git hook or a shortcut may be a good way to use it.
It is inspired by semver.org.
Currently, for 0.x version, things are named this way:
|Prefix||Early versions mark||Changes here introduce main backward compatibility||New features added here, should be compatible||Optionally, a suffix to show preversion, release candidate and so on.|
Source code and binary archives, internal and git tags are named this way.
This table may be adapted with new v1.x branch.
The download area is intended to store sources, binary and other project related material such as logo, GPG key, 0install feed…
Folder are organised as follow:
0install: 0install prebuilt binaries, upto version 0.3.
internal: For internal usage.
multi: Multimedia content, especially video.
sources: source archive, before version 0.3.
static: Static content, to be used elsewhere. For instance, font or animated gif.
third-part: Third part content, for internal use.
v03: Groups sources and prebuilt archives in several format. Files are named following this pattern.
- Other files are general, project-wide contents.
After version 0.3, sources and binary files are named as follow:
|Prefix||Versions||Architecture (for prebuilt binary only)||Type suffix (_src for sources, _bin for binary)||Extension|
_strippedsignals that the size of the binary was reduced using strip. It's much smaller but you cannot load extension. This is not yet a problem since extension are not implemented.
- You may find signature and checksum in the corresponding file, ending with
CRON is a well known tools for automation. It has 3 main differences with oclaunch.
- Easiness: OcLaunch aims to be much more easy to use since you have commands to add entries, colorization, progression and an friendly community.
- Planning: with OcLaunch you call the program, you choose when to launch next entry. With CRON, you need to choose a date where it would be the best moment to launch a given command. You must predict and know what the user would do. With OcLaunch, the user has the control, he knows when to launch what. Consider the example of a backup during the lunch break. What's the best: consider that the user would go to eat at a given hour or let him say to OcLaunch when he actually goes to eat?
- In user space: OcLaunch launch commands in the user space, for example in your terminal or desktop. CRON work almost under the hood, with it's own environment. A different environment can be a problem with command you test in your session, but which work awfully in CRON. Consider the number of problem caused by this fact.
A simple add of the command you want to launch in the bashrc may looks easier but in fact, it launch alway the same things, during all the session.
With OcLaunch, it launch each item and then stop, when all is done. It can finish its work.
The website at oclaunch.eu.org is the newest, with the latest news and the freshest documentation.
The website at oclaunch.tuxfamily.org is the oldest, kept to avoid dead links from other websites.
They are both hosted by tuxfamily. See the blog post about the migration.
I was trying to display a list of task (with Taskwarrior) each time my terminal was opened.
First, I add the command to my bashrc (zshrc actually). But it was inconvenient to display a long list of things every time you open a terminal. And I wanted to use different command, to filter task.
I first create a small bash script, directly in my bashrc. And someday, I rewrote it in OCaml. I started adding functionalities and the project truly started.
# Automatic launching of certain programs if ! [ -f /tmp/zsh-archey ] # Working file then touch "/tmp/zsh-archey" fi # profanity if [ -f /tmp/zsh-archey ] then grep profanity /tmp/zsh-archey >> /dev/null if [ $? -eq 1 ] # If we can't find, we launch and write in the file. then echo "profanity" >> /tmp/zsh-archey profanity fi fi # Diplay tasks grep "Taskwarrior" /tmp/zsh-archey >> /dev/null if [ $? -eq 1 ] # Si on ne trouve pas, on lance le programme et on écrit dans le fichier then task rc.xterm.title=no 366 echo "Taskwarrior" >> /tmp/zsh-archey fi # A small reminder from time to time if [ $RANDOM -le 5003 ] then task rc.xterm.title=no 366 fi
Almost everything has been rewritten, improved, but the idea of using a file in /tmp directory is a common denominator between the very first attempts and the current implementation.