Skip to content
Merged
Changes from 8 commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
f2eaa31
FIX: run space.layout when exiting fullscreen.
jtaala Dec 1, 2023
4e201cc
FIX: for new fullscreen windows, unmake fullscreen for paperwm tiling…
jtaala Dec 1, 2023
7f4048c
Small change to the approach here - unmake_fullscreen then set
jtaala Dec 3, 2023
0187cbb
Small cleanup.
jtaala Dec 3, 2023
b3c2229
Delay removing `fullscreenOnLayout` until unfullscreen application.
jtaala Dec 10, 2023
e0e8b12
Merge branch 'release' into fix-insert-fullscreen-windows
jtaala Dec 12, 2023
8d71aaf
Moved to using layout 'emit' signal to remove `fullscreenOnLayout`.
jtaala Dec 25, 2023
f5a0918
Merge branch 'develop' into fix-insert-fullscreen-windows
jtaala Dec 25, 2023
7e74143
WIP: debugging why resizeHandler not called when unfullscreening kodi.
jtaala Dec 26, 2023
e8f2b10
EXPERIMENTAL: save widths from prior to paperwm fullscreens.
jtaala Dec 27, 2023
27fd5dd
Cleanup and remove debug/log writes.
jtaala Dec 28, 2023
8fd5ccd
Handle restoring of non-tiled windows size and position.
jtaala Dec 28, 2023
0ac4bc6
FIX: activiate a scratched window when it is scratched.
jtaala Dec 28, 2023
f3779c7
Track frame width to restore separately (for tiled/non-tiled).
jtaala Dec 28, 2023
46543ed
Center window in space if it's just one (was previously on insertion,
jtaala Dec 28, 2023
6218a49
Set queueLayout options as passthrough.
jtaala Dec 28, 2023
da05de6
FIX: account for monitor offset for restoring window to position.
jtaala Dec 29, 2023
2a85477
FIX: restore position for non-tiled windows.
jtaala Dec 29, 2023
881929a
Hide window selection when fullscreening (and undo on unfullscreen).
jtaala Dec 29, 2023
64784e6
Set guards to can't add multiple resizeHandlers to connection.
jtaala Dec 30, 2023
a00d774
FIX: resize handler should actually be called on gnome metalater RESIZE
jtaala Dec 30, 2023
d4c011b
WIP: Placing guards on layout/queuelayout (only when needed based on …
jtaala Dec 30, 2023
7353788
WIP: behaviour improved - handling osu! and other fullscreen behaviours.
jtaala Dec 30, 2023
eb69401
Cleanup.
jtaala Dec 30, 2023
cb59a5c
FIX: remove handler flags on destroy and init.
jtaala Dec 30, 2023
325504d
FIX: also if target width differs ==> do a queued layout.
jtaala Dec 30, 2023
e812160
Cleanup and on fullscreen run normal layout with move_to callback.
jtaala Dec 31, 2023
e05fbf9
Replaced with simpler workaround - unfullscreen/fullscreen on window
jtaala Dec 31, 2023
91de551
Remove Glib timeout used for timeout to un/fullscreen.
jtaala Dec 31, 2023
d053632
FIX: stop setting topbar style on update space elements.
jtaala Jan 1, 2024
0b789c1
Added temporary workaround for swap monitors with fullscreen.
jtaala Jan 1, 2024
f3505fc
FIX: disable window position bar when fullscreen window is focused.
jtaala Jan 1, 2024
c015375
FIX: Update position bar when window closes.
jtaala Jan 2, 2024
0be164f
Unfullscreen tiled window when selecting another window on same
jtaala Jan 3, 2024
4a436ee
FIX: multimonitor remove "bobble" of topbar positioning momemtarily
jtaala Jan 4, 2024
cff6f73
FIX: multimonitor, when moving to another monitor (mouse), don't sho…
jtaala Jan 4, 2024
05ee292
Revert "Unfullscreen tiled window when selecting another window on same"
jtaala Jan 4, 2024
443dcd1
Revert "FIX: multimonitor remove "bobble" of topbar positioning momem…
jtaala Jan 4, 2024
8e506b8
Updated space element vis check to be if has fullscreen that is active
jtaala Jan 4, 2024
9e77dea
FIX: for "bobble" issue (flash of topbar spacing when moving mouse to
jtaala Jan 6, 2024
c073c53
FIX: when fullscreen window and mouse move to another monitor, ensure
jtaala Jan 7, 2024
86c7333
Cleanup and fullscreen display on spaces with tiled and fullscreen
jtaala Jan 7, 2024
42b4265
Cleanup logs (adding check to stop writing about actor adding/removing
jtaala Jan 7, 2024
257dc5b
FIX: corner case: fullscreen, create/insert new window => show space
jtaala Jan 7, 2024
4383190
FIX: corner-case, multiple fullscreen windows on space, unfullscreening
jtaala Jan 7, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 24 additions & 1 deletion tiling.js
Original file line number Diff line number Diff line change
Expand Up @@ -380,6 +380,15 @@ export class Space extends Array {
this.setSpaceTopbarElementsVisible(true);
});

// after layout is complete, remove any residual fullscreenOnLayout
this.signals.connect(this, "layout", () => {
this.getWindows().forEach(w => {
if (w.fullscreenOnLayout) {
delete w.fullscreenOnLayout;
}
});
});
Comment thread
jtaala marked this conversation as resolved.
Outdated

this.signals.connect(interfaceSettings, "changed::color-scheme", this.updateBackground.bind(this));
this.signals.connect(gsettings, 'changed::default-background', this.updateBackground.bind(this));
this.signals.connect(gsettings, 'changed::use-default-background', this.updateBackground.bind(this));
Expand Down Expand Up @@ -622,6 +631,13 @@ export class Space extends Array {
let y0 = workArea.y;
let fixPointAttempCount = 0;

// apply fullscreen if windows has fullscreenOnLayout property set
this.getWindows()
.filter(w => w.fullscreenOnLayout)
.forEach(w => {
w.make_fullscreen();
});

for (let i = 0; i < this.length; i++) {
let column = this[i];
// Actorless windows are trouble. Layout could conceivable run while a window is dying or being born.
Expand Down Expand Up @@ -914,7 +930,7 @@ export class Space extends Array {
* Returns true iff this space has a currently fullscreened window.
*/
hasFullScreenWindow() {
return this.getWindows().some(el => el.fullscreen);
return this.getWindows().some(w => w.fullscreen);
}

swap(direction, metaWindow) {
Expand Down Expand Up @@ -3307,6 +3323,13 @@ export function insertWindow(metaWindow, { existing }) {
activateWindowAfterRendered(actor, metaWindow);
return;
}

// address inserting windows that are already fullscreen: windows will be inserted
// as normal (non-fullscreen) and will be fullscreened on layout.
if (metaWindow.fullscreen) {
metaWindow.fullscreenOnLayout = true;
metaWindow.unmake_fullscreen();
}
}

if (metaWindow.is_on_all_workspaces()) {
Expand Down