Skip to content

Commit bbdea35

Browse files
committed
feat!: Rework resize operations with resize mode
1 parent a3ab178 commit bbdea35

File tree

11 files changed

+324
-153
lines changed

11 files changed

+324
-153
lines changed

dark.css

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,3 +55,9 @@
5555
.pop-shell-tab-urgent {
5656
background: #D00;
5757
}
58+
59+
.pop-shell-resize-hint {
60+
background: #EDEDED;
61+
padding: 12px;
62+
border-radius: 32px;
63+
}

highcontrast.css

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,4 +58,10 @@
5858

5959
.pop-shell-entry:indeterminate {
6060
font-style: italic
61+
}
62+
63+
.pop-shell-resize-hint {
64+
background: #EDEDED;
65+
padding: 12px;
66+
border-radius: 32px;
6167
}

keybindings/10-pop-shell-move.xml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,10 @@
1717
<KeyListEntry name="pop-monitor-right" description="Move window to rightward monitor"/>
1818
<KeyListEntry name="pop-monitor-up" description="Move window to upper monitor"/>
1919
<KeyListEntry name="tile-reject" description="Cancel changes"/>
20-
<KeyListEntry name="tile-resize-left" description="Resize window smaller"/>
21-
<KeyListEntry name="tile-resize-right" description="Resize window larger"/>
22-
<KeyListEntry name="tile-resize-up" description="Resize window shorter"/>
23-
<KeyListEntry name="tile-resize-down" description="Resize window taller"/>
2420
<KeyListEntry name="tile-swap-down" description="Swap window down"/>
2521
<KeyListEntry name="tile-swap-left" description="Swap window left"/>
2622
<KeyListEntry name="tile-swap-right" description="Swap window right"/>
2723
<KeyListEntry name="tile-swap-up" description="Swap window up"/>
2824
<KeyListEntry name="management-orientation" description="Change current window orientation"/>
25+
<KeyListEntry name="resize-mode" description="Toggle resize mode"/>
2926
</KeyListEntries>

light.css

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,3 +55,9 @@
5555
.pop-shell-tab-urgent {
5656
background: #D00;
5757
}
58+
59+
.pop-shell-resize-hint {
60+
background: #EDEDED;
61+
padding: 12px;
62+
border-radius: 32px;
63+
}

schemas/org.gnome.shell.extensions.pop-shell.gschema.xml

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -178,25 +178,10 @@
178178
<summary>Toggle tiling orientation</summary>
179179
</key>
180180

181-
<!-- Resize in normal direction -->
182-
<key type="as" name="tile-resize-left">
183-
<default><![CDATA[['<Shift>Left','<Shift>KP_Left','<Shift>h']]]></default>
184-
<summary>Resize window left</summary>
185-
</key>
186-
187-
<key type="as" name="tile-resize-down">
188-
<default><![CDATA[['<Shift>Down','<Shift>KP_Down','<Shift>j']]]></default>
189-
<summary>Resize window down</summary>
190-
</key>
191-
192-
<key type="as" name="tile-resize-up">
193-
<default><![CDATA[['<Shift>Up','<Shift>KP_Up','<Shift>k']]]></default>
194-
<summary>Resize window up</summary>
195-
</key>
196-
197-
<key type="as" name="tile-resize-right">
198-
<default><![CDATA[['<Shift>Right','<Shift>KP_Right','<Shift>l']]]></default>
199-
<summary>Resize window right</summary>
181+
<!-- Resize -->
182+
<key type="as" name="resize-mode">
183+
<default><![CDATA[['<Super>R']]]></default>
184+
<summary>Toggle resize mode</summary>
200185
</key>
201186

202187
<!-- Swap windows -->

src/extension.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1003,7 +1003,7 @@ export class Ext extends Ecs.System<ExtEvent> {
10031003
if (!win.is_tilable(this)) {
10041004
return
10051005
}
1006-
1006+
10071007
mon = win.meta.get_monitor()
10081008
work = win.meta.get_workspace().index()
10091009

src/fork.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ export class Fork {
242242

243243
let region = this.area.clone();
244244

245-
const half = this.area.array[l] / 2;
245+
const half = ~~(this.area.array[l] / 32) * 16
246246

247247
let length;
248248
if (this.length_left > half - 32 && this.length_left < half + 32) {

src/keybindings.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ export class Keybindings {
1616
this.ext = ext;
1717
this.global = {
1818
"activate-launcher": () => ext.window_search.open(ext),
19-
"tile-enter": () => ext.tiler.enter(ext)
19+
"resize-mode": () => ext.tiler.resize_mode(ext),
20+
"tile-enter": () => ext.tiler.enter(ext),
2021
};
2122

2223
this.window_focus = {

src/mod.d.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,7 @@ declare namespace St {
293293
show(): void;
294294
}
295295

296-
interface Bin extends St.Widget {
296+
interface Bin extends Widget {
297297
// empty for now
298298
}
299299

@@ -307,8 +307,4 @@ declare namespace St {
307307
interface Icon extends Widget {
308308
icon_name: string;
309309
}
310-
311-
interface Label extends Widget {
312-
text: string;
313-
}
314310
}

0 commit comments

Comments
 (0)