Skip to content

Commit 00aaf89

Browse files
committed
Increased test coverage, removed dead code, added coverage.
1 parent 889b493 commit 00aaf89

20 files changed

Lines changed: 2382 additions & 1617 deletions

.coverage

52 KB
Binary file not shown.

.github/workflows/test.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Tests
2+
3+
on:
4+
push:
5+
branches: [main, dev]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
test:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v4
14+
15+
- uses: astral-sh/setup-uv@v5
16+
with:
17+
version: "latest"
18+
19+
- name: Install dependencies
20+
run: uv sync --dev
21+
22+
- name: Run tests with coverage
23+
run: uv run pytest --tb=short --cov-report=json:coverage.json
24+
25+
- name: Extract coverage percentage
26+
if: github.ref == 'refs/heads/main'
27+
id: coverage
28+
run: |
29+
COV=$(python -c "import json; print(int(json.load(open('coverage.json'))['totals']['percent_covered']))")
30+
echo "percentage=$COV" >> "$GITHUB_OUTPUT"
31+
if [ "$COV" -ge 90 ]; then echo "color=brightgreen" >> "$GITHUB_OUTPUT"
32+
elif [ "$COV" -ge 75 ]; then echo "color=green" >> "$GITHUB_OUTPUT"
33+
elif [ "$COV" -ge 60 ]; then echo "color=yellow" >> "$GITHUB_OUTPUT"
34+
else echo "color=red" >> "$GITHUB_OUTPUT"; fi
35+
36+
- name: Update coverage badge
37+
if: github.ref == 'refs/heads/main'
38+
uses: schneegans/dynamic-badges-action@v1.7.0
39+
with:
40+
auth: ${{ secrets.GIST_TOKEN }}
41+
gistID: ${{ vars.COVERAGE_GIST_ID }}
42+
filename: coverage.json
43+
label: coverage
44+
message: ${{ steps.coverage.outputs.percentage }}%
45+
color: ${{ steps.coverage.outputs.color }}

README.md

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,12 @@
1919
<a href="https://github.com/awareness10/Aw-Shell/stargazers">
2020
<img src="https://img.shields.io/github/stars/awareness10/Aw-Shell?style=for-the-badge&logo=github&color=E3B341&logoColor=D9E0EE&labelColor=000000" alt="GitHub stars">
2121
</a>
22+
<a href="https://github.com/awareness10/Aw-Shell/actions/workflows/test.yml">
23+
<img src="https://img.shields.io/github/actions/workflow/status/awareness10/Aw-Shell/test.yml?style=for-the-badge&logo=github-actions&logoColor=D9E0EE&labelColor=000000&label=tests" alt="Tests">
24+
</a>
25+
<a href="https://github.com/awareness10/Aw-Shell/actions/workflows/test.yml">
26+
<img src="https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/Awareness10/f92c9f225879c8ab92110340e6e56c9f/raw/coverage.json&style=for-the-badge&logoColor=D9E0EE&labelColor=000000" alt="Coverage">
27+
</a>
2228
</p>
2329

2430
> Forked from [Axenide/Ax-Shell](https://github.com/Axenide/Ax-Shell) - A hackable shell for Hyprland
@@ -38,6 +44,19 @@
3844
</tr>
3945
</table>
4046

47+
<h2><sub><img src="https://raw.githubusercontent.com/Tarikul-Islam-Anik/Animated-Fluent-Emojis/master/Emojis/Objects/Wrench.png" alt="Wrench" width="25" height="25" /></sub> Changes from Ax-Shell</h2>
48+
49+
Aw-Shell builds on the original Ax-Shell with the following improvements:
50+
51+
- **Refactored settings** - monolithic settings GUI split into focused modules (appearance, keybindings, system, window, about)
52+
- **Refactored controls** — simplified and reorganized control panel
53+
- **Improved launcher** — better search relevance and multi-monitor awareness
54+
- **Multi-monitor fixes** — dashboard and workspaces open on the correct monitor
55+
- **`uv` package manager** — replaced manual pip/venv setup with `uv sync` for reproducible installs
56+
- **Glaze theming** — integrated [Glaze](https://github.com/Awareness10/Glaze) for consistent Qt6 styling
57+
- **Test suite** — added unit tests for core utilities (layout, signals, settings conversion)
58+
- **Code quality**`pathlib` over `os.path`, cleaned up imports, removed deprecated typings
59+
4160
<h2><sub><img src="https://raw.githubusercontent.com/Tarikul-Islam-Anik/Animated-Fluent-Emojis/master/Emojis/Objects/Package.png" alt="Package" width="25" height="25" /></sub> Installation</h2>
4261

4362
> [!NOTE]
@@ -51,7 +70,7 @@
5170
5271
**Run the following command in your terminal once logged into Hyprland:**
5372
```bash
54-
curl -fsSL https://raw.githubusercontent.com/awareness10/Aw-Shell/main/install.sh | bash
73+
curl -fsSL https://raw.githubusercontent.com/Awareness10/Aw-Shell/main/install.sh | bash
5574
```
5675

5776
### Manual Installation
@@ -76,7 +95,7 @@ curl -fsSL https://raw.githubusercontent.com/awareness10/Aw-Shell/main/install.s
7695

7796
3. Clone, install Python deps, and run:
7897
```bash
79-
git clone https://github.com/awareness10/Aw-Shell.git ~/.config/aw-shell
98+
git clone https://github.com/Awareness10/Aw-Shell.git ~/.config/aw-shell
8099
cd ~/.config/aw-shell
81100
uv sync
82101
uwsm app -- .venv/bin/python main.py > /dev/null 2>&1 & disown
@@ -115,4 +134,4 @@ curl -fsSL https://raw.githubusercontent.com/awareness10/Aw-Shell/main/install.s
115134

116135
---
117136

118-
> Original project by [Axenide](https://github.com/Axenide). Consider supporting the original author on [Ko-fi](https://ko-fi.com/Axenide)!
137+
> Originally based on [Ax-Shell](https://github.com/Axenide/Ax-Shell) by [Axenide](https://github.com/Axenide). Consider supporting the original author on [Ko-fi](https://ko-fi.com/Axenide).

config/config.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
from pathlib import Path
55
from PySide6.QtWidgets import QApplication
66

7-
#from fabric import Application
87
import glaze
98
from glaze import generate_theme
109

config/settings/about.py

Lines changed: 0 additions & 59 deletions
This file was deleted.

0 commit comments

Comments
 (0)