Compare commits

..

8 commits

Author SHA1 Message Date
imide
0934773de7
fix(ci): switch from install to just run (#1137) 2026-07-26 21:08:43 +02:00
github-actions[bot]
500db94a43 metainfo: add entry for v1.3.0 2026-07-26 18:56:35 +00:00
smartfrigde
c8d91f6129 fix: support overlay on tahoe and older 2026-07-26 19:09:49 +02:00
Isaac Boorman
79d444be19
fix: macOS traffic light positioning on 'Overlay' window style (#1134) 2026-07-26 19:06:09 +02:00
smartfrigde
0d4536e924 chore: disable mac system picker by default 2026-07-26 19:03:46 +02:00
smartfrigde
91fd2f6782 feat: add a global keybind linux notice 2026-07-26 19:03:46 +02:00
smartfrigde
6a0f645df9 fix: MacOS -> macOS 2026-07-26 19:03:46 +02:00
imide
04d2b29f83
fix: update appimage toolset as per electron-builder docs (#1136) 2026-07-26 18:57:33 +02:00
19 changed files with 95 additions and 27 deletions

View file

@ -15,11 +15,8 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Install flatpak-node-generator
run: pipx install git+https://github.com/flatpak/flatpak-builder-tools.git#subdirectory=node
- name: Create generated-sources.json
run: /root/.local/bin/flatpak-node-generator pnpm pnpm-lock.yaml --node-sdk-extension org.freedesktop.Sdk.Extension.node26 --electron-node-headers
- name: Run flatpak-node-generator
run: pipx run git+https://github.com/flatpak/flatpak-builder-tools.git#subdirectory=node pnpm pnpm-lock.yaml --node-sdk-extension org.freedesktop.Sdk.Extension.node26 --electron-node-headers
- name: Upload generated-sources.json to release
run: |

View file

@ -50,7 +50,7 @@ jobs:
key: electron-zips.${{matrix.os}}
# Sadly, it makes more sense to separate builds per platform
- name: Build Electron for MacOS (DMG & ZIP)
- name: Build Electron for macOS (DMG & ZIP)
if: matrix.os == 'macos-latest'
run: pnpm electron-builder --universal -m zip dmg
env:

View file

@ -27,7 +27,7 @@
"settings-transparency-universal": "Universell",
"settings-transparency-modern": "Modern",
"settings-theme-transparent": "Transparent",
"settings-transparency-tahoe-warning": "Transparenz kann zu großem Lags auf MacOS 26 Tahoe führen.",
"settings-transparency-tahoe-warning": "Transparenz kann zu großem Lags auf macOS 26 Tahoe führen.",
"settings-popoutPiP": "Anruf Popup-Fenster immer im Vordergrund anzeigen",
"settings-popoutPiP-desc": "Wenn diese Option aktiviert ist, wird das Anruf-Popup im Modus „Immer im Vordergrund“ angezeigt.",
"settings-venmic-workaround": "Umgehungslösung",

View file

@ -27,7 +27,7 @@
"settings-transparency-universal": "Universal",
"settings-transparency-modern": "Modern",
"settings-theme-transparent": "Transparent",
"settings-transparency-tahoe-warning": "Transparency may cause excessive lag on MacOS 26 Tahoe.",
"settings-transparency-tahoe-warning": "Transparency may cause excessive lag on macOS 26 Tahoe.",
"settings-material": "Window Material",
"settings-material-desc": "Set the Windows background material Legcord uses.",
"settings-material-mica": "Mica",

View file

@ -27,7 +27,7 @@
"settings-transparency-universal": "Universal",
"settings-transparency-modern": "Moderna",
"settings-theme-transparent": "Transparente",
"settings-transparency-tahoe-warning": "La transparencia puede provocar lag excesivo en MacOS 26 Tahoe.",
"settings-transparency-tahoe-warning": "La transparencia puede provocar lag excesivo en macOS 26 Tahoe.",
"settings-popoutPiP": "Ventana emergente siempre visible",
"settings-popoutPiP-desc": "Cuanto está habilitado, la ventana emergente estará en modo siempre visible.",
"settings-venmic-workaround": "Workaraound",

View file

@ -19,7 +19,7 @@
"settings-transparency-universal": "Universel",
"settings-transparency-modern": "Moderne",
"settings-theme-transparent": "Transparent",
"settings-transparency-tahoe-warning": "La transparence peut causer un lag excessif sur MacOS 26 Tahoe.",
"settings-transparency-tahoe-warning": "La transparence peut causer un lag excessif sur macOS 26 Tahoe.",
"settings-venmic-deviceSelect": "Sélection du périphérique",
"settings-venmic-deviceSelect-desc": "Autoriser la sélection d'un périphérique audio.",
"settings-venmic-granularSelect-desc": "Autoriser la sélection d'une source d'entrée audio.",

View file

@ -27,7 +27,7 @@
"settings-theme-desc": "Az ablakstílus kezeli, hogy a Legcord milyen fejlécet használ.",
"settings-sleepInBackground-desc": "Engedélyezi a Chromium háttérben történő lassítását. Ez segíthet az akkumulátor élettartamának megőrzésében, de egyben megszünteti az értesítéseket.",
"settings-transparency-desc": "Állítsd be, milyen átlátszósági módot használjon a Legcord.",
"settings-transparency-tahoe-warning": "Az átlátszóság késleltetést okozhat MacOS 26 Tahoe rendszeren.",
"settings-transparency-tahoe-warning": "Az átlátszóság késleltetést okozhat macOS 26 Tahoe rendszeren.",
"settings-popoutPiP": "A hívás felugró ablaka mindig felül",
"settings-popoutPiP-desc": "Ha engedélyezve van, a hívás felugró ablaka mindig felül lesz.",
"settings-venmic-workaround": "Ideiglenes megoldás",
@ -83,8 +83,8 @@
"settings-bitrateTarget-desc": "Cél bitráta képernyőmegosztáshoz.",
"settings-invitewebsocket": "Rich Presence",
"settings-invitewebsocket-desc": "Az arRPC-t használja a Discord RPC (Rich Presence) támogatásához a gépeden futó helyi programokkal.",
"settings-useMacSystemPicker": "MacOS rendszerválasztó használata",
"settings-useMacSystemPicker-desc": "Amikor csak lehetséges, natív MacOS képernyőmegosztást használjon. Csak MacOS 15+ rendszeren.",
"settings-useMacSystemPicker": "macOS rendszerválasztó használata",
"settings-useMacSystemPicker-desc": "Amikor csak lehetséges, natív macOS képernyőmegosztást használjon. Csak macOS 15+ rendszeren.",
"settings-additionalArguments": "További argumentumok",
"settings-additionalArguments-desc": "A további argumentumok extra parancsok, amelyeket átadhatsz a Legcordnak. Használhatók funkciók engedélyezésére vagy letiltására, illetve problémák megoldására.",
"settings-mod": "Kliens bővítmény",

View file

@ -27,7 +27,7 @@
"settings-transparency-universal": "Universal",
"settings-transparency-modern": "Modern",
"settings-theme-transparent": "Transparan",
"settings-transparency-tahoe-warning": "Transparansi dapat menyebabkan lag berlebihan pada MacOS 26 Tahoe.",
"settings-transparency-tahoe-warning": "Transparansi dapat menyebabkan lag berlebihan pada macOS 26 Tahoe.",
"settings-popoutPiP": "Panggilan Popout Selalu di Atas",
"settings-popoutPiP-desc": "Saat diaktifkan, jendela popout panggilan akan berada dalam mode Selalu di Atas.",
"settings-venmic-workaround": "Solusi sementara",

View file

@ -31,6 +31,6 @@
"settings-transparency-desc": "Legcordの透明化モードを設定します。",
"settings-transparency-universal": "ユニバーサル",
"settings-transparency-modern": "モダン",
"settings-transparency-tahoe-warning": "MacOS 26 Tahoeにおいて、透明化は過度なラグを引き起こす可能性があります。",
"settings-transparency-tahoe-warning": "macOS 26 Tahoeにおいて、透明化は過度なラグを引き起こす可能性があります。",
"detectable-themes": "テーマ"
}

View file

@ -31,7 +31,7 @@
"settings-sleepInBackground": "Descansar em segundo plano",
"settings-sleepInBackground-desc": "Ativa a limitação de recursos do Chromium em segundo plano. Isso pode ajudar com economia de bateria, mas pode quebrar funcionalidade das notificações.",
"settings-transparency-modern": "Moderno",
"settings-transparency-tahoe-warning": "Transparência pode causar perda excessiva de performance em MacOS 26 (Tahoe).",
"settings-transparency-tahoe-warning": "Transparência pode causar perda excessiva de performance em macOS 26 (Tahoe).",
"settings-venmic-workaround": "Solução alternativa/temporária",
"settings-venmic-workaround-desc": "Ativa ou desativa a solução alternativa para um problema que causa o microfone ser compartilhado, invés do áudio escolhido.",
"settings-venmic-deviceSelect": "Escolha o dispositivo",

View file

@ -25,7 +25,7 @@
"settings-transparency-universal": "Universal",
"settings-transparency-modern": "Moderno",
"settings-theme-transparent": "Transparente",
"settings-transparency-tahoe-warning": "Transparência pode causar perda excessiva de performance em MacOS 26 (Tahoe).",
"settings-transparency-tahoe-warning": "Transparência pode causar perda excessiva de performance em macOS 26 (Tahoe).",
"settings-popoutPiP": "Elevação de Chamada sempre acima",
"settings-venmic-workaround": "Solução alternativa/temporária",
"settings-venmic-workaround-desc": "Ativa ou desativa a solução alternativa para um problema que causa o microfone ser partilhado, invés do áudio escolhido.",

View file

@ -26,7 +26,7 @@
"settings-transparency-universal": "Универсальный",
"settings-transparency-modern": "Современный",
"settings-theme-transparent": "Прозрачный",
"settings-transparency-tahoe-warning": "Прозрачность может вызывать чрезмерные лаги на MacOS 26 Tahoe.",
"settings-transparency-tahoe-warning": "Прозрачность может вызывать чрезмерные лаги на macOS 26 Tahoe.",
"settings-popoutPiP": "Всплывающее окно вызова поверх всех окон",
"settings-popoutPiP-desc": "При включении этой функции всплывающее окно вызова всегда будет отображаться в режиме Поверх всех окон.",
"settings-venmic-deviceSelect": "Выбор устройства",

View file

@ -27,7 +27,7 @@
"settings-transparency-universal": "Універсальний",
"settings-transparency-modern": "Сучасний",
"settings-theme-transparent": "Прозорий",
"settings-transparency-tahoe-warning": "Прозорість може призвести до надмірного лагу на MacOS 26 Tahoe.",
"settings-transparency-tahoe-warning": "Прозорість може призвести до надмірного лагу на macOS 26 Tahoe.",
"settings-popoutPiP": "Виклик спливаючого вікна завжди зверху",
"settings-popoutPiP-desc": "Коли цю функцію ввімкнено, спливаюче вікно виклику буде в режимі «Завжди зверху».",
"settings-venmic-workaround": "Тимчасове вирішення",

View file

@ -25,6 +25,6 @@
"settings-transparency-universal": "通用",
"settings-transparency-modern": "现代",
"settings-theme-transparent": "透明",
"settings-transparency-tahoe-warning": "在 MacOS 26 Tahoe 上,启用透明效果可能会导致明显卡顿。",
"settings-transparency-tahoe-warning": "在 macOS 26 Tahoe 上,启用透明效果可能会导致明显卡顿。",
"settings-popoutPiP": "通话窗口弹出时保持置顶"
}

View file

@ -137,6 +137,9 @@ export const config: Configuration = {
loadBrowserProcessSpecificV8Snapshot: false,
grantFileProtocolExtraPrivileges: false,
},
toolsets: {
appimage: "1.0.3",
},
};
export default config;

