Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package nwg-displays for openSUSE:Factory checked in at 2025-12-15 11:59:56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/nwg-displays (Old) and /work/SRC/openSUSE:Factory/.nwg-displays.new.1939 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nwg-displays" Mon Dec 15 11:59:56 2025 rev:9 rq:1322807 version:0.3.26 Changes: -------- --- /work/SRC/openSUSE:Factory/nwg-displays/nwg-displays.changes 2025-03-21 20:22:43.811528573 +0100 +++ /work/SRC/openSUSE:Factory/.nwg-displays.new.1939/nwg-displays.changes 2025-12-15 12:05:52.110184302 +0100 @@ -1,0 +2,10 @@ +Sat Dec 13 20:53:45 UTC 2025 - Avindra Goolcharan <[email protected]> + +- Update to version 0.3.26 + * Add --workspaces parameter for hypr #87 + * Ensure monitors.conf is writable #97 + * feat(i18n): add Turkish language support #95 +- Update from 0.3.25 + * Added Czech lang file; #85 + +------------------------------------------------------------------- Old: ---- nwg-displays-0.3.24.tar.gz New: ---- nwg-displays-0.3.26.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ nwg-displays.spec ++++++ --- /var/tmp/diff_new_pack.Kyd5gm/_old 2025-12-15 12:05:52.854215585 +0100 +++ /var/tmp/diff_new_pack.Kyd5gm/_new 2025-12-15 12:05:52.862215921 +0100 @@ -1,7 +1,7 @@ # # spec file for package nwg-displays # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2025 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: nwg-displays -Version: 0.3.24 +Version: 0.3.26 Release: 0 Summary: A GTK3 wrapper to display text on the desktop for wlroots License: MIT ++++++ nwg-displays-0.3.24.tar.gz -> nwg-displays-0.3.26.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nwg-displays-0.3.24/nwg_displays/langs/cs_CZ.json new/nwg-displays-0.3.26/nwg_displays/langs/cs_CZ.json --- old/nwg-displays-0.3.24/nwg_displays/langs/cs_CZ.json 1970-01-01 01:00:00.000000000 +0100 +++ new/nwg-displays-0.3.26/nwg_displays/langs/cs_CZ.json 2025-08-28 02:02:20.000000000 +0200 @@ -0,0 +1,34 @@ +{ + "10-bit-support": "Podpora 10 bitů", + "10-bit-support-tooltip": "Povolit podporu 10bitové barevné hloubky.", + "active": "Aktivní", + "adaptive-sync": "Adaptivní synchronizace", + "adaptive-sync-tooltip": "Povolí, nebo zakáže adaptivní synchronizaci \n(často označovanou jako VRR proměnná obnovovací frekvence, \nnebo podle výrobců FreeSync/G-Sync).", + "apply": "Použít", + "close": "Zavřít", + "custom-mode": "Upravený mód", + "custom-mode-tooltip": "Přidá '--custom' argument k nastavení módu \nNeyobrayeného v dostupných.\nPoužijte POUZE pokud přesně víte, co děláte.", + "dpms-tooltip": "Povolí, nebo zakáže výstup přez DPMS. \nPro vypnutí výstupu (tj. Vyprázdnění obrazovkz, \nale ponechání pracovních ploch beze změn), můžete vypnout DPMS.", + "keep": "Ponechat", + "keep-current-settings": "Ponechat nynější nastavení", + "modes": "Módy", + "modes-tooltip": "Zobraz seznam dostupných \nrežimů výstupu pro výběr.", + "none": "Nic", + "position-x": "pozice X", + "refresh": "Osvěžit", + "restore": "Obnovit", + "scale": "Škálovat", + "scale-filter": "Filtr škálování", + "scale-filter-tooltip": "'Lineární' je plynulejší a rozmazanější, 'nejbližší' je ostřejší a blokovější.\nNastavení 'smart' použije nejbližší, pokud má výstup měřítka celé číslo,\njinak lineární.", + "size": "Velikost", + "toggle": "Přepnout", + "toggle-tooltip": "Zapnout/vypnout výstupy", + "transform": "Převrátit", + "transform-tooltip": "Nastaví hodnotu transformace pozadí na určenou hodnotu.", + "use-desc": "Použít popis", + "use-desc-tooltip": "Použít popis monitoru místo názvu výstupu", + "view-scale-tooltip": "Zvětšit náhled výstupu", + "workspaces": "Pracovní plochy", + "workspaces-tooltip": "Otevřít Pracovní plochu -> Vyskakovací okno přiřazení k výstupům.", + "zoom": "Zvětšení" +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nwg-displays-0.3.24/nwg_displays/langs/tr_TR.json new/nwg-displays-0.3.26/nwg_displays/langs/tr_TR.json --- old/nwg-displays-0.3.24/nwg_displays/langs/tr_TR.json 1970-01-01 01:00:00.000000000 +0100 +++ new/nwg-displays-0.3.26/nwg_displays/langs/tr_TR.json 2025-08-28 02:02:20.000000000 +0200 @@ -0,0 +1,34 @@ +{ + "10-bit-support": "10 bit desteği", + "10-bit-support-tooltip": "10 bit renk derinliği desteğini etkinleştirir.", + "active": "Aktif", + "adaptive-sync": "Uyarlanabilir senkronizasyon", + "adaptive-sync-tooltip": "Uyarlanabilir senkronizasyonu etkinleştirir veya devre dışı bırakır\n(genellikle Değişken Yenileme Hızı olarak anılır,\nveya üreticiye özel isimlerle FreeSync/G-Sync olarak bilinir).", + "apply": "Uygula", + "close": "Kapat", + "custom-mode": "Özel mod", + "custom-mode-tooltip": "'--custom' argümanını ekleyerek\nlistede olmayan özel bir modu ayarlar.\nYalnızca ne yaptığınızı biliyorsanız kullanın.", + "dpms-tooltip": "DPMS üzerinden çıkışı etkinleştirir veya devre dışı bırakır.\nBir çıkışı kapatmak için (ekranı karartmak ancak\nçalışma alanlarını korumak için), DPMS kapalı olarak ayarlanabilir.", + "keep": "Koru", + "keep-current-settings": "Geçerli ayarları koru", + "modes": "Modlar", + "modes-tooltip": "Seçilebilecek mevcut çıkış modlarının\nbir listesini görüntüler.", + "none": "Yok", + "position-x": "X konumu", + "refresh": "Yenile", + "restore": "Geri yükle", + "scale": "Ölçek", + "scale-filter": "Ölçek filtresi", + "scale-filter-tooltip": "'Linear' daha yumuşak ve bulanık, 'nearest' daha keskin ve pikselli görünür.\n'Smart' ayarı, çıkış tam sayı ölçekleme faktörüne sahipse 'nearest',\ndeğilse 'linear' uygular.", + "size": "Boyut", + "toggle": "Aç/Kapat", + "toggle-tooltip": "Çıkışları etkinleştirir/devre dışı bırakır.", + "transform": "Dönüştür", + "transform-tooltip": "Arka plan dönüşümünü belirtilen değere ayarlar.", + "use-desc": "Açıklamayı kullan", + "use-desc-tooltip": "Çıkış adının yerine monitör açıklamasını kullanır", + "view-scale-tooltip": "Çıkış önizleme ölçeği", + "workspaces": "Çalışma alanları", + "workspaces-tooltip": "Çalışma Alanı -> Çıkış atama penceresini açar.", + "zoom": "Yakınlaştır" +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nwg-displays-0.3.24/nwg_displays/main.py new/nwg-displays-0.3.26/nwg_displays/main.py --- old/nwg-displays-0.3.24/nwg_displays/main.py 2025-03-11 01:34:11.000000000 +0100 +++ new/nwg-displays-0.3.26/nwg_displays/main.py 2025-08-28 02:02:20.000000000 +0200 @@ -764,7 +764,7 @@ def on_workspaces_apply_btn_hypr(w, win, old_workspaces): global workspaces if workspaces != old_workspaces: - workspace_conf_file = os.path.join(hypr_config_dir, "workspaces.conf") + workspace_conf_file = workspaces_path text_file = open(workspace_conf_file, "w") now = datetime.datetime.now() @@ -1027,6 +1027,13 @@ help="path to save the monitors.conf file to, default: {}".format( "{}/monitors.conf".format(hypr_config_dir))) + parser.add_argument("-w", + "--workspaces_path", + type=str, + default="{}/workspaces.conf".format(hypr_config_dir), + help="path to save the workspaces.conf file to, default: {}".format( + "{}/workspaces.conf".format(hypr_config_dir))) + parser.add_argument("-n", "--num_ws", type=int, @@ -1043,6 +1050,7 @@ load_vocabulary() global outputs_path + global workspaces_path if sway: if os.path.isdir(sway_config_dir): outputs_path = args.outputs_path @@ -1052,9 +1060,35 @@ elif hypr: if os.path.isdir(hypr_config_dir): outputs_path = args.monitors_path + if os.path.lexists(outputs_path): + is_writable = os.access(outputs_path, os.W_OK) + if os.path.islink(outputs_path) and not is_writable: + eprint(f"INFO: '{outputs_path}' is a read-only symlink. Replacing with a writable file.") + tmp_path = f"{outputs_path}.tmp" + try: + with open(outputs_path, 'r') as src_file, open(tmp_path, 'w') as tmp_file: + tmp_file.write(src_file.read()) + backup_path = f"{outputs_path}.bkp" + counter = 1 + while os.path.lexists(backup_path): + backup_path = f"{outputs_path}.bkp{counter}" + counter += 1 + eprint(f"INFO: Backing up '{outputs_path}' to '{backup_path}'") + os.rename(outputs_path, backup_path) + os.rename(tmp_path, outputs_path) + except Exception as e: + eprint(f"ERROR: Failed to replace read-only symlink: {e}") + elif not os.path.islink(outputs_path) and not is_writable: + eprint(f"INFO: '{outputs_path}' is a read-only file. Making it writable.") + try: + os.chmod(outputs_path, os.stat(outputs_path).st_mode | stat.S_IWUSR) + except Exception as e: + eprint(f"ERROR: Failed to make file writable: {e}") + workspaces_path = args.workspaces_path else: eprint("Hyprland config directory not found!") outputs_path = "" + workspaces_path = "" global num_ws num_ws = args.num_ws diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nwg-displays-0.3.24/setup.py new/nwg-displays-0.3.26/setup.py --- old/nwg-displays-0.3.24/setup.py 2025-03-11 01:34:11.000000000 +0100 +++ new/nwg-displays-0.3.26/setup.py 2025-08-28 02:02:20.000000000 +0200 @@ -9,7 +9,7 @@ setup( name='nwg-displays', - version='0.3.24', + version='0.3.26', description='nwg-shell output configuration utility', packages=find_packages(), include_package_data=True,
