diff options
| author | Mike Vink <mike1994vink@gmail.com> | 2021-10-15 18:30:15 +0200 |
|---|---|---|
| committer | Mike Vink <mike1994vink@gmail.com> | 2021-10-15 18:30:15 +0200 |
| commit | 4429dc95e4b91986836a9350a35c378137c52912 (patch) | |
| tree | 2d089c52ab391adfb83531339c167a7b468d868a /normal.py | |
| parent | 8672543a495f70756aeca42177f615da1a91c755 (diff) | |
Diffstat (limited to 'normal.py')
| -rw-r--r-- | normal.py | 37 |
1 files changed, 32 insertions, 5 deletions
@@ -1,8 +1,9 @@ from Xlib import X, XK -from clipboard import copy +from clipboard import copy, paste from constants import TARGET from vim import open_vim +from inkscape import distribute, ids_from_xml import text import styles @@ -63,13 +64,14 @@ def normal_mode(self, event, char): events.clear() pressed.clear() +# TODO: add key for distributing and grouping maybe def handle_single_key(self, ev): if ev == 't': # Vim mode - open_vim(self, compile_latex=False) + open_vim(self, compile_latex=True) elif ev == 'Shift+t': # Vim mode prerendered - open_vim(self, compile_latex=True) + open_vim(self, compile_latex=False) elif ev == 'a': # Add objects mode self.mode = styles.object_mode @@ -91,12 +93,37 @@ def handle_single_key(self, ev): elif ev == 'f': # Bezier self.press('b') + elif ev == 'b': + # Node + self.press('n') elif ev == 'z': # Undo self.press('z', X.ControlMask) elif ev == 'Shift+z': # Delete self.press('Delete') + elif ev == 'd': + # distribute horizontally + self.press('s', X.ControlMask) + self.press('c', X.ControlMask) + clipboard = paste() + distribute(ids_from_xml(clipboard), "hgap") + self.press('r', X.ControlMask) + elif ev == 'Shift+d': + # distribute vertically + self.press('s', X.ControlMask) + self.press('c', X.ControlMask) + clipboard = paste() + distribute(ids_from_xml(clipboard), "vgap") + self.press('r', X.ControlMask) + elif ev == 'v': + self.press('t', X.ControlMask | X.Mod1Mask) + elif ev == 'Shift+v': + self.press('h', X.ControlMask | X.Mod1Mask) + elif ev == 'g': + self.press('g', X.ControlMask) + elif ev == 'Shift+g': + self.press('g', X.ControlMask | X.ShiftMask) elif ev == '`': # Disabled mode self.press('t') @@ -123,7 +150,7 @@ def paste_style(self, combination): 'stroke-opacity': 1 } - if {'s', 'a', 'd', 'g', 'h', 'x', 'e'} & combination: + if {'s', 'a', 'd', 'g', 'r', 'x', 'e'} & combination: style['stroke'] = 'black' style['stroke-width'] = w style['marker-end'] = 'none' @@ -136,7 +163,7 @@ def paste_style(self, combination): w = thick_width style['stroke-width'] = w - if 'h' in combination: + if 'r' in combination: w = very_thick_width style['stroke-width'] = w |
