GTG’s integration with GNOME Shell
GTG’s integration with GNOME Shell
by Baptiste Saleil
GTG is simply the better soft to manage personnal tasks with all features a user needs. Also, I use the so friendly Gnome-Shell since the begining of his young age. So, my idea is to work on GTG software, to create the better link as possible between GTG in one side and Gnome-Shell in the other one, to improve usage and rapidity. By this way, the user could manage his tasks (Create, edit,…) directly from the shell with a friendly and unified interface.
Project page | Full proposal - pdf | Extension repository | Plugin repository | Blog
Contact Information
Email: baptiste.saleil@gmail.com
Website : http://bsaleil.org/
Github profile : https://github.com/bsaleil
Mentor : http://www.lucainvernizzi.net/ (Luca Invernizzi)
Extension for GNOME Shell
Installation
This extension is available on GNOME Shell extensions website with the name “GTG Integration”. To install it, you can simply go to the website, search for the extension, change the switch button to “ON”, and accept download. It is now installed. This extension bring many features described in next section.
Usage
Search in overview
This feature is simple to use. Open the overview by pressing “super” key
or move your mouse on top left corner or click on “Activities” button,
type some letters to search in your tasks, and the extension will
displays results. The task editor will be open if you click on a task.
Calendar menu
The second feature bring with the extension is the calendar menu which
can be open by clicking on the date in the topbar. For now, the GTG
calendar menu will replace the existing, synchornization of both is
planned for the future. This menu can be split in two others, tasks menu
and todo list.
Tasks menu
This menu shows GTG’s tasks to do for selected day in calendar menu, on the left. You can see two different colors for your tasks. The first one (Grey) displays tasks which has start date identic to the day selected and the second one (Dark grey) displays only tasks with a start date before the day selected and/or a due date after the day selected.
Todo list
On the right side of the calendar menu is the todo list. This menu displays only tasks without start date AND without due date. By this way, every tasks are listed to user.
Preferences
Plugin for GTG
Installation
This plugin add possibility to be notified about your tasks on GTG.
* Download archive, or clone repo
* Copy content on GTG plugins folder
* Active it on GTG
Usage
Open time picker
If you open task editor for a task, you’ll se a new button
(“Notification”) When you click it, the time picker is opened.
Select time/date
Here you can chose a date/time to be notified for this task. Now you
just have to confirm and an job will be remotly created with at command.
Notification
When job is executed, a python script (notifify.py) will be lauch and
notification will appear with “Edit” and “Done” button. For now, if GTG
is closed when you click on one of the two buttons, nothing will happen
so, GTG must stay open. If you click on “Edit” button, the task editor
will be open for this task. If you click on “Done” button, the task will
be mark as done on GTG.
Reports
Reports are written directly by mail to my mentor every week. More information about features on repos or blog.
Week | Done |
---|---|
#1 |
- Set up new architecture (modules) for extension - Search provider for the overview working |
#2 |
- Add new tasks list menu with basics features : List tasks, Open gtg button, Today and tomorrow keywords, Clickable tasks - Css system theme - Hide the old menu |
#3 |
- Add Todo list - Fix CPU bug - Fix disable bug - List all of the tasks for day selected - User experience stuffs - Unit tests |
#4 |
- Set up translation system - Import infos from Gnome-Shell ‘.po’ files. - Split long name tasks - Clean up |
#5 |
- Set up preferences system with ‘prefs.js’ - ‘Theme’ and ‘Hide menu’ preferences working - Scrollbar on todo menu - Tought about fuzzy keywords |
#6 |
- Scrollbar on tasks list menu - ‘Long task’ and ‘number of days’ preferences working - Align widgets and replace checkbox with switch button - Some calendar menu UI improvement - Cleanup |
#7 | - Continue to work on calendar menu to fix known bugs, cleanup,... |
#8 |
- Prepare GUADEC - Write documentation - Try new algorithms to improve performance - Thinking about the notification system |
#9 |
- GUADEC week - Training with python, gtk, at command,... - Implement basics of notification system. |
#10 |
- First prototype : - Possibility to select time/date for a task and record it into the task - New script to launch notification with given infos and two buttons |
#11 |
- Notification system is now working with : - Possibility to chose a date/time for a task - Notification infos are correctly recorded in the task - A job is created with a script which launch at command - This job launch notify script to display notification - "Edit" and "Done" button are working |
#12 |
Last week! - Fix known bugs - Add features (remove notification, disable UI when notification displayed,...) - Write documentation on repos and wiki page - Crying because the GSoC is over |
Blogged reports
And after GSoC ?
After this summer, I’ll continue to work on the extension and the plugin. There are known bugs, and requested features. So, this is only the beginning of my work. Moreover, I have some ideas for GTG and I’ll continue to work on it in the future.