diff options
author | Marvin Borner | 2019-06-12 14:48:03 +0200 |
---|---|---|
committer | Marvin Borner | 2019-06-12 14:48:03 +0200 |
commit | 90279987e68c54b499c442f743c2f1d98ae44211 (patch) | |
tree | f7bda8fe31d495da936d2090f229622a2c3880f3 | |
parent | d9aebf9fcef4fd04f4db8903f620a322fd189994 (diff) |
Added up and down cycling support
-rw-r--r-- | example.ini | 8 | ||||
-rw-r--r-- | freedowm.py | 9 |
2 files changed, 11 insertions, 6 deletions
diff --git a/example.ini b/example.ini index 9164398..80441fc 100644 --- a/example.ini +++ b/example.ini @@ -13,8 +13,9 @@ BORDER = 1 ; Mod key - super / alt MOD = super -; Cycle between windows - 23: Tab -CYCLE = 23 +; Cycle windows (up and down) +CYCLEUP = k +CYCLEDOWN = j ; Toggle tiling state TILE = t @@ -65,4 +66,5 @@ MENU = dmenu_run ACTIVE_BORDER = #fff ; Inactive border color -INACTIVE_BORDER = #595959
\ No newline at end of file +INACTIVE_BORDER = #595959 + diff --git a/freedowm.py b/freedowm.py index b49f7d1..e89dc1e 100644 --- a/freedowm.py +++ b/freedowm.py @@ -38,6 +38,7 @@ class FreedoWM(object): self.program_stack = [] self.program_stack_index = self.bar = -1 self.current_tag = 1 + self.previous_tag = 1 self.monitors = [] self.monitor_id = self.zero_coordinate = self.x_center = self.y_center = 0 self.monitor_count = 1 @@ -337,13 +338,15 @@ class FreedoWM(object): elif (self.event.type == X.KeyPress or self.event.type == X.KeyRelease) and self.event.detail == 50: self.shift_mask = not self.shift_mask - # Cycle between windows (MOD + Tab) // X11's "tab" keysym is 0, but it's 23 - elif self.event.type == X.KeyPress and self.event.detail == int(self.keys["CYCLE"]) \ + # Cycle between windows (MOD + J/K) + elif (self.is_key(self.keys["CYCLEUP"]) or self.is_key(self.keys["CYCLEDOWN"])) \ and len(self.program_stack) > 0: if self.program_stack_index + 1 >= len(self.program_stack): self.program_stack_index = 0 - else: + elif self.is_key(self.keys["CYCLEUP"]): self.program_stack_index += 1 + else: + self.program_stack_index -= 1 self.current_tag = self.program_stack[self.program_stack_index]["tag"] self.update_tags() active_window = self.program_stack[self.program_stack_index]["window"] |