From 23243c517123a9869a370b604273908ffce4225a Mon Sep 17 00:00:00 2001 From: yusufipk Date: Thu, 27 Aug 2026 15:52:02 +0300 Subject: [PATCH] Trim the README and polish the display selection The settings-storage paragraph goes back to the one sentence it was. The screen list now shows native resolutions rather than the scaled ones, the Turkish tab is named Ekran, and the repositioning comment says what a named screen changes. --- README.md | 16 +++++----------- README.tr.md | 11 ++--------- dikte/i18n.py | 2 +- dikte/overlay.py | 5 ++++- dikte/settings_ui.py | 6 +++++- 5 files changed, 17 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index 85be8fc..fe36166 100644 --- a/README.md +++ b/README.md @@ -117,17 +117,11 @@ run here by default, on models of your own. The cloud is the other option: speech to text on **OpenAI**, **Groq** or **OpenRouter** (`gpt-4o-transcribe`), cleanup on OpenRouter (`google/gemini-3.5-flash-lite`) or, when either is installed, on Claude Code or Codex. The keys fall back to `OPENAI_API_KEY`, -`GROQ_API_KEY` and `OPENROUTER_API_KEY`. - -All settings, including the indicator screen and corner, are stored outside the -application: in `$XDG_CONFIG_HOME/dikte/config.json` (normally -`~/.config/dikte/config.json`) on Linux, `%APPDATA%\Dikte\config.json` on -Windows, and `~/Library/Application Support/Dikte/config.json` on macOS. The -file is mode 600 where Unix permissions apply. Rebuilding, replacing or -updating Dikte therefore keeps the settings. Only removing that file or -uninstalling with `--purge` resets them. Cleanup can be switched off, in which -case the raw transcript is pasted, and a thinking model's effort can be set -next to it. +`GROQ_API_KEY` and `OPENROUTER_API_KEY`, and are stored in +`~/.config/dikte/config.json`, mode 600, or in +`~/Library/Application Support/Dikte` on a Mac. Cleanup can be switched off, in +which case the raw transcript is pasted, and a thinking model's effort can be +set next to it. ## Using it diff --git a/README.tr.md b/README.tr.md index 0457c52..5e88c69 100644 --- a/README.tr.md +++ b/README.tr.md @@ -114,15 +114,8 @@ seçersen sesi yazıya çevirme **OpenAI**, **Groq** ya da **OpenRouter**'da (varsayılan `gpt-4o-transcribe`), temizleme OpenRouter'da (`google/gemini-3.5-flash-lite`) ya da kuruluysa Claude Code veya Codex'te çalışır. Anahtarları boş bırakırsan `OPENAI_API_KEY`, `GROQ_API_KEY` ve -`OPENROUTER_API_KEY` kullanılır. - -Gösterge ekranı ve köşesi dahil bütün ayarlar uygulamanın dışında saklanır: -Linux'ta `$XDG_CONFIG_HOME/dikte/config.json` (normalde -`~/.config/dikte/config.json`), Windows'ta `%APPDATA%\Dikte\config.json`, -macOS'ta `~/Library/Application Support/Dikte/config.json`. Unix izinlerinin -geçerli olduğu sistemlerde dosyanın izni 600'dür. Bu nedenle Dikte'yi yeniden -derlemek, değiştirmek veya güncellemek ayarları silmez. Yalnızca bu dosyayı -silmek ya da kaldırıcıyı `--purge` ile çalıştırmak ayarları sıfırlar. +`OPENROUTER_API_KEY` kullanılır; anahtarlar `~/.config/dikte/config.json` +içinde, izinler 600, Mac'te ise `~/Library/Application Support/Dikte` altında. Temizlemeyi tamamen kapatabilirsin, o zaman ham transkript yapıştırılır; modelin yanındaki kutudan düşünme seviyesini de seçebilirsin. diff --git a/dikte/i18n.py b/dikte/i18n.py index 56ec263..c4f19d1 100644 --- a/dikte/i18n.py +++ b/dikte/i18n.py @@ -150,7 +150,7 @@ TR = { # --- settings: tabs and general ------------------------------------ "Dikte Settings": "Dikte Ayarları", "General": "Genel", - "Display": "Görüntü", + "Display": "Ekran", "API and models": "API ve modeller", "Cleanup rules": "Temizleme kuralları", "Audio file": "Ses dosyası", diff --git a/dikte/overlay.py b/dikte/overlay.py index a4acbe3..8fc561a 100644 --- a/dikte/overlay.py +++ b/dikte/overlay.py @@ -246,7 +246,10 @@ class Overlay(QWidget): self.resize(width, HEIGHT) def _reposition(self): - # On a multi-monitor setup, show up where the user actually is. + # The screen the settings name, or, when none is named or it is not + # plugged in right now, where the user actually is. Names are connector + # names on X11 and model names on macOS, where two identical monitors + # can share one; the first then wins. screen = next( (item for item in QApplication.screens() if item.name() == self.screen_name), None, diff --git a/dikte/settings_ui.py b/dikte/settings_ui.py index a032ffc..945e710 100644 --- a/dikte/settings_ui.py +++ b/dikte/settings_ui.py @@ -732,10 +732,14 @@ class SettingsWindow(QDialog): self.indicator_screen = QComboBox() self.indicator_screen.addItem(t("Follow the mouse pointer"), "") for screen in QGuiApplication.screens(): + # The native resolution, so that a scaled 4K screen reads + # 3840 × 2160 and not the 1920 × 1080 Qt sees through the scale. area = screen.geometry() + ratio = screen.devicePixelRatio() self.indicator_screen.addItem( t("{name} ({width} × {height})", name=screen.name(), - width=area.width(), height=area.height()), + width=round(area.width() * ratio), + height=round(area.height() * ratio)), screen.name(), ) form.addRow(t("Indicator screen"), self.indicator_screen)