Compare commits
59 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 696269d8b8 | |||
| fa021b08eb | |||
| 8ed5f104b2 | |||
| cbaa802797 | |||
| e2a1792388 | |||
| 656e448927 | |||
| 93516b31fb | |||
| 918c07c419 | |||
| 15188b9990 | |||
| 19696298d0 | |||
| 4be7602316 | |||
| 8f6e8582c9 | |||
| 3d2da0a4bc | |||
| a17441cda3 | |||
| c4f5835424 | |||
| 7773c3b808 | |||
| b8e861cf9e | |||
| 318ce6c064 | |||
| 1a4d8253f7 | |||
| 86786ba831 | |||
| bfd027f6c3 | |||
| b46810bc0f | |||
| c4abd1e8e5 | |||
| df9bc3e1eb | |||
| 90a4e19751 | |||
| 5da4001a32 | |||
| 9011cd48f2 | |||
| e065acd37d | |||
| b4afd6d4dc | |||
| 1ae379868b | |||
| 8d4e51284d | |||
| 9f46347179 | |||
| 5a6c3ccd72 | |||
| c977c61714 | |||
| e615efceb9 | |||
| 88623f32d7 | |||
| 265ff05436 | |||
| 2b86856a97 | |||
| a858af73f4 | |||
| ecb5a568cd | |||
| 5e9bc796ea | |||
| 04f402c686 | |||
| 1d3d9dc402 | |||
| c7f45ecf3b | |||
| c23b9113ab | |||
| 50ceb02124 | |||
| 717c240d70 | |||
| 822a7bd2e4 | |||
| 4543c98de8 | |||
| d59a0fef6d | |||
| ed661b3fa6 | |||
| 6a19b77742 | |||
| 7b0f37f3f9 | |||
| e1e240924a | |||
| 185a8e233c | |||
| 84777c4db1 | |||
| fe4558d628 | |||
| c8a453f329 | |||
| 0ddac224fb |
@@ -1 +0,0 @@
|
|||||||
25
|
|
||||||
@@ -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.
|
|
||||||
|
|
||||||
@@ -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
@@ -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"
|
||||||
|
|||||||
Generated
+462
-595
File diff suppressed because it is too large
Load Diff
@@ -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");
|
||||||
|
|||||||
Reference in New Issue
Block a user