Compare commits
7
Commits
ff19289be8
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6729cb118e | ||
|
|
c3d98b7b48 | ||
|
|
02c66359d9 | ||
|
|
00263f6b81 | ||
|
|
55e06d4f60 | ||
|
|
4c994943cd | ||
|
|
c9ef3f404a |
@@ -0,0 +1,3 @@
|
|||||||
|
[tools]
|
||||||
|
node = "26"
|
||||||
|
pnpm = "12.3.4"
|
||||||
@@ -1 +0,0 @@
|
|||||||
25
|
|
||||||
@@ -28,3 +28,65 @@ MacOS tiling WMs, mainly [Aerospace](https://github.com/nikitabobko/AeroSpace) (
|
|||||||
- complicated window dragging features and uis
|
- complicated window dragging features and uis
|
||||||
- Aerospace supports control + drag to combine windows while moving with the mouse, and normal window dragging.
|
- Aerospace supports control + drag to combine windows while moving with the mouse, and normal window dragging.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
Aerospike isn't on the GNOME extension store yet, so install it from source.
|
||||||
|
This builds the extension locally and drops it into your user's extension dir.
|
||||||
|
Requires [just](https://github.com/casey/just) as the command runner, plus the
|
||||||
|
same build toolchain used for development (see [Development](#development)):
|
||||||
|
[mise](https://mise.jdx.dev/) for managing tool versions (`node` and `pnpm`),
|
||||||
|
and `glib2` for `glib-compile-schemas`.
|
||||||
|
|
||||||
|
Arch Linux:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo pacman -S git just mise glib2 # mise needs its shell hook: https://mise.jdx.dev/getting-started.html#shells
|
||||||
|
```
|
||||||
|
|
||||||
|
Clone and install:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/lucasoskorep/aerospike-gnome
|
||||||
|
cd aerospike-gnome
|
||||||
|
mise install
|
||||||
|
just install
|
||||||
|
```
|
||||||
|
|
||||||
|
After installing from source, enable it (toggle in the Extensions app, or):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
gnome-extensions enable aerospike@lucaso.io
|
||||||
|
```
|
||||||
|
|
||||||
|
Re-login or restart the shell (`Alt+F2` → `r` on X11) to pick it up.
|
||||||
|
|
||||||
|
## Development
|
||||||
|
|
||||||
|
Building and debugging locally needs a few extra tools:
|
||||||
|
|
||||||
|
- `just` — the command runner
|
||||||
|
- `mise` — runtime & tool manager (pins `node` and `pnpm` in `.mise.toml`)
|
||||||
|
- `glib2` — provides `glib-compile-schemas` for compiling the settings schema
|
||||||
|
|
||||||
|
Arch Linux:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo pacman -S just mise glib2
|
||||||
|
```
|
||||||
|
|
||||||
|
Install the pinned tools with mise (defined in `.mise.toml`):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mise install
|
||||||
|
```
|
||||||
|
|
||||||
|
Then:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
just install # install deps + build + drop into the extension dir
|
||||||
|
just lint # lint
|
||||||
|
just test # run the test suite
|
||||||
|
just test-watch # run tests in watch mode
|
||||||
|
just live-debug # tail gnome-shell logs while you poke at it
|
||||||
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
import eslint from "@eslint/js";
|
||||||
|
import tseslint from "typescript-eslint";
|
||||||
|
import jsdoc from "eslint-plugin-jsdoc";
|
||||||
|
|
||||||
|
export default tseslint.config(
|
||||||
|
eslint.configs.recommended,
|
||||||
|
...tseslint.configs.recommended,
|
||||||
|
jsdoc.configs["flat/recommended-typescript"],
|
||||||
|
{
|
||||||
|
languageOptions: {
|
||||||
|
parserOptions: {
|
||||||
|
projectService: true,
|
||||||
|
tsconfigRootDir: import.meta.dirname,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
rules: {
|
||||||
|
"jsdoc/require-jsdoc": "off",
|
||||||
|
"jsdoc/require-param-description": "off",
|
||||||
|
"jsdoc/require-returns-description": "off",
|
||||||
|
"jsdoc/require-returns": "off",
|
||||||
|
"@typescript-eslint/no-unused-vars": [
|
||||||
|
"warn",
|
||||||
|
{ argsIgnorePattern: "^_", varsIgnorePattern: "^_" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ignores: ["dist/", "node_modules/", "*.js"],
|
||||||
|
},
|
||||||
|
);
|
||||||
+2
-2
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "aerospike",
|
"name": "Aerospike WM",
|
||||||
"description": "I3 Like Tiling Window Manager for Gnome",
|
"description": "I3 Like Tiling Window Manager for Gnome",
|
||||||
"uuid": "aerospike@lucaso.io",
|
"uuid": "aerospike@lucaso.io",
|
||||||
"settings-schema": "org.gnome.shell.extensions.aerospike",
|
"settings-schema": "org.gnome.shell.extensions.aerospike",
|
||||||
@@ -9,5 +9,5 @@
|
|||||||
"50"
|
"50"
|
||||||
],
|
],
|
||||||
"gettext-domain": "aerospike@lucaso.io",
|
"gettext-domain": "aerospike@lucaso.io",
|
||||||
"url": "https://gitea.chaosdev.gay/lucasoskorep/aerospike@lucaso.io"
|
"url": "https://github.com/lucasoskorep/aerospike-gnome"
|
||||||
}
|
}
|
||||||
|
|||||||
+11
-8
@@ -2,6 +2,7 @@
|
|||||||
"name": "aerospike",
|
"name": "aerospike",
|
||||||
"version": "0.2.4",
|
"version": "0.2.4",
|
||||||
"description": "Simple, Opinionated Tiling Window Manager for Gnome written in Typescript",
|
"description": "Simple, Opinionated Tiling Window Manager for Gnome written in Typescript",
|
||||||
|
"packageManager": "pnpm@12.3.4",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"private": true,
|
"private": true,
|
||||||
"repository": {
|
"repository": {
|
||||||
@@ -24,15 +25,17 @@
|
|||||||
"test:coverage": "jest --coverage"
|
"test:coverage": "jest --coverage"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@girs/gjs": "4.0.4",
|
"@eslint/js": "^10.0.1",
|
||||||
"@girs/gnome-shell": "50.0.0",
|
"@girs/gjs": "^4.7.0",
|
||||||
"@jest/globals": "^30.4.1",
|
"@girs/gnome-shell": "^50.0.4",
|
||||||
|
"@jest/globals": "^30.5.1",
|
||||||
"@types/jest": "^30.0.0",
|
"@types/jest": "^30.0.0",
|
||||||
"eslint": "^10.5.0",
|
"eslint": "^10.10.0",
|
||||||
"eslint-plugin-jsdoc": "^63.0.2",
|
"eslint-plugin-jsdoc": "^64.3.6",
|
||||||
"jest": "^30.4.2",
|
"jest": "^30.5.1",
|
||||||
"ts-jest": "^29.4.11",
|
"ts-jest": "^29.4.12",
|
||||||
"typescript": "^6.0.3"
|
"typescript": "^5.9.3",
|
||||||
|
"typescript-eslint": "^8.69.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@girs/mtk-17": "17.0.0-4.0.4"
|
"@girs/mtk-17": "17.0.0-4.0.4"
|
||||||
|
|||||||
Generated
+1717
-1270
File diff suppressed because it is too large
Load Diff
@@ -1,2 +1,3 @@
|
|||||||
allowBuilds:
|
allowBuilds:
|
||||||
|
'@parcel/watcher': true
|
||||||
unrs-resolver: true
|
unrs-resolver: true
|
||||||
|
|||||||
Reference in New Issue
Block a user