Skip to content

Commit e5db938

Browse files
authored
EaseHub 1.0.2
Merge improvements, packaging fix, prefs, CI.
1 parent 1662461 commit e5db938

15 files changed

Lines changed: 351 additions & 112 deletions

.github/CODEOWNERS

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1 @@
1-
# Default code owners
2-
* @nickotmazgin
3-
4-
# Workflows and docs
5-
.github/ @nickotmazgin
6-
docs/ @nickotmazgin
1+
* @nickotmazgin

.github/FUNDING.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
2-
custom: ['https://www.paypal.com/paypalme/nickotmazgin']
1+
github: [nickotmazgin]
2+
custom: ["https://www.paypal.com/donate/?hosted_button_id=4HM44VH47LSMW"]
Lines changed: 11 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,22 @@
11
name: Bug report
2-
description: Report a problem with the extension
2+
description: File a bug report
33
labels: [bug]
44
body:
5-
- type: markdown
6-
attributes:
7-
value: |
8-
Thanks for taking the time to fill this out!
9-
- type: input
10-
id: gnome
11-
attributes:
12-
label: GNOME Shell version
13-
placeholder: 44, 45, etc
14-
validations:
15-
required: true
16-
- type: dropdown
17-
id: session
5+
- type: textarea
186
attributes:
19-
label: Session
20-
options:
21-
- Wayland
22-
- Xorg
7+
label: Describe the bug
8+
description: What happened and what did you expect?
239
validations:
2410
required: true
25-
- type: textarea
26-
id: steps
11+
- type: input
2712
attributes:
28-
label: Steps to reproduce
29-
placeholder: What happened?
13+
label: GNOME Shell version
14+
placeholder: e.g., 42.9 / 43.8 / 44.5
3015
validations:
3116
required: true
3217
- type: textarea
33-
id: logs
3418
attributes:
35-
label: Relevant logs
36-
description: Output of `journalctl --user -b 0 -o cat | grep -i comfort-control`
37-
render: shell
19+
label: Logs
20+
description: Paste errors from Looking Glass (Alt+F2 → lg) or journalctl -b | grep gnome-shell
21+
render: text
22+

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Discussions (questions, ideas)
4+
url: https://github.com/nickotmazgin/comfort-control-easehub/discussions
5+
about: Use Discussions for Q&A and proposals
Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,17 @@
11
name: Feature request
2-
description: Suggest an idea or improvement
2+
description: Suggest an idea
33
labels: [enhancement]
44
body:
55
- type: textarea
6-
id: problem
76
attributes:
8-
label: Problem to solve
9-
placeholder: What’s the user need?
7+
label: Motivation
8+
description: What problem would this feature solve?
9+
validations:
10+
required: true
1011
- type: textarea
11-
id: solution
1212
attributes:
13-
label: Proposed solution
14-
placeholder: Describe the solution you’d like
15-
- type: textarea
16-
id: context
17-
attributes:
18-
label: Additional context
19-
placeholder: Mockups, examples, references
13+
label: Proposal
14+
description: Describe the solution you'd like
15+
validations:
16+
required: true
17+

.github/workflows/codeql.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,6 @@ jobs:
2727

2828
- name: Initialize CodeQL
2929
uses: github/codeql-action/init@4248455a6f2335bc3b7a8a62932f000050ec8f13
30-
with:
31-
queries: security-and-quality
32-
languages: ${{ matrix.language }}
3330
with:
3431
languages: ${{ matrix.language }}
3532
queries: security-and-quality

.github/workflows/release.yml

Lines changed: 40 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,59 @@
11
name: Release
22

3+
permissions:
4+
contents: write
5+
36
on:
47
push:
58
tags:
6-
- 'v*'
7-
8-
permissions:
9-
contents: write
10-
attestations: write
11-
id-token: write
9+
- "v*"
1210

1311
jobs:
1412
build-and-release:
1513
runs-on: ubuntu-latest
1614
steps:
1715
- name: Checkout
18-
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5
16+
uses: actions/checkout@v4
1917

