<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Kde on tsvinc</title>
		<link>https://tsvinc.dev/tags/kde/</link>
		<description>Recent content in Kde on tsvinc</description>
		<generator>Hugo</generator>
		<language>en-us</language>
		
		
		
		
			<lastBuildDate>Sun, 25 Oct 2026 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://tsvinc.dev/tags/kde/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Konsole had the switch all along</title>
				<link>https://tsvinc.dev/posts/konsole-had-the-switch/</link>
				<pubDate>Sun, 25 Oct 2026 00:00:00 +0000</pubDate>
				<guid>https://tsvinc.dev/posts/konsole-had-the-switch/</guid>
				<description>&lt;p&gt;Plasma, KDE&#39;s desktop, can switch itself between light and dark, and every app on it is supposed to take the hint. On this Fedora 44 desktop, with Plasma 6.7 and its automatic switching turned on (&lt;code&gt;AutomaticLookAndFeel=true&lt;/code&gt;), the desktop went light, the Qt apps followed, the GTK apps followed, and Kate, KDE&#39;s text editor, followed. Konsole 26.08.1, KDE&#39;s own terminal, stayed dark: a black rectangle on a white desktop, ignoring a memo from its own family. I took that personally, which is a thing I do with software more often than I&#39;d like to admit.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Make Konsole follow Plasma&#39;s light/dark color scheme</title>
				<link>https://tsvinc.dev/guides/konsole-follow-plasma-light-dark/</link>
				<pubDate>Sun, 25 Oct 2026 00:00:00 +0000</pubDate>
				<guid>https://tsvinc.dev/guides/konsole-follow-plasma-light-dark/</guid>
				<description>&lt;p&gt;Make Konsole switch its windows between a light and a dark profile whenever Plasma&#39;s color scheme changes, open windows included, using the profile sync that Konsole 26.08 ships switched off.&lt;/p&gt;&#xA;&#xA;&lt;dl class=&#34;guide-scope&#34;&gt;&lt;div class=&#34;guide-scope-row&#34;&gt;&lt;dt&gt;Tested on&lt;/dt&gt;&lt;dd&gt;Fedora 44 desktop, KDE Plasma 6.7.5 on X11, Konsole 26.08.1, kf6-kconfig 6.31.0, Qt 6.11.2 (2026-10-25).&lt;/dd&gt;&lt;/div&gt;&lt;div class=&#34;guide-scope-row is-gap&#34;&gt;&lt;dt&gt;Not verified&lt;/dt&gt;&lt;dd&gt;Plasma&#39;s own scheduled switch (&lt;code&gt;AutomaticLookAndFeel&lt;/code&gt;) driving Konsole; I only watched scheme changes I triggered with step 5&#39;s commands. A new window opened while Plasma is light, and new tabs: the light-mode windows I tested that day all predate the light profile (Field notes). Starting the test in light mode. The settings-dialog route (Notes). A bundled light scheme such as &lt;code&gt;SolarizedLight&lt;/code&gt;; I used my own. Whether a Konsole process that was already running picks up step 3. Wayland, other distributions, Konsole 26.08.0. The rollback on the live desktop (run on copies of the files only).&lt;/dd&gt;&lt;/div&gt;&lt;div class=&#34;guide-scope-row&#34;&gt;&lt;dt&gt;Needs&lt;/dt&gt;&lt;dd&gt;Konsole 26.08.0 or newer; a Plasma 6 session; &lt;code&gt;kwriteconfig6&lt;/code&gt; and &lt;code&gt;kreadconfig6&lt;/code&gt; (Fedora package &lt;code&gt;kf6-kconfig&lt;/code&gt;); &lt;code&gt;plasma-apply-colorscheme&lt;/code&gt; (Fedora package &lt;code&gt;plasma-workspace&lt;/code&gt;) for the test; a dark Konsole profile whose file has a &lt;code&gt;ColorScheme=&lt;/code&gt; line; a light Konsole color scheme. Optional: &lt;code&gt;strings&lt;/code&gt; (&lt;code&gt;binutils&lt;/code&gt;) to list Konsole&#39;s bundled schemes; &lt;code&gt;xdotool&lt;/code&gt; and ImageMagick to screenshot the test window.&lt;/dd&gt;&lt;/div&gt;&lt;div class=&#34;guide-scope-row&#34;&gt;&lt;dt&gt;Time&lt;/dt&gt;&lt;dd&gt;15 min.&lt;/dd&gt;&lt;/div&gt;&lt;div class=&#34;guide-scope-row&#34;&gt;&lt;dt&gt;Risk&lt;/dt&gt;&lt;dd&gt;low. The setup is per user: &lt;code&gt;konsolerc&lt;/code&gt; gains one group of three keys and one profile file is added. With the sync on, Konsole puts the light or dark profile on every tab of that Konsole process whenever a window opens and at each switch (step 3). The test in step 5 changes Plasma&#39;s color scheme for the whole session and leaves an extra &lt;code&gt;ColorScheme=&lt;/code&gt; line in &lt;code&gt;~/.config/kdeglobals&lt;/code&gt;; step 1 copies that file and step 6 puts it back. Plasma also rewrote its GTK and Qt theme files under &lt;code&gt;~/.config/&lt;/code&gt; during my round trip (&lt;code&gt;gtk-3.0/&lt;/code&gt;, &lt;code&gt;gtk-4.0/&lt;/code&gt;, &lt;code&gt;gtkrc&lt;/code&gt;, &lt;code&gt;gtkrc-2.0&lt;/code&gt;, &lt;code&gt;xsettingsd/&lt;/code&gt;, &lt;code&gt;dconf/user&lt;/code&gt;, &lt;code&gt;Trolltech.conf&lt;/code&gt;, all written at the second command); I didn&#39;t compare them before and after. Undo: delete the three keys and move the light profile out (Undo / rollback).&lt;/dd&gt;&lt;/div&gt;&lt;/dl&gt;&#xA;&lt;h2 id=&#34;before-you-start&#34;&gt;Before you start&lt;a class=&#34;heading-anchor&#34; href=&#34;#before-you-start&#34; aria-label=&#34;Link to section: Before you start&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Konsole is 26.08.0 or newer. That is the first stable release with the setting.&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-console&#34; data-lang=&#34;console&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;$&lt;/span&gt; rpm -q konsole&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;konsole-26.08.1-1.fc44.x86_64&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;Expected: 26.08.0 or later. On other distributions, ask the package manager.&lt;/li&gt;&#xA;&lt;li&gt;The sync is still off, and you know which profile Konsole uses now:&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-console&#34; data-lang=&#34;console&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;$&lt;/span&gt; kreadconfig6 --file konsolerc --group LightDarkTheme --key SyncProfileWithSystemTheme&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;$&lt;/span&gt; kreadconfig6 --file konsolerc --group &lt;span class=&#34;s1&#34;&gt;&amp;#39;Desktop Entry&amp;#39;&lt;/span&gt; --key DefaultProfile&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;user-default.profile&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;$&lt;/span&gt; kreadconfig6 --file kdeglobals --group KDE --key AutomaticLookAndFeel&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;true&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;Expected: an empty line for &lt;code&gt;SyncProfileWithSystemTheme&lt;/code&gt; (unset, and off by default). &lt;code&gt;DefaultProfile&lt;/code&gt; is the profile file new windows get today; mine is the dark one. &lt;code&gt;AutomaticLookAndFeel&lt;/code&gt; is Plasma&#39;s own automatic light/dark switching. It was on here; Konsole reacts only to the color scheme, so the manual works without it by the source (not tried with it off).&lt;/li&gt;&#xA;&lt;li&gt;Your dark profile has a &lt;code&gt;ColorScheme=&lt;/code&gt; line, and you have a light scheme:&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-console&#34; data-lang=&#34;console&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;$&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; ~/.local/share/konsole&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;$&lt;/span&gt; grep -H -e &lt;span class=&#34;s1&#34;&gt;&amp;#39;^Name=&amp;#39;&lt;/span&gt; -e &lt;span class=&#34;s1&#34;&gt;&amp;#39;^ColorScheme=&amp;#39;&lt;/span&gt; *.profile&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;user-default.profile:ColorScheme=islands-dark&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;user-default.profile:Name=user-default&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;$&lt;/span&gt; ls -1 *.colorscheme&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;islands-dark.colorscheme&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;islands-light.colorscheme&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;Expected: the dark profile with its &lt;code&gt;Name=&lt;/code&gt; and &lt;code&gt;ColorScheme=&lt;/code&gt;. Step 2 assumes the file is named after the profile (&lt;code&gt;&amp;lt;Name&amp;gt;.profile&lt;/code&gt;), as mine is. A scheme&#39;s name is its &lt;code&gt;.colorscheme&lt;/code&gt; file name without the extension. A profile without a &lt;code&gt;ColorScheme=&lt;/code&gt; line is not covered here.&lt;/li&gt;&#xA;&lt;li&gt;If you have no light scheme of your own: Konsole 26.08.1 builds its bundled schemes into its library (in the Fedora package &lt;code&gt;konsole-part&lt;/code&gt;), and this lists them:&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-console&#34; data-lang=&#34;console&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;$&lt;/span&gt; strings -e b /usr/lib64/libkonsoleprivate.so.* &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep &lt;span class=&#34;s1&#34;&gt;&amp;#39;\.colorscheme$&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;*.colorscheme&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;RedOnBlack.colorscheme&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;BlueOnBlack.colorscheme&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;Breeze.colorscheme&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;GreenOnBlack.colorscheme&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;Solarized.colorscheme&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;SolarizedLight.colorscheme&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;BlackOnWhite.colorscheme&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;Campbell.colorscheme&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;DarkPastels.colorscheme&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;Linux.colorscheme&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;BlackOnLightYellow.colorscheme&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;WhiteOnBlack.colorscheme&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;BlackOnRandomLight.colorscheme&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;Expected: the bundled scheme names. The first line, &lt;code&gt;*.colorscheme&lt;/code&gt;, is a file-name filter from Konsole&#39;s code, not a scheme. Going by their names, the light ones are &lt;code&gt;SolarizedLight&lt;/code&gt;, &lt;code&gt;BlackOnWhite&lt;/code&gt;, &lt;code&gt;BlackOnLightYellow&lt;/code&gt; and &lt;code&gt;BlackOnRandomLight&lt;/code&gt;. Konsole looks for &lt;code&gt;&amp;lt;name&amp;gt;.colorscheme&lt;/code&gt; under &lt;code&gt;~/.local/share/konsole/&lt;/code&gt; and the system data directories first, then in this bundle (source: &lt;code&gt;ColorSchemeManager.cpp&lt;/code&gt;). Mine is &lt;code&gt;islands-light&lt;/code&gt;, made from the light variant of my editor theme (Field notes); I haven&#39;t put a bundled one in a profile.&lt;/li&gt;&#xA;&lt;li&gt;Variables instead of placeholders: step 2 sets &lt;code&gt;DARK&lt;/code&gt; (your dark profile&#39;s &lt;code&gt;Name=&lt;/code&gt;), &lt;code&gt;LIGHT&lt;/code&gt; (a name for the new light profile) and &lt;code&gt;LIGHT_SCHEME&lt;/code&gt; (the light scheme&#39;s name). Steps 2 and 3, Verify and the undo use them; in a new shell, set them again. Step 5&#39;s screenshot method names &lt;code&gt;&amp;lt;PID&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;WINDOW_ID&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;FILE&amp;gt;&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;steps&#34;&gt;Steps&lt;a class=&#34;heading-anchor&#34; href=&#34;#steps&#34; aria-label=&#34;Link to section: Steps&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Back up &lt;code&gt;konsolerc&lt;/code&gt;, &lt;code&gt;kdeglobals&lt;/code&gt; and your profiles.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-console&#34; data-lang=&#34;console&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;$&lt;/span&gt; mkdir -p ~/konsole-backup&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;$&lt;/span&gt; cp -p ~/.config/konsolerc ~/.config/kdeglobals ~/.local/share/konsole/*.profile ~/konsole-backup/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;$&lt;/span&gt; ls -1 ~/konsole-backup&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;kdeglobals&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;konsolerc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;user-default.profile&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Expected: the two config files and every &lt;code&gt;.profile&lt;/code&gt; file. &lt;code&gt;kdeglobals&lt;/code&gt; is in the list because step 5 writes to it.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Make a light twin of the dark profile.&lt;/strong&gt; Put your names in the second line (mine are shown), then copy the dark profile under the new name with the light scheme:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-console&#34; data-lang=&#34;console&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;$&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; ~/.local/share/konsole&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;$&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;DARK&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;user-default &lt;span class=&#34;nv&#34;&gt;LIGHT&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;user-light &lt;span class=&#34;nv&#34;&gt;LIGHT_SCHEME&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;islands-light&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;$&lt;/span&gt; sed -e &lt;span class=&#34;s2&#34;&gt;&amp;#34;s/^Name=.*/Name=&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$LIGHT&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;/&amp;#34;&lt;/span&gt; -e &lt;span class=&#34;s2&#34;&gt;&amp;#34;s/^ColorScheme=.*/ColorScheme=&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$LIGHT_SCHEME&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;/&amp;#34;&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$DARK&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;.profile&amp;#34;&lt;/span&gt; &amp;gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$LIGHT&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;.profile&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;$&lt;/span&gt; diff &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$DARK&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;.profile&amp;#34;&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$LIGHT&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;.profile&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;2c2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;&amp;lt; ColorScheme=islands-dark&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;---&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;ColorScheme&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;islands-light&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;7c7&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;&amp;lt; Name=user-default&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;---&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;Name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;user-light&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Expected: exactly two lines differ, &lt;code&gt;ColorScheme=&lt;/code&gt; and &lt;code&gt;Name=&lt;/code&gt;. If &lt;code&gt;diff&lt;/code&gt; shows only the &lt;code&gt;Name=&lt;/code&gt; line, both profiles use the same scheme: Failure modes, row 2.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Turn on the sync and name the two profiles.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-console&#34; data-lang=&#34;console&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;$&lt;/span&gt; kwriteconfig6 --file konsolerc --group LightDarkTheme --key SyncProfileWithSystemTheme &lt;span class=&#34;nb&#34;&gt;true&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;$&lt;/span&gt; kwriteconfig6 --file konsolerc --group LightDarkTheme --key LightThemeProfile &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$LIGHT&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;$&lt;/span&gt; kwriteconfig6 --file konsolerc --group LightDarkTheme --key DarkThemeProfile &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$DARK&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;$&lt;/span&gt; kreadconfig6 --file konsolerc --group LightDarkTheme --key SyncProfileWithSystemTheme&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;true&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;$&lt;/span&gt; kreadconfig6 --file konsolerc --group LightDarkTheme --key LightThemeProfile&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;user-light&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;$&lt;/span&gt; kreadconfig6 --file konsolerc --group LightDarkTheme --key DarkThemeProfile&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;user-default&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Expected: &lt;code&gt;true&lt;/code&gt;, then the light and the dark name, spelled exactly as the profiles&#39; &lt;code&gt;Name=&lt;/code&gt; lines. Konsole looks the profiles up by that name; a name that matches no profile gets Konsole&#39;s built-in profile instead, without a message (source: &lt;code&gt;ProfileManager.cpp&lt;/code&gt;; not tried).&lt;/p&gt;&#xA;&#xA;&lt;div class=&#34;callout callout-note&#34; role=&#34;note&#34;&gt;&#xA;&lt;p class=&#34;callout-label&#34;&gt;&lt;span class=&#34;callout-kind&#34;&gt;Note&lt;/span&gt;&lt;span class=&#34;callout-title&#34;&gt;Every tab gets the pair&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;Whenever a window opens and on each switch, Konsole sets the light or the dark profile on every session of that Konsole process, so a tab you opened with another profile changes to the pair too (source: &lt;code&gt;applyThemeProfile()&lt;/code&gt; in &lt;code&gt;MainWindow.cpp&lt;/code&gt;; not tried).&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Open a test window in a new Konsole process.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;konsole --separate &lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Don&#39;t pass &lt;code&gt;--profile&lt;/code&gt;: the sync has to choose the profile. &lt;code&gt;--separate&lt;/code&gt; starts a new process, which reads &lt;code&gt;konsolerc&lt;/code&gt; when it starts, even where Konsole is set to run all windows in one process (source: &lt;code&gt;main.cpp&lt;/code&gt;; that option, &lt;code&gt;UseSingleInstance&lt;/code&gt;, is off by default). To see the ANSI palette as well as the background, you can run this loop in the test window:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; i in &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;2&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;3&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;4&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;5&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;6&lt;/span&gt; 7&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;do&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;printf&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;\e[3%sm normal%s \e[9%sm bright%s \e[2;3%sm faint%s\e[0m\n&amp;#39;&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$i&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$i&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$i&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$i&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$i&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;done&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;It comes from the script I used for one of that afternoon&#39;s light-mode screenshots (13:49). The live-switch window in Verify printed a single &lt;code&gt;color0&lt;/code&gt;–&lt;code&gt;color7&lt;/code&gt; row instead, with a command I didn&#39;t record.&lt;/p&gt;&#xA;&lt;p&gt;Expected: the colors of the profile for Plasma&#39;s current mode. Plasma was dark here and the window came up dark, background pixel 24,25,27.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Switch Plasma to the other scheme and back while the test window is open.&lt;/strong&gt; First, the scheme the session is on:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-console&#34; data-lang=&#34;console&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;$&lt;/span&gt; kreadconfig6 --file kdeglobals --group General --key ColorScheme&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;BreezeDark&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Expected: the current scheme&#39;s name. Here &lt;code&gt;~/.config/kdeglobals&lt;/code&gt; itself has no &lt;code&gt;ColorScheme=&lt;/code&gt; line; the value comes from &lt;code&gt;~/.config/kdedefaults/kdeglobals&lt;/code&gt;, which is first in &lt;code&gt;XDG_CONFIG_DIRS&lt;/code&gt; in my session. Switch to the other scheme first: by its source, &lt;code&gt;plasma-apply-colorscheme&lt;/code&gt; given the scheme that is already set only reports that and changes nothing (not tried). Mine was &lt;code&gt;BreezeDark&lt;/code&gt;, so:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;plasma-apply-colorscheme BreezeLight&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Wait about 4 s and look at the test window, then switch back:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;plasma-apply-colorscheme BreezeDark&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;By its source (plasma-workspace 6.7.5), each successful call prints &lt;code&gt;Successfully applied the color scheme &amp;lt;name&amp;gt; to your current Plasma session&lt;/code&gt;. Expected: the open window turns light, then dark again.&lt;/p&gt;&#xA;&lt;p&gt;Screenshots, for the screen half of Verify (optional): save the test window before the first command and about 4 s after each, as &lt;code&gt;~/konsole-test/1-dark-start.png&lt;/code&gt;, &lt;code&gt;2-after-light.png&lt;/code&gt; and &lt;code&gt;3-after-dark.png&lt;/code&gt; (names for a start in dark mode; &lt;code&gt;mkdir -p ~/konsole-test&lt;/code&gt; first). I found the window with &lt;code&gt;xdotool search --pid &amp;lt;PID&amp;gt; --onlyvisible&lt;/code&gt;, where &lt;code&gt;&amp;lt;PID&amp;gt;&lt;/code&gt; is the &lt;code&gt;konsole --separate&lt;/code&gt; process (&lt;code&gt;$!&lt;/code&gt; right after step 4), and saved it with ImageMagick&#39;s &lt;code&gt;import -window &amp;lt;WINDOW_ID&amp;gt; &amp;lt;FILE&amp;gt;&lt;/code&gt;. The exact command lines weren&#39;t recorded, and my files went to a different directory; I copied them into &lt;code&gt;~/konsole-test/&lt;/code&gt; for the re-run in Field notes.&lt;/p&gt;&#xA;&lt;p&gt;Run both directions. On my box a window that comes up dark proves little: &lt;code&gt;DefaultProfile&lt;/code&gt; is my dark profile, so with the sync off a new window is dark in dark mode too. The switch to light shows that the sync works. The switch back shows that the dark profile is still dark; if both profiles carry the light scheme (Failure modes, row 2), a window in light mode looks right either way.&lt;/p&gt;&#xA;&lt;p&gt;These two scheme names are the only ones I tried. My session was dark, on the Breeze Dark global theme (&lt;code&gt;LookAndFeelPackage=org.kde.breezedark.desktop&lt;/code&gt;), so the round trip ended in dark mode, where it started. If you start in light mode or on another scheme, end on the one you started from &lt;code&gt;[UNVERIFIED: not tried]&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;div class=&#34;callout callout-gotcha&#34; role=&#34;note&#34;&gt;&#xA;&lt;p class=&#34;callout-label&#34;&gt;&lt;span class=&#34;callout-kind&#34;&gt;Gotcha&lt;/span&gt;&lt;span class=&#34;callout-title&#34;&gt;plasma-apply-colorscheme writes to kdeglobals&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;After the round trip, &lt;code&gt;~/.config/kdeglobals&lt;/code&gt; had its own &lt;code&gt;ColorScheme=BreezeDark&lt;/code&gt; line under &lt;code&gt;[General]&lt;/code&gt; (step 6). A key in that file takes precedence over the &lt;code&gt;kdedefaults&lt;/code&gt; value, so the scheme was now set in &lt;code&gt;~/.config/kdeglobals&lt;/code&gt; itself. I put the copy back so the file is as it was. Whether the extra line would block Plasma&#39;s automatic switching, I didn&#39;t check.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Put &lt;code&gt;kdeglobals&lt;/code&gt; back.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-console&#34; data-lang=&#34;console&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;$&lt;/span&gt; diff ~/konsole-backup/kdeglobals ~/.config/kdeglobals&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;135a136&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;ColorScheme&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;BreezeDark&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;$&lt;/span&gt; cp -p ~/konsole-backup/kdeglobals ~/.config/kdeglobals&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;$&lt;/span&gt; diff ~/konsole-backup/kdeglobals ~/.config/kdeglobals&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Expected: the first &lt;code&gt;diff&lt;/code&gt; shows what the test added (one line here). After the copy, &lt;code&gt;diff&lt;/code&gt; prints nothing. The copy brings back the whole file as it was at step 1: if the first &lt;code&gt;diff&lt;/code&gt; shows more than the &lt;code&gt;ColorScheme=&lt;/code&gt; line, delete that one line in an editor instead (not tried). Don&#39;t remove it with &lt;code&gt;kwriteconfig6 --delete&lt;/code&gt;: that leaves a &lt;code&gt;ColorScheme[$d]&lt;/code&gt; marker behind (Failure modes, row 4). I didn&#39;t check what copying the file back does to a running session, so finish step 5 on the scheme you want to keep.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Close the test window and restart Konsole.&lt;/strong&gt; By its source, Konsole applies the sync when a window is created and when its settings change from inside Konsole (&lt;code&gt;MainWindow.cpp&lt;/code&gt;), and I didn&#39;t check whether a running Konsole notices an outside edit of &lt;code&gt;konsolerc&lt;/code&gt;. A new Konsole process has it, as the test window did.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;</description>
			</item>
			<item>
				<title>Two libavcodecs behind one soname</title>
				<link>https://tsvinc.dev/posts/two-libavcodecs-one-soname/</link>
				<pubDate>Mon, 13 Jul 2026 00:00:00 +0000</pubDate>
				<guid>https://tsvinc.dev/posts/two-libavcodecs-one-soname/</guid>
				<description>&lt;p&gt;KDE&#39;s Dragon Player has a habit of hiding the mouse cursor during playback. Not just in fullscreen — windowed too. Annoying enough to go looking for an alternative, which is how a missing cursor turned into a long argument with the dynamic linker.&lt;/p&gt;&#xA;&lt;p&gt;Haruna is KDE&#39;s modern video player, built on libmpv. Qt6/KDE Frameworks 6, proper subtitle support, configurable keybinds. &lt;code&gt;dnf install haruna&lt;/code&gt;, set it as default handler, open a 1080p HEVC file from the NAS.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
