- 03 Mar, 2016 1 commit
-
-
Jacek Sowiński authored
Previously only priority color was rendered. Now all contexts, projects, links and metadata should show theirs colors.
-
- 21 Feb, 2016 1 commit
-
-
Jacek Sowiński authored
-
- 12 Feb, 2016 6 commits
-
-
Bram Schoenmakers authored
-
-
Bram Schoenmakers authored
Also removed some unreachable branches from the code.
-
Bram Schoenmakers authored
The color functions now return a neutral/default color when empty/garbage colors are entered in the configuration file. This addresses issues #69 and #70.
-
Bram Schoenmakers authored
The -C flag takes 0, 1, 16, 256, auto, yes, true, no, false as possible values. If auto, then colors are enabled unless the output is not connected to a TTY and is likely not to understand ANSI escape codes. 'auto' is the default value. The config().colors() function either returns 0, 16 or 256 for the possible colors that can be displayed. These values are also recognized by the colors option in the configuration file. This fixes issue #111.
-
Bram Schoenmakers authored
This color class abstracts away all the possible representations of a color in various UIs. These are color objects: Color(9) # red Color('red') # red Color(196) # red Color('NEUTRAL') # neutral (resets attributes) Color() # no effect The configuration stores Color objects now, code that requires colors doesn't have to worry about integer representations of colors. One semantic change: when an empty color is passed as a priority color, it will resort to an empty color instead of the neutral color. In practice this should have the same visual effect. Test case test_priority_color4 is adapted for this. This commit is the result after an initial refactoring of the color code (squashed its history into this one). @mruwek also contributed to this refactoring, thanks for the help and the ideas to get to this point.
-
- 11 Feb, 2016 1 commit
-
-
Bram Schoenmakers authored
Introduce keymap for column_mode
-
- 10 Feb, 2016 9 commits
-
-
Jacek Sowiński authored
It's purpose is to show entered keystrokes during entering key-combos. It's positioned at the bottom-right corner (similarly as in vim). Many thanks to @bram85 for the idea. Also fixed one nasty bug resulting in getting stuck in keystate. It occured only when keystate had also corresponding pending action and user typed something other than expected by the keypress(). Now any non-sensical input will result in resetting keystate.
-
Bram Schoenmakers authored
-
Jacek Sowiński authored
-
Jacek Sowiński authored
This way user can type offsets and priorities at ease without rush.
-
Jacek Sowiński authored
From now on user have the choice whether he/she wants the command linked to key output anything or not. Commands prefixed with 'cmdv' will output to terminal, while those prefixed with 'cmd' will remain silent. Example: ======== ```ini [column_keymap] x = cmd do {} ls = cmdv ls ga = cmdv ls -i {} Credits to @bram85 for the idea.
-
Jacek Sowiński authored
Special keys in config should follow similiar syntax to that used in vim: left arrow = `<Left>` right arrow = `<Right>` page down = `<Page down>` home = `<Home>` esc = `<Esc>` F4 = `<F4>` Ctrl+s = `<C-s>` Meta+k = `<M-k>` Examples: ========= ```ini [column_keymap] <Left> = prev_column <Right> = next_column <Esc>k = home <C-s> = tag {} foo 1 <M-s> = tag {} foo ```
-
Jacek Sowiński authored
Action names and default config for them: ```ini [column_keymap] 0 = first_column $ = last_column h = prev_column l = next_column A = append_column I = insert_column E = edit_column D = delete_column Y = copy_column L = swap_left R = swap_right ```
-
Jacek Sowiński authored
-
Jacek Sowiński authored
User can now specify key-shortcuts in main topydo config file under 'column_keymap' section in form of: `<SHORTCUT> = <ACTION>` Two main types of action are supported: - built-in (one of: 'home', 'end', 'up', 'down', 'postpone', 'postpone_s' and 'pri') - topydo commands (aliases included). Prefixed with 'cmd'. Commands to call on selected todo item should contain '{}' placeholder to mark its place in final command call in similiar fashion as in aliases definitions. postpone, postpone_s and pri shortcuts are sort of prefixes for arguments for respective topydo commands triggered on selected todo item: - `postpone<COUNT><PERIOD>` will translate to `cmd postpone {} <COUNT><PERIOD>`. postpone_s will do the same but with '-s' flag added. - `pri<PRIORITY>` will translate to `cmd pri {} <PRIORITY>` Default config as an example: ```ini [column_keymap] gg = home G = end j = down k = up d = cmd del {} e = cmd edit {} u = cmd revert x = cmd do {} pp = postpone ps = postpone_s pr = pri ``` - pp23d will postpone selected item by 23 days - ps1m will postpone selected item (threshold date included) by 1 month - prz will set priority of selected item to (Z)
-
- 09 Feb, 2016 2 commits
-
-
Bram Schoenmakers authored
The Github editor was trying to be helpful.
-
Bram Schoenmakers authored
-
- 08 Feb, 2016 1 commit
-
-
Bram Schoenmakers authored
-
- 07 Feb, 2016 1 commit
-
-
Bram Schoenmakers authored
-
- 02 Feb, 2016 1 commit
-
-
Bram Schoenmakers authored
Conflicts: setup.py test/test_list_format.py
-
- 28 Jan, 2016 1 commit
-
-
Bram Schoenmakers authored
This will reload all columns with respect to due dates, start dates and changing importance values.
-
- 22 Jan, 2016 4 commits
-
-
Bram Schoenmakers authored
Initialize it on startup and use that color map, instead of instantiating it for every todo widget.
-
Bram Schoenmakers authored
There is no need to instantiate the parser for each widget since the expression remains the same. Should save some CPU cycles for each screen update, in my case having over 600 todo widgets activated.
-
Bram Schoenmakers authored
This addresses some slugginess that I encounter in the column UI. For example, when doing an `ls` on the commandline, formerly it would execute: * Perform backups; * Write the todo file (+ archive if applicable); * Refresh all the columns; All in all this takes quite a while. CLIApplicationBase::_post_execute will now reset the dirty flag of the todo list. Then writing stuff and refreshing columns will only occur when the todo list is dirty. Updating columns can still be made smarter. When an action is executed on a specific todo item, only update those columns that contain that item, or are related to it through dependencies.
-
Bram Schoenmakers authored
-
- 14 Jan, 2016 2 commits
-
-
Bram Schoenmakers authored
-
Bram Schoenmakers authored
Applying a filter is a primary thing to do for defining a column, therefore put it on top.
-
- 11 Jan, 2016 2 commits
-
-
Bram Schoenmakers authored
-
Bram Schoenmakers authored
-
- 08 Jan, 2016 7 commits
-
-
Bram Schoenmakers authored
-
Bram Schoenmakers authored
-
Bram Schoenmakers authored
The console widget is slightly smaller than the terminal size, so the column UI should help get_terminal_size a bit to determine the correct size.
-
Bram Schoenmakers authored
Don't concatenate column layout configs
-
-
Bram Schoenmakers authored
-
Jacek Sowiński authored
Use only one layout file. Following precedence is applied: 1. Local (i.e. $PWD/topydo_columns.ini or $PWD/topydo_columns.conf or $PWD/.topydo_columns) 2. User's home (i.e. $HOME/.topydo_columns or $HOME/.config/topydo/columns) 3. System-wide (i.e. /etc/topydo_columns.conf)
-
- 07 Jan, 2016 1 commit
-
-
Bram Schoenmakers authored
Add history to command-line widget
-