View file

@ -16,7 +16,7 @@
</description>
<screenshots>
<screenshot type="default">
<caption>Legcord settings page on MacOS</caption>
<caption>Legcord settings page on macOS</caption>
<image type="source">https://raw.githubusercontent.com/Legcord/Legcord/refs/tags/v1.2.4/assets/screenshots/settings.png</image>
</screenshot>
<screenshot>
@ -29,6 +29,52 @@
</screenshot>
</screenshots>
<releases>
<release version="1.3.0" date="2026-07-26" type="stable">
<url>https://github.com/Legcord/Legcord/releases/tag/v1.3.0</url>
<description>
<p>Whats New in Legcord v1.3.0 ✨</p>
<ul>
<li>🖥️ **Hardware accelerated screensharing on Windows &amp; macOS**</li>
<li>🎨 **Redesigned screenshare picker UI**</li>
</ul>
<ul>
<li>🖼️ **Redesigned Settings page, Themes page, About window**</li>
</ul>
<ul>
<li>⚙️ **Settings sidebar icons**</li>
</ul>
<ul>
<li>🍎 **macOS native system audio loopback capture**</li>
</ul>
<ul>
<li>🐧 **Wayland global keybind support**</li>
</ul>
<ul>
<li>⚡ **Performance &amp; startup optimizations**</li>
</ul>
<ul>
<li>🔒 **Security enhancements &amp; protocol changes**</li>
</ul>
<ul>
<li>🖼️ **CSS Editor now loads locally**</li>
</ul>
<ul>
<li>🛡️ Fixed potential JS injection via `navigateTo` deep links ([https://github.com/Legcord/Legcord/pull/1074](https://github.com/Legcord/Legcord/pull/1074) by @youtsuhodev).</li>
<li>🎙️ Fixed Windows microphone drop in `getUserMedia` patch ([https://github.com/Legcord/Legcord/pull/1088](https://github.com/Legcord/Legcord/pull/1088) by @Kolhun).</li>
<li>🖥️ Fixed window state restoration across mixed-DPI multi-monitor setups ([https://github.com/Legcord/Legcord/pull/1110](https://github.com/Legcord/Legcord/pull/1110) by @Sickjuicy).</li>
<li>🍏 Fixed macOS traffic light positioning on 'Overlay' window style ([https://github.com/Legcord/Legcord/pull/1134](https://github.com/Legcord/Legcord/pull/1134) by @isaxk).</li>
<li>🚀 Fixed blank settings and theme on first launch ([https://github.com/Legcord/Legcord/pull/1101](https://github.com/Legcord/Legcord/pull/1101) by @youtsuhodev).</li>
<li>📦 Updated Flatpak metainfo for full Flathub compatibility ([https://github.com/Legcord/Legcord/pull/1111](https://github.com/Legcord/Legcord/pull/1111) &amp; [https://github.com/Legcord/Legcord/pull/1112](https://github.com/Legcord/Legcord/pull/1112) by @imide).</li>
<li>📦 Added license and dependency metadata to Debian target ([https://github.com/Legcord/Legcord/pull/1130](https://github.com/Legcord/Legcord/pull/1130) by @renangiuliasse).</li>
<li>🛠️ Updated AppImage toolset per Electron Builder docs ([https://github.com/Legcord/Legcord/pull/1136](https://github.com/Legcord/Legcord/pull/1136) by @imide).</li>
<li>🤖 Uploaded `generated-sources.json` with release artifacts ([https://github.com/Legcord/Legcord/pull/1119](https://github.com/Legcord/Legcord/pull/1119) by @imide).</li>
<li>🧹 Fixed injection TypeError ([https://github.com/Legcord/Legcord/pull/1085](https://github.com/Legcord/Legcord/pull/1085) by @youtsuhodev).</li>
<li>🧹 Resolved all Biome lint errors and formatted codebase ([https://github.com/Legcord/Legcord/pull/1100](https://github.com/Legcord/Legcord/pull/1100) &amp; [https://github.com/Legcord/Legcord/pull/1117](https://github.com/Legcord/Legcord/pull/1117) by @youtsuhodev).</li>
<li>📖 Added clipboard fallback plugin documentation example ([https://github.com/Legcord/Legcord/pull/1123](https://github.com/Legcord/Legcord/pull/1123) by @NigelThorne).</li>
<li>🧹 Bumped all depedencies</li>
</ul>
</description>
</release>
<release version="1.2.4" date="2026-04-15" type="stable">
<url>https://github.com/Legcord/Legcord/releases/tag/v1.2.4</url>
<description>

View file

@ -50,7 +50,7 @@ const defaults: Settings = {
disableAutogain: false,
autoHideMenuBar: true,
blockPowerSavingInVoiceChat: false,
useMacSystemPicker: true,
useMacSystemPicker: false,
mobileMode: false,
tray: "dynamic",
doneSetup: false,

View file

@ -539,10 +539,18 @@ export function createWindow() {
symbolColor: "#99aab5",
height: 30,
};
browserWindowOptions.trafficLightPosition = {
x: 10,
y: 10,
};
// IF OS release is Tahoe or newer
if (Number.parseInt(os.release(), 10) >= 25) {
browserWindowOptions.trafficLightPosition = {
x: 10,
y: 8.5,
};
} else {
browserWindowOptions.trafficLightPosition = {
x: 10,
y: 10,
};
}
break;
}
switch (getConfig("transparency")) {

View file

@ -31,6 +31,20 @@ export function KeybindsPage() {
{t["keybind-addKeybind"]}
</Button>
</div>
<Show when={window.legcord.platform === "linux"}>
<div
style={{
background: "rgba(255, 255, 210, 0.85)",
border: "1px solid #e6c200",
color: "#2d2100",
padding: "12px 16px",
}}
>
Adding keybinds on Linux is recommended to be done through the system settings instead of Legcord.
This is because some keybinds may not work properly due to how Linux handles global shortcuts. If
you want to add a keybind through Legcord, please make sure to test it first.
</div>
</Show>
<Show
when={keybinds().length > 0}
fallback={