Compare commits

..

59 Commits

Author SHA1 Message Date
Lucas Oskorep 696269d8b8 feat: adding support for multi-monitor window moving
Build and Test / release (push) Has been cancelled
Build and Test / build (push) Has been cancelled
Build and Test / build (pull_request) Successful in 24s
Build and Test / release (pull_request) Has been skipped
2026-03-02 23:06:47 -05:00
Lucas Oskorep fa021b08eb feat: adding active window selection and refactoring keybindings 2026-03-02 18:46:26 -05:00
Lucas Oskorep 8ed5f104b2 fix: when new items enter the tabbed view they should be the active window
Build and Test / build (push) Successful in 25s
Build and Test / release (push) Successful in 3s
2026-03-02 11:26:28 -05:00
Lucas Oskorep cbaa802797 feat: equal-sized tabs and constantly updated tab titles
Build and Test / build (push) Successful in 25s
Build and Test / release (push) Successful in 3s
2026-02-27 12:24:58 -05:00
Lucas Oskorep e2a1792388 fix: tab bars showing when apps are fullscreen on same monitor
Build and Test / build (push) Successful in 25s
Build and Test / release (push) Successful in 2s
2026-02-26 22:06:30 -05:00
Lucas Oskorep 656e448927 feat: add tabbed container layout mode with tab bar UI
Build and Test / build (push) Successful in 25s
Build and Test / release (push) Successful in 3s
fix: tab bars no longer shown in overview.  Tab bars show name of app with pipe and then title of the app
2026-02-26 21:45:40 -05:00
Lucas Oskorep 93516b31fb fix: new bug from combining resize and move commands - if window has min-size set and resize goes smaller window would not move or resize causing vesktop and steam to frequently break when in arrays on a smaller monitors
Build and Test / build (push) Successful in 39s
Build and Test / release (push) Successful in 10s
2026-02-26 01:54:49 -05:00
Lucas Oskorep 918c07c419 Merge pull request 'chore(deps): update dependency eslint to v10' (#16) from renovate/major-eslint-monorepo into main
Build and Test / build (push) Successful in 25s
Build and Test / release (push) Successful in 2s
Reviewed-on: #16
2026-02-25 17:18:42 -05:00
Lucas Oskorep 15188b9990 Merge branch 'main' into renovate/major-eslint-monorepo
Build and Test / build (pull_request) Successful in 24s
Build and Test / release (pull_request) Has been skipped
2026-02-25 17:02:44 -05:00
Lucas Oskorep 19696298d0 Merge pull request 'feat/percentage-based-container-sizing' (#18) from feat/percentage-based-container-sizing into main
Build and Test / build (push) Successful in 23s
Build and Test / release (push) Successful in 11s
Reviewed-on: #18
2026-02-25 11:36:39 -05:00
Lucas Oskorep 4be7602316 feat: adding support for changing the size of windows during window resize events to aerospike. Also cleaning up imports and simplifying some of the settings logic.
Build and Test / build (pull_request) Successful in 23s
Build and Test / release (pull_request) Has been skipped
2026-02-25 11:35:59 -05:00
Renovate Bot 8f6e8582c9 chore(deps): update dependency eslint to v10
Build and Test / build (pull_request) Successful in 24s
Build and Test / release (pull_request) Has been skipped
2026-02-06 23:13:10 +00:00
Lucas Oskorep 3d2da0a4bc Update .gitea/workflows/build.yaml
Build and Test / build (push) Successful in 24s
Build and Test / release (push) Successful in 11s
2026-01-29 02:47:15 -05:00
Lucas Oskorep a17441cda3 Merge pull request 'chore(deps): update all-dependencies' (#12) from renovate/all into main
Build and Test / build (push) Successful in 24s
Build and Test / release (push) Has been cancelled
Reviewed-on: #12
2026-01-29 02:46:04 -05:00
Lucas Oskorep c4f5835424 fix: renovate updating past v3 for upload when v4+ is unsupported in gitea
Build and Test / build (pull_request) Successful in 33s
Build and Test / release (pull_request) Has been cancelled
2026-01-29 02:45:04 -05:00
Lucas Oskorep 7773c3b808 feat: update code to work with new libs
Build and Test / build (pull_request) Failing after 24s
Build and Test / release (pull_request) Has been cancelled
2026-01-29 02:41:59 -05:00
Renovate Bot b8e861cf9e chore(deps): update all-dependencies
Build and Test / build (pull_request) Failing after 24s
Build and Test / release (pull_request) Has been cancelled
2026-01-29 02:38:21 -05:00
Lucas Oskorep 318ce6c064 Update .gitea/workflows/build.yaml
Build and Test / build (push) Failing after 39s
Build and Test / release (push) Has been cancelled
2026-01-29 02:36:39 -05:00
Lucas Oskorep 1a4d8253f7 Merge pull request 'chore(deps): update all-dependencies' (#10) from renovate/all into main
Build and Test / build (push) Has been cancelled
Build and Test / release (push) Has been cancelled
Reviewed-on: #10
2026-01-29 01:57:18 -05:00
Renovate Bot 86786ba831 chore(deps): update all-dependencies
renovate/artifacts Artifact file update failure
Build and Test / build (pull_request) Has been cancelled
Build and Test / release (pull_request) Has been cancelled
2026-01-29 06:55:32 +00:00
Lucas Oskorep bfd027f6c3 Merge pull request 'chore: Configure Renovate' (#8) from renovate/configure into main
Build and Test / build (push) Has been cancelled
Build and Test / release (push) Has been cancelled
Reviewed-on: #8
Reviewed-by: Lucas Oskorep <lucas.oskorep@gmail.com>
2026-01-29 01:46:16 -05:00
Renovate Bot b46810bc0f Add renovate.json
Build and Test / build (pull_request) Has been cancelled
Build and Test / release (pull_request) Has been cancelled
2026-01-29 06:45:35 +00:00
Lucas Oskorep c4abd1e8e5 revert df9bc3e1eb
Build and Test / build (push) Has been cancelled
Build and Test / release (push) Has been cancelled
revert Merge pull request 'chore: Configure Renovate' (#1) from renovate/configure into main

Reviewed-on: #1
2026-01-29 01:36:37 -05:00
Lucas Oskorep df9bc3e1eb Merge pull request 'chore: Configure Renovate' (#1) from renovate/configure into main
Build and Test / build (push) Has been cancelled
Build and Test / release (push) Has been cancelled
Reviewed-on: #1
2026-01-29 01:05:11 -05:00
Renovate Bot 90a4e19751 Add renovate.json
Build and Test / build (pull_request) Has been cancelled
Build and Test / release (pull_request) Has been cancelled
2026-01-29 05:44:36 +00:00
Lucas Oskorep 5da4001a32 feat: gitea pipeline fix for upload
Build and Test / build (push) Successful in 27s
Build and Test / release (push) Successful in 11s
2025-10-17 02:50:21 -04:00
Lucas Oskorep 9011cd48f2 feat: gitea pipeline fix for upload
Build and Test / build (push) Successful in 36s
2025-10-17 02:46:56 -04:00
Lucas Oskorep e065acd37d feat: gitea pipeline
Build and Test / build (push) Failing after 1m2s
2025-10-17 02:42:12 -04:00
Lucas Oskorep b4afd6d4dc feat: gitea pipeline
Build and Test / build (push) Has been cancelled
2025-10-17 02:38:04 -04:00
Lucas Oskorep 1ae379868b feat: adding basic unit tests and framework for them 2025-10-17 02:06:16 -04:00
Lucas Oskorep 8d4e51284d bugfixes 2025-10-17 01:56:09 -04:00
Lucas Oskorep 9f46347179 feat: cleanup 2025-10-17 01:26:57 -04:00
Lucas Oskorep 5a6c3ccd72 Finish adding debugging command and ability to swap the orientation of a container 2025-10-17 01:25:47 -04:00
Lucas Oskorep c977c61714 adding debug command 2025-10-17 01:09:13 -04:00
Lucas Oskorep e615efceb9 feat: removing prettyborders zip 2025-10-17 00:08:57 -04:00
Lucas Oskorep 88623f32d7 feat: update devkit command 2025-10-16 03:44:33 -04:00
Lucas Oskorep 265ff05436 upgrade to gnome 49 2025-09-24 00:55:24 -04:00
Lucas Oskorep 2b86856a97 feat: remove crap code 2025-05-20 18:37:15 -04:00
Lucas Oskorep a858af73f4 fix: allow windows to be moved in the overview 2025-05-20 01:59:08 -04:00
Lucas Oskorep ecb5a568cd fix: bug with window manager resizing a window during grab ops for 1 frame when the background had to be tiled 2025-05-20 01:48:34 -04:00
Lucas Oskorep 5e9bc796ea feat: enable the window manager to be able to drag across monitors and support keybindings propperly in the extension settings 2025-05-20 01:20:48 -04:00
Lucas Oskorep 04f402c686 feat: upgrade packages and set parent for windows on add 2025-05-19 21:43:09 -04:00
Lucas Oskorep 1d3d9dc402 feat: add ability to change ordering of monitors 2025-05-16 02:58:51 -04:00
Lucas Oskorep c7f45ecf3b feat: refactored to monitor -> workspace -> container -> window workflow 2025-05-16 02:01:11 -04:00
Lucas Oskorep c23b9113ab feat: adding support for workspaces 2025-05-16 00:19:49 -04:00
Lucas Oskorep 50ceb02124 feat: refactoring 2025-05-04 17:17:33 -04:00
Lucas Oskorep 717c240d70 feat: fixed display signal handling on disable 2025-05-02 01:31:46 -04:00
Lucas Oskorep 822a7bd2e4 Merge branch 'feat/fix-login-issues' 2025-04-30 00:06:03 -04:00
Lucas Oskorep 4543c98de8 feat: adding fix for minimized windows still taking up space 2025-04-30 00:05:46 -04:00
Lucas Oskorep d59a0fef6d feat: set nvm version 2025-04-19 02:18:32 +00:00
Lucas Oskorep ed661b3fa6 feat: attempting to fix windows lost on logout 2025-04-18 17:33:02 -04:00
Lucas Oskorep 6a19b77742 feat: initial commit with multi-monitor support 2025-04-18 03:22:35 -04:00
Lucas Oskorep 7b0f37f3f9 fix 2025-04-18 01:57:45 -04:00
Lucas Oskorep e1e240924a feat: first draft of everything working single monitor with just mouse commands 2025-04-18 01:57:29 -04:00
Lucas Oskorep 185a8e233c feat: adding in demo settings page for gnome extensions 2025-04-05 23:55:46 -04:00
Lucas Oskorep 84777c4db1 feat: remove prefs 2025-04-03 02:28:54 -04:00
Lucas Oskorep fe4558d628 feat: update gschema 2025-04-03 02:27:55 -04:00
Lucas Oskorep c8a453f329 feat: adding initial source code 2025-04-03 02:24:40 -04:00
Lucas Oskorep 0ddac224fb feat: readme 2025-04-03 02:23:46 -04:00
7 changed files with 470 additions and 650 deletions
-1
View File
@@ -1 +0,0 @@
25
+1
View File
@@ -0,0 +1 @@
24
-29
View File
@@ -1,30 +1 @@
# Aerospike Gnome (Tiling Window Manager) # Aerospike Gnome (Tiling Window Manager)
Aerospike is a simple and opinionated tiling window manager for gnome.
This project takes inspiration from previous gnome tiling window managers such
as [forge](https://github.com/forge-ext/forge)
and [cosmic-shell](https://github.com/pop-os/gnome-shell-extension-pop-cosmic) as well as
MacOS tiling WMs, mainly [Aerospace](https://github.com/nikitabobko/AeroSpace) (not affiliated).
## Current Features
- Auto-tiling
- Accordion layouts with variable sizes
- Tabbed layouts
- Tree-based (albeit set depth of 2 for now) container-window paired layout similar to Aerospace
- Diagram for this is pending
## Planned functionality
- Full Keyboard control w/window movement
- Sub-containers (more tree layers than the 1 supported for now)
- Gap size customization
## Not currently planned
- Active window borders
- See my other extension for a rainbow or static border - [PrettyBorders](https://github.com//pretty-borders)
- complicated window dragging features and uis
- Aerospace supports control + drag to combine windows while moving with the mouse, and normal window dragging.
+1 -7
View File
@@ -8,7 +8,7 @@ packages:
build: packages && build-schemas build: packages && build-schemas
rm -rf dist/* rm -rf dist/*
pnpm run build pnpm exec tsc
cp metadata.json dist/ cp metadata.json dist/
cp stylesheet.css dist/ cp stylesheet.css dist/
mkdir -p dist/schemas mkdir -p dist/schemas
@@ -47,12 +47,6 @@ test-coverage:
ci-local: ci-local:
act -W .gitea/workflows/build.yaml act -W .gitea/workflows/build.yaml
lint:
pnpm run lint
clean:
pnpm run clean
#pack: build #pack: build
# gnome-extensions pack dist \ # gnome-extensions pack dist \
# --force \ # --force \
+5 -8
View File
@@ -1,7 +1,7 @@
{ {
"name": "aerospike", "name": "aerospike",
"version": "0.2.2", "version": "0.2.0",
"description": "Simple, Opinionated Tiling Window Manager for Gnome written in Typescript", "description": "A TypeScript GNOME Extension for Pretty Borders",
"type": "module", "type": "module",
"private": true, "private": true,
"repository": { "repository": {
@@ -9,16 +9,13 @@
"url": "git+https://gitlab.com/lucasoskorep/aerospike" "url": "git+https://gitlab.com/lucasoskorep/aerospike"
}, },
"author": "Lucas Oskorep <lucas.oskorep@gmail.com>", "author": "Lucas Oskorep <lucas.oskorep@gmail.com>",
"license": "GPL-3.0-only", "license": "LGPL-3.0-or-later",
"bugs": { "bugs": {
"url": "https://github.com/lucasoskorep/aerospike-gnome/issues" "url": "https://github.com/example/my-extension/issues"
}, },
"homepage": "https://github.com/lucasoskorep/aerospike-gnome/#readme", "homepage": "https://github.com/example/my-extension#readme",
"sideEffects": false, "sideEffects": false,
"scripts": { "scripts": {
"build": "tsc",
"clean": "rm -rf dist/*",
"lint": "eslint .",
"test": "jest", "test": "jest",
"test:watch": "jest --watch", "test:watch": "jest --watch",
"test:coverage": "jest --coverage" "test:coverage": "jest --coverage"
+462 -595
View File
File diff suppressed because it is too large Load Diff
-9
View File
@@ -47,10 +47,6 @@ export class WindowWrapper {
return this._window.get_frame_rect(); return this._window.get_frame_rect();
} }
isFullscreen(): boolean {
return this._window.is_fullscreen();
}
getTabLabel(): string { getTabLabel(): string {
const rawAppName = this._window.get_wm_class() ?? ''; const rawAppName = this._window.get_wm_class() ?? '';
// Strip reverse-domain prefix (e.g. "org.gnome.Nautilus" -> "Nautilus") // Strip reverse-domain prefix (e.g. "org.gnome.Nautilus" -> "Nautilus")
@@ -144,11 +140,6 @@ export class WindowWrapper {
return; return;
} }
if (this.isFullscreen()) {
Logger.info("STOPPED RESIZE BECAUSE WINDOW IS FULLSCREEN");
return;
}
const actor = this._window.get_compositor_private() as Clutter.Actor | null; const actor = this._window.get_compositor_private() as Clutter.Actor | null;
if (!actor) { if (!actor) {
Logger.log("No actor available, can't resize safely yet"); Logger.log("No actor available, can't resize safely yet");