i3a 2.2.2__tar.gz → 2.2.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: i3a
3
- Version: 2.2.2
3
+ Version: 2.2.3
4
4
  Summary: Automatic manager for i3 tiling
5
5
  Home-page: https://git.goral.net.pl/i3a.git
6
6
  License: GPL-3.0-or-later
@@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"
4
4
 
5
5
  [tool.poetry]
6
6
  name = "i3a"
7
- version = "2.2.2"
7
+ version = "2.2.3"
8
8
  description = "Automatic manager for i3 tiling"
9
9
  authors = ["Michal Goral <dev@goral.net.pl>"]
10
10
  license = "GPL-3.0-or-later"
@@ -129,9 +129,16 @@ class Autotiler:
129
129
  await self.cmd('[con_id="{}"] resize set {} ppt 0 ppt'.format(curr.id, self.args.stack_size))
130
130
  else:
131
131
  await self.cmd('[con_id="{}"] mark --add {}'.format(stack[-1].id, STACKMARK))
132
- await self.intermove(curr, 'move window to mark {}'.format(STACKMARK))
132
+
133
+ # Coumpound command are A LOT faster than separate ones; running
134
+ # additional focus after "intermove" left a visible visual glitch
135
+ # of "jumping" window when new window was spawned when focus was on
136
+ # a master window. There's still a minor artifact with coumpound command,
137
+ # but it's more bearable now
138
+ move_cmd = 'move window to mark {}'.format(STACKMARK)
133
139
  if curr.workspace() == tree.find_focused().workspace():
134
- await self.cmd('[con_id="{}"] focus'.format(curr.id))
140
+ move_cmd += ", focus"
141
+ await self.intermove(curr, move_cmd)
135
142
 
136
143
  async def win_close(self, i3, e):
137
144
  log.debug('called win_close()')
@@ -211,8 +218,9 @@ class Autotiler:
211
218
 
212
219
  async def intermove(self, node, cmd):
213
220
  movemark = INTERNAL_MOVE_MARK + '_{}'.format(node.id)
214
- await self.cmd('[con_id="{}"] mark --add {}'.format(node.id, movemark))
215
- await self.cmd('[con_id="{}"] {}'.format(node.id, cmd))
221
+ # Note: compound commands separated with a colon retain their criteria
222
+ # ("con_id"); compound commands separated with semicolon don't.
223
+ await self.cmd('[con_id="{}"] mark --add {}, {}'.format(node.id, movemark, cmd))
216
224
 
217
225
  async def rmmovemarks(self, node):
218
226
  removed = False
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes