This is a set of configuration files that I use for my X desktop, an Ubuntu 16.04 machine. The cast of characters includes:
- i3 tiling window manager (the i3-gaps fork)
- i3-blocks for status
- font-awesome for icons
- compton for composing windows
- variety for backgrounds
- gnome-terminal for a terminal emulator
- gruvbox color scheme for Vim (also available for i3)
- spotify, dropbox, and evernote of course
- workrave to stand up every once in a while
- hack and Ohsnap fonts for terminal and status, respectively
- vundle plugins: airline, nerdtree, jedi-vim
- davmail for LDAP and caldav translation.
- vimium for chrome
- neomutt for mail, thanks to the great folks there for keeping the flame alive
- calcurse with caldav, see below
I've yet to see a good writeup of how to do this, so here's the method I used to get autocompletion working in Mutt.
First run davmail and configure it with the LDAP box checked (I start it in my .local/i3/config).
Use the version of ldap.pl in this repo to set the 'query_command' option in mutt. This will enable the completion of addresses after you type a name and hit . See the config files in mutt/ and scripts/ for details.
One of the major drawbacks of calcurse is that it doesn't understand timezones. Stupidly, this caused me to miss a meeting once. Follow this process to use calcurse for at least a daily view of your calendar items.
- Install and initialize caldav according to the instructions.
- In the file ~/.calcurse/caldav/config, add the following configuration option with a path to the ccursefix.sh file from the scripts/ directory here.
Binary = /home/username/bin/ccursefix.sh
- The above script will pre-process calendar files during a run of calcurse-caldav and set the meeting times to the local timezone. Make sure you have ccursefix.sh as well as fixtz.pl from this repo.
Now make sure davmail is running. I run it from i3 startup as follows:
exec --no-startup-id davmail /home/namato/.config/davmail/davmail.properties
In the properties window of davmail, ensure that LDAP and Calendar are running.
Now you can run:
calcurse-caldav --init=keep-remote
to provide a view of your calendar appointments from Office 365. I do this in the morning once when I login. This solution has a few gaps, like if you accept an appointment in the same day you might not see it. There is a way you can add appointments directly to calcurse from mutt, see here.
There's a handy script here:
switcheroo.sh
that is run from <mod+shift> + s in i3 which toggles the screen between dual, extend, and one or the other. This is useful when bringing your laptop to meeting rooms and replugging/unplugging at your desk.