refactor(ui): nama aplikasi jadi 'IceBurg LCD' (tanpa merek vendor di UI)

- judul jendela, tooltip tray, notifikasi, nama aplikasi Qt, dan deskripsi unit systemd
- entri menu di install.sh + petunjuk di jendela
- README: catatan bahwa UI tidak memakai merek; repo tetap menyebut merek hanya untuk
  menjelaskan hardware yang didukung
- versi 1.3.1
This commit is contained in:
oxpoe committed 2026-10-13 09:44:17 +07:00
1 parent c384df7cac
commit 4711ef5532
4 files changed
+19 -17

No files matched your search

+2 -1
View File
@@ -109,7 +109,8 @@ temperature source (Tctl vs Tccd).
- **Donate / GitHub buttons** in the app (window and tray menu) - **Donate / GitHub buttons** in the app (window and tray menu)
- **AppImage build** script (`packaging/build_appimage.sh`, PySide6 bundled) - **AppImage build** script (`packaging/build_appimage.sh`, PySide6 bundled)
The GUI labels are in Indonesian. The GUI labels are in Indonesian. The app itself is named **IceBurg LCD** (no vendor brand in
the UI); the repository keeps the hardware and brand name only to describe what it supports.
## Requirements ## Requirements
+3 -3
View File
@@ -114,7 +114,7 @@ rm -rf "$TMP"
say "4/6 memasang layanan systemd (autostart + plug and play) …" say "4/6 memasang layanan systemd (autostart + plug and play) …"
cat > "$UNIT" <<EOF cat > "$UNIT" <<EOF
[Unit] [Unit]
Description=GAMEMAX HID sensor display bridge (PcInfoMonitorPro replacement) Description=IceBurg LCD — HID sensor display bridge (Linux)
After=graphical-session.target After=graphical-session.target
[Service] [Service]
@@ -139,9 +139,9 @@ say "5/6 memasang entri menu + ikon …"
cat > "$DESKTOP_DIR/gamemax-lcd.desktop" <<EOF cat > "$DESKTOP_DIR/gamemax-lcd.desktop" <<EOF
[Desktop Entry] [Desktop Entry]
Type=Application Type=Application
Name=GAMEMAX IceBurg LCD Name=IceBurg LCD
GenericName=Kontrol LCD AIO GenericName=Kontrol LCD AIO
Comment=Status, nyala/mati, pemantauan, dan pengaturan LCD AIO GAMEMAX IceBurg Comment=Status, nyala/mati, pemantauan, dan pengaturan LCD AIO IceBurg Digital
Exec="$APP" Exec="$APP"
Icon=gamemax-lcd Icon=gamemax-lcd
Terminal=false Terminal=false
+1 -1
View File
@@ -1,5 +1,5 @@
[Unit] [Unit]
Description=GAMEMAX HID sensor display bridge (PcInfoMonitorPro replacement) Description=IceBurg LCD — HID sensor display bridge (Linux)
Documentation=file:///mnt/SSD/Work/REVERSE-EGENERING/analysis/01-recon.md Documentation=file:///mnt/SSD/Work/REVERSE-EGENERING/analysis/01-recon.md
After=graphical-session.target After=graphical-session.target
+13 -12
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
"""GAMEMAX IceBurg LCD — GUI tray: status, nyala/mati, pemantauan beranimasi, pengaturan. """IceBurg LCD — GUI tray: status, nyala/mati, pemantauan beranimasi, pengaturan.
Streaming tetap dijalankan oleh layanan systemd (gamemax-report.service); GUI ini Streaming tetap dijalankan oleh layanan systemd (gamemax-report.service); GUI ini
mengendalikannya dan memakai gamemax_report.py sebagai pengirim. mengendalikannya dan memakai gamemax_report.py sebagai pengirim.
@@ -32,7 +32,8 @@ from PySide6.QtWidgets import (
) )
from PySide6.QtNetwork import QLocalServer, QLocalSocket from PySide6.QtNetwork import QLocalServer, QLocalSocket
APP_VERSION = "1.3.0" APP_VERSION = "1.3.1"
APP_NAME = "IceBurg LCD"
REPO = "oxpoe/Gamemax-linux-apps" REPO = "oxpoe/Gamemax-linux-apps"
RELEASES_API = f"https://api.github.com/repos/{REPO}/releases/latest" RELEASES_API = f"https://api.github.com/repos/{REPO}/releases/latest"
UPDATE_ASSET = "GAMEMAX-LCD-x86_64.AppImage" UPDATE_ASSET = "GAMEMAX-LCD-x86_64.AppImage"
@@ -50,7 +51,7 @@ UNIT_PATH = os.path.expanduser(f"~/.config/systemd/user/{SERVICE}")
RULE_PATH = "/etc/udev/rules.d/70-gamemax.rules" RULE_PATH = "/etc/udev/rules.d/70-gamemax.rules"
UNIT_TEMPLATE = """[Unit] UNIT_TEMPLATE = """[Unit]
Description=GAMEMAX HID sensor display bridge (PcInfoMonitorPro replacement) Description=IceBurg LCD — HID sensor display bridge (Linux)
After=graphical-session.target After=graphical-session.target
[Service] [Service]
@@ -331,7 +332,7 @@ class Window(QWidget):
super().__init__() super().__init__()
self.tray = tray self.tray = tray
self.prev_stat = gr.stat_snapshot() self.prev_stat = gr.stat_snapshot()
self.setWindowTitle(f"GAMEMAX IceBurg LCD v{APP_VERSION}") self.setWindowTitle(f"{APP_NAME} v{APP_VERSION}")
self.setWindowIcon(QIcon(icon_path())) self.setWindowIcon(QIcon(icon_path()))
self.setMinimumWidth(640) self.setMinimumWidth(640)
root = QVBoxLayout(self) root = QVBoxLayout(self)
@@ -341,7 +342,7 @@ class Window(QWidget):
if isinstance(geom, list) and len(geom) == 4: if isinstance(geom, list) and len(geom) == 4:
self.setGeometry(*[int(g) for g in geom]) self.setGeometry(*[int(g) for g in geom])
hint = QLabel("Kontrol layar LCD AIO GAMEMAX. Pilih slot kipas/sumber suhu di " hint = QLabel("Kontrol layar LCD AIO IceBurg Digital. Pilih slot kipas/sumber suhu di "
"<b>Pengaturan</b> lalu klik <b>Simpan &amp; terapkan</b>.") "<b>Pengaturan</b> lalu klik <b>Simpan &amp; terapkan</b>.")
hint.setObjectName("hint") hint.setObjectName("hint")
hint.setWordWrap(True) hint.setWordWrap(True)
@@ -563,7 +564,7 @@ class Window(QWidget):
return return
box = QMessageBox(self) box = QMessageBox(self)
box.setWindowTitle("Tutup GAMEMAX LCD") box.setWindowTitle(f"Tutup {APP_NAME}")
box.setText("Sembunyikan ke tray atau keluar sepenuhnya?") box.setText("Sembunyikan ke tray atau keluar sepenuhnya?")
box.setInformativeText("Selama tersembunyi di tray, data sensor tetap dikirim ke layar.") box.setInformativeText("Selama tersembunyi di tray, data sensor tetap dikirim ke layar.")
remember = QCheckBox("Ingat pilihan ini") remember = QCheckBox("Ingat pilihan ini")
@@ -846,7 +847,7 @@ class Window(QWidget):
"kosong": "Layar dikosongkan (nilai nol)", "kosong": "Layar dikosongkan (nilai nol)",
"berhenti": "Pengiriman data dihentikan"} "berhenti": "Pengiriman data dihentikan"}
if mode != "normal" or getattr(self, "_mode_seen", False): if mode != "normal" or getattr(self, "_mode_seen", False):
subprocess.run(["notify-send", "-a", "GAMEMAX LCD", "Status layar", subprocess.run(["notify-send", "-a", APP_NAME, "Status layar",
labels[mode]], capture_output=True) labels[mode]], capture_output=True)
self._mode_seen = True self._mode_seen = True
dot = "🟢" if active else "⚪" dot = "🟢" if active else "⚪"
@@ -945,7 +946,7 @@ class Tray:
blank = bool(gr.load_config(CONFIG_PATH).get("blank")) blank = bool(gr.load_config(CONFIG_PATH).get("blank"))
state = ("layar kosong (nilai nol)" if blank and active state = ("layar kosong (nilai nol)" if blank and active
else ("pengiriman dihentikan" if not active else "normal")) else ("pengiriman dihentikan" if not active else "normal"))
self.icon.setToolTip(f"GAMEMAX LCD: {state}") self.icon.setToolTip(f"{APP_NAME}: {state}")
base = icon_path() base = icon_path()
self.icon.setIcon(dimmed_icon(base) if state != "normal" else QIcon(base)) self.icon.setIcon(dimmed_icon(base) if state != "normal" else QIcon(base))
window = getattr(self, "window", None) window = getattr(self, "window", None)
@@ -959,7 +960,7 @@ class Tray:
self.window.raise_() self.window.raise_()
self.window.activateWindow() self.window.activateWindow()
if QSystemTrayIcon.isSystemTrayAvailable(): if QSystemTrayIcon.isSystemTrayAvailable():
self.icon.showMessage("GAMEMAX LCD", "Jendela dibuka dari permintaan kedua.", self.icon.showMessage(APP_NAME, "Jendela dibuka dari permintaan kedua.",
QSystemTrayIcon.Information, 3000) QSystemTrayIcon.Information, 3000)
@@ -976,7 +977,7 @@ def main():
def _main(): def _main():
app = QApplication(sys.argv) app = QApplication(sys.argv)
app.setApplicationName("GAMEMAX LCD") app.setApplicationName(APP_NAME)
app.setStyleSheet(APP_QSS) app.setStyleSheet(APP_QSS)
app.setQuitOnLastWindowClosed(False) app.setQuitOnLastWindowClosed(False)
@@ -986,10 +987,10 @@ def _main():
if probe.waitForConnected(400): if probe.waitForConnected(400):
probe.write(b"raise") probe.write(b"raise")
probe.waitForBytesWritten(400) probe.waitForBytesWritten(400)
print("GAMEMAX LCD sudah berjalan — instance pertama diminta membuka jendelanya.") print(f"{APP_NAME} sudah berjalan — instance pertama diminta membuka jendelanya.")
# Beri tahu lewat notifikasi desktop juga, karena keluarnya proses kedua bisa # Beri tahu lewat notifikasi desktop juga, karena keluarnya proses kedua bisa
# terlihat seperti crash saat diluncurkan dari menu. # terlihat seperti crash saat diluncurkan dari menu.
subprocess.run(["notify-send", "-a", "GAMEMAX LCD", "Sudah berjalan", subprocess.run(["notify-send", "-a", APP_NAME, "Sudah berjalan",
"Aplikasi sudah aktif — jendelanya dibuka, cek taskbar/tray."], "Aplikasi sudah aktif — jendelanya dibuka, cek taskbar/tray."],
capture_output=True) capture_output=True)
return 0 return 0