i3a 2.2.1__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.
- {i3a-2.2.1 → i3a-2.2.3}/PKG-INFO +2 -2
- {i3a-2.2.1 → i3a-2.2.3}/README.md +1 -1
- {i3a-2.2.1 → i3a-2.2.3}/pyproject.toml +1 -1
- {i3a-2.2.1 → i3a-2.2.3}/src/i3a/master_stack.py +12 -4
- {i3a-2.2.1 → i3a-2.2.3}/src/i3a/scale_cycle.py +5 -1
- {i3a-2.2.1 → i3a-2.2.3}/LICENSE +0 -0
- {i3a-2.2.1 → i3a-2.2.3}/src/i3a/__init__.py +0 -0
- {i3a-2.2.1 → i3a-2.2.3}/src/i3a/move_to_empty.py +0 -0
- {i3a-2.2.1 → i3a-2.2.3}/src/i3a/resize_compass.py +0 -0
- {i3a-2.2.1 → i3a-2.2.3}/src/i3a/swallow.py +0 -0
- {i3a-2.2.1 → i3a-2.2.3}/src/i3a/swap.py +0 -0
{i3a-2.2.1 → i3a-2.2.3}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: i3a
|
|
3
|
-
Version: 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
|
|
@@ -140,7 +140,7 @@ available outputs if none was explicitly set).
|
|
|
140
140
|
will cycle so it must be escaped in configuration file:
|
|
141
141
|
|
|
142
142
|
```
|
|
143
|
-
bindsym $mod+s exec "i3a-scale -f 1.0,1.5,2.0 -o HDMI-1 -o HDMI-2 --next"
|
|
143
|
+
bindsym $mod+s exec "i3a-scale-cycle -f 1.0,1.5,2.0 -o HDMI-1 -o HDMI-2 --next"
|
|
144
144
|
```
|
|
145
145
|
|
|
146
146
|
## Installation
|
|
@@ -111,7 +111,7 @@ available outputs if none was explicitly set).
|
|
|
111
111
|
will cycle so it must be escaped in configuration file:
|
|
112
112
|
|
|
113
113
|
```
|
|
114
|
-
bindsym $mod+s exec "i3a-scale -f 1.0,1.5,2.0 -o HDMI-1 -o HDMI-2 --next"
|
|
114
|
+
bindsym $mod+s exec "i3a-scale-cycle -f 1.0,1.5,2.0 -o HDMI-1 -o HDMI-2 --next"
|
|
115
115
|
```
|
|
116
116
|
|
|
117
117
|
## Installation
|
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
215
|
-
|
|
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
|
|
@@ -87,7 +87,11 @@ def _(f: float):
|
|
|
87
87
|
|
|
88
88
|
|
|
89
89
|
def get_current_scales(i3: Connection):
|
|
90
|
-
return {
|
|
90
|
+
return {
|
|
91
|
+
outp.name: to_dec(outp.scale)
|
|
92
|
+
for outp in i3.get_outputs()
|
|
93
|
+
if outp.scale is not None
|
|
94
|
+
}
|
|
91
95
|
|
|
92
96
|
|
|
93
97
|
def main():
|
{i3a-2.2.1 → i3a-2.2.3}/LICENSE
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|