20-
- name: Install build deps
18+
- name: Show metadata
2119
run: |
22-
sudo apt-get update
23-
sudo apt-get install -y zip libglib2.0-bin
20+
python3 -m json.tool metadata.json
2421
25-
- name: Prepare build
22+
- name: Compile schemas
2623
run: |
27-
set -e
28-
if [ -d schemas ]; then glib-compile-schemas schemas; fi
29-
ZIP="comfort-control-github-${GITHUB_REF_NAME}.zip"
30-
echo "ZIP_NAME=$ZIP" >> $GITHUB_ENV
31-
zip -r "$ZIP" . \
32-
-x '.git/*' '.github/*' 'screenshots/*'
33-
34-
- name: Attach provenance
35-
uses: actions/attest-build-provenance@v1
24+
glib-compile-schemas schemas
25+
26+
- name: Extract release notes
27+
run: |
28+
VERSION=$(python3 -c 'import json;print(json.load(open("metadata.json"))["version-name"])')
29+
echo "REL_TITLE=EaseHub ${VERSION}" >> $GITHUB_ENV
30+
awk -v ver="$VERSION" '
31+
BEGIN{p=0}
32+
$0 ~ "^## " ver {p=1; print; next}
33+
p && $0 ~ /^## / {exit}
34+
p{print}
35+
' CHANGELOG.md > RELEASE_NOTES.md
36+
37+
- name: Prepare zip
38+
run: |
39+
UUID=$(python3 -c 'import json;print(json.load(open("metadata.json"))["uuid"])')
40+
echo "UUID=$UUID" >> $GITHUB_ENV
41+
mkdir -p dist
42+
zip -r "dist/${UUID}.shell-extension.zip" \
43+
extension.js prefs.js metadata.json stylesheet.css schemas screenshots README.md LICENSE CODE_OF_CONDUCT.md SECURITY.md || true
44+
45+
- name: Upload artifacts
46+
uses: actions/upload-artifact@v4
3647
with:
37-
subject-path: ${{ env.ZIP_NAME }}
48+
name: extension-zips
49+
path: dist/*.zip
3850

3951
- name: Create GitHub Release
40-
uses: softprops/action-gh-release@de2c0eb2d6b4e54f5a75a42c46b67f7b9a6c0c4b
52+
uses: softprops/action-gh-release@v2
4153
with:
42-
files: ${{ env.ZIP_NAME }}
54+
files: |
55+
dist/*.zip
56+
name: ${{ env.REL_TITLE }}
57+
body_path: RELEASE_NOTES.md
58+
env:
59+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

CHANGELOG.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
## 1.0.2 (2025-12-18)
2+
3+
Fixes
4+
- Release workflow compiles schemas before packaging so `schemas/gschemas.compiled` ships inside the zip. This resolves "GLib.FileError: Failed to open gschemas.compiled" on GNOME 42–44 when installing from GitHub zip.
5+
6+
---
7+
8+
## 1.0.1 (2025-12-17)
9+
10+
Highlights
11+
- Added About & Donate in Preferences, plus README and PayPal links.
12+
- New toggleable actions with granular control (About, Donate, Clear Primary).
13+
- Preferred terminal setting used for commands and Open Terminal.
14+
- Cross-distro update helpers (APT, DNF, Zypper, Pacman) with pkexec.
15+
- Fixed D-Bus proxy usage (SessionManager + ScreenSaver) for stability.
16+
- Expanded GNOME compatibility to 42–47.
17+
- README: Support links (GitHub Sponsors + PayPal), contact info.
18+
19+
Notes
20+
- Schema changed: new keys `preferred-terminal`, and defaults include new actions.
21+
- Run `glib-compile-schemas schemas` after updating.

README.md

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# Comfort Control (EaseHub)
22

3+
[![Release](https://img.shields.io/github/v/release/nickotmazgin/comfort-control-easehub)](https://github.com/nickotmazgin/comfort-control-easehub/releases)
4+
[![Downloads](https://img.shields.io/github/downloads/nickotmazgin/comfort-control-easehub/total?label=downloads)](https://github.com/nickotmazgin/comfort-control-easehub/releases)
5+
36
![EaseHub Screenshot](screenshots/easehub_showcase_final.png)
47

58
A **GNOME Shell extension** that brings **comfort and control to your desktop** — providing quick access to power actions, seamless screenshot helpers, and intelligent system update prompts.
@@ -29,8 +32,12 @@ A **GNOME Shell extension** that brings **comfort and control to your desktop**
2932
- **Terminal integration** - updates run in your terminal for full visibility
3033
- **Secure authentication** using `pkexec` for graphical password prompts
3134

35+
### 🧩 **Configurable Actions & Terminal**
36+
* Enable/disable any menu item from Preferences → Actions
37+
* Set a preferred terminal (kgx, gnome-terminal, tilix, etc.) in Preferences
38+
3239
### 🎯 **Compatibility**
33-
* **Officially supports** GNOME Shell versions **42, 43, and 44**
40+
* **Officially supports** GNOME Shell versions **42–47**
3441
* **Cross-platform** - Works on Wayland and Xorg
3542
* **Lightweight** - Minimal resource usage
3643

@@ -71,6 +78,10 @@ gnome-extensions enable "$uuid"
7178

7279
**Note**: On Wayland, you may need to log out/in for changes to take effect.
7380

81+
### 🧪 Packaging (CI)
82+
83+
On tag push (`v*`), GitHub Actions builds `comfort-control@nickotmazgin.shell-extension.zip` and publishes a release automatically.
84+
7485
---
7586

7687
## 🖼️ **Screenshots & Visuals**
@@ -87,6 +98,8 @@ We welcome contributions! Please feel free to:
8798
- 🔧 **Submit pull requests** with enhancements
8899
- 🌐 **Help with translations**
89100

101+
See CHANGELOG.md for notable changes.
102+
90103
---
91104

92105
## 📄 **License**
@@ -99,10 +112,18 @@ This project is licensed under the [**MIT License**](LICENSE) © **Nick Otmazgin
99112

100113
If **EaseHub** enhances your GNOME experience, consider supporting its continued development:
101114

102-
💝 **[Support via PayPal](https://www.paypal.me/NickOtmazgin)**
115+
[![GitHub Sponsors](https://img.shields.io/badge/Sponsor-GitHub%20Sponsors-ff5c93?logo=github-sponsors&logoColor=white)](https://github.com/sponsors/nickotmazgin)
116+
[![PayPal](https://img.shields.io/badge/Donate-PayPal-blue.svg)](https://www.paypal.com/donate/?hosted_button_id=4HM44VH47LSMW)
103117

104118
Your support helps maintain and improve this extension for the entire GNOME community! 💙
105119

106120
---
107121

122+
## 👤 **About**
123+
124+
- Author: **Nick Otmazgin**
125+
- Contact: **nickotmazgin.dev@gmail.com**
126+
127+
---
128+
108129
*Made with ❤️ for the GNOME community*

0 commit comments

Comments
 (0)