<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tracey Clark on KDE Blogs</title><link>https://blogs.kde.org/authors/traceyc/</link><description>Recent content in Tracey Clark on KDE Blogs</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Sun, 14 Jun 2026 03:01:10 +0200</lastBuildDate><atom:link href="https://blogs.kde.org/authors/traceyc/index.xml" rel="self" type="application/rss+xml"/><item><title>Streamline Plasma with Activities to be more focused and productive</title><link>https://blogs.kde.org/2026/01/17/streamline-plasma-with-activities-to-be-more-focused-and-productive/</link><pubDate>Sat, 17 Jan 2026 00:00:00 +0000</pubDate><author>Tracey Clark</author><guid>https://blogs.kde.org/2026/01/17/streamline-plasma-with-activities-to-be-more-focused-and-productive/</guid><description>&lt;p&gt;Have you seen Activities in your system settings and wondered what they're used for? Have you read about them them in a blog post and wanted to know more? Have you been interested in giving them a try, but weren't sure where to start? This is where I was once upon a time, so I'd like to share how I've set up Activities to streamline my workflows. Maybe this can help others who also want to experiment. The experience hasn't always been smooth. Due to various bugs, there was one point where I threw up my hands and migrated everything back to virtual desktops in anger. Eventually, the bugs were fixed, and other improvements were made. I gave them another try and I'm glad I did. Many thanks to the contributors who fixed those bugs and who maintain this awesome feature! Today, Activities are now an integral part of my Plasma setup.&lt;/p&gt;
&lt;h2 id="activities-but-i-already-have-virtual-desktops"&gt;Activities? But I already have Virtual Desktops!&lt;/h2&gt;
&lt;p&gt;When I first discovered this &amp;quot;Activities&amp;quot; thing, I had no idea what it was, really. I was already using Virtual Desktops, what did Activities do that they couldn't? It wasn't until I found a few blog posts explaining the fundamentals that I got it. Activities are meant for different workflows a.k.a. contexts (not just tasks within one). At the most basic level:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Virtual Desktops&lt;/strong&gt;, a.k.a. Workspaces, separate different tasks within a context / workflow / project. For instance, when doing KDE work, I might have the bug tracker and docs opened in a browser on Workspace1, and then on Workspace2 have a terminal and code editor. These are things related to the context of &amp;quot;KDE work&amp;quot;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Activities&lt;/strong&gt; are meant for a higher level of separation based on a particular workflow or project. Some examples would be Work, Finances, Gaming, Development or Streaming. They can be added, changed and deleted in Settings -&amp;gt; Activities or in the Activities Manager (Meta+Q by default).&lt;/p&gt;
&lt;h3 id="benefits-for-organization-and-speeding-up-getting-into-a-workflow"&gt;Benefits for organization and speeding up getting into a workflow&lt;/h3&gt;
&lt;p&gt;Each Activity can have a set of applications, widgets and linked files. You can tailor these to a workflow / context / project. You can quickly switch between them with keyboard shortcuts or the Activities Manager.&lt;/p&gt;
&lt;p&gt;For me, they make it much easier to launch the tools I need, and maintain focus on the task at hand. My brain is context-driven, so this helps me keep track of where things are and avoid getting lost in a sea of stuff. My brain is also sometimes easily distracted. Having only the shortcuts and applications I need front of me helps me maintain focus.&lt;/p&gt;
&lt;h2 id="so-what-can-i-actually-do-with-activities-that-i-cant-already-do-with-virtual-desktops"&gt;So what can I actually do with Activities that I can't already do with Virtual Desktops?&lt;/h2&gt;
&lt;p&gt;Most folks already know that with Virtual Desktops, you can place different windows on specific or all desktops (Wayland has more flexibility than X11 here). Of course, this can be used to separate workflows, and there are plenty of people using them this way. That's the beauty of Plasma, you can make it fit your individual needs. Here are some things Activities allows for that Virtual Desktops do not.&lt;/p&gt;
&lt;p&gt;Starting with the System Settings - Activities page, you can choose to enable or disable, for each:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Track file and app usage (disable for privacy, on a Financial Activity, for example)&lt;/li&gt;
&lt;li&gt;Automatically turn the screen off (disable when gaming, presenting, streaming, etc.)&lt;/li&gt;
&lt;li&gt;Automatically shut down or sleep the system (disable when gaming, presenting, streaming etc.)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Then, for these features, you can choose one Activity, multiple, or all.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Place different application windows (ex: your code editor on a Programming Activity) by launching it in that activity.&lt;/li&gt;
&lt;li&gt;Pin an application to the task manager or in Favorites in the app menu (ex: your accounting software on a Financial Activity)&lt;/li&gt;
&lt;li&gt;Desktop icons can be associated per Activity (Go to Settings -&amp;gt; Wallpaper -&amp;gt; Location and select &amp;quot;Files linked to current activity&amp;quot;. This can be set per activity!)&lt;/li&gt;
&lt;li&gt;Open an app in an activity (ex: opening your accounting software only on a Financial Activity, or a media player in all) with window rules&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additionally, for each Activity, you can have different wallpapers and widgets per Activity. This allows me to see, at a glance, which Activity is active and easily launch things.&lt;/p&gt;
&lt;h2 id="use-cases"&gt;Use cases&lt;/h2&gt;
&lt;p&gt;Here are some ways you can use Activities, and how I've found them helpful.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Separate your work stuff from your personal stuff
Since I work from home, this helps me shift from my &amp;quot;at work&amp;quot; mindset to &amp;quot;at home&amp;quot;. I much prefer this to relying on the old 45 minute commute ;)&lt;/li&gt;
&lt;li&gt;Keep focus on the current task and context&lt;br&gt;
I can avoid being distracted by stuff not related to what I'm doing at the moment by keeping things separated. While working on KDE bug triage, for instance, I won't be distracted by stuff that's not related. As much. Squirrel.&lt;/li&gt;
&lt;li&gt;Keep sensitive information from being accidentally displayed until you want it to be
One day, at a coffee shop, I realized that I didn't want people around me to necessarily see shortcuts like &amp;quot;Budget&amp;quot;. I created a Financial Activity to keep sensitive information related to financial stuff hidden unless specifically switching to it.&lt;/li&gt;
&lt;li&gt;A sparse Activity for presentations / recording / streaming&lt;br&gt;
It could have nothing shown outside of the specific needs for that context. This not only avoids showing things to strangers you would prefer not to, it keeps your environment looking tailored.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="how-i-organize-my-stuff-by-context"&gt;How I organize my stuff by context&lt;/h2&gt;
&lt;p&gt;I have five Activities. All except the first one are configured to only show files related to the activity on the desktop.&lt;/p&gt;
&lt;p&gt;Things common to all via pinned task manager icons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Kate session chooser&lt;/li&gt;
&lt;li&gt;Note widgets&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Favorites and Quick Launch widgets per Activity:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Personal&lt;/strong&gt; - All the stuff that isn't specific to anything else (general browsing, emails, etc).&lt;br&gt;
No specific shortcuts, just a Weather widget on the desktop for my home city.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;KDE&lt;/strong&gt; - Where I focus on bug related work, MR testing, and such.&lt;br&gt;
Favorites include a KDE Obsidian vault, Firefox KDE profile and a Discord client.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Solus&lt;/strong&gt; - Volunteer work for packaging and distro coordination.&lt;br&gt;
Favorites: Solus Obsidian vault and Vivaldi (it works better with Jitsi Meet than Firefox).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Financial&lt;/strong&gt; - Budgeting, accounting, etc.&lt;br&gt;
Favorites: an Obsidian vault and KMyMoney.
There's a QuickLaunch widget containing links to a few folders, documents and spreadsheets.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Conference&lt;/strong&gt; - Conference tasks and notes.
Favorites: (you guessed it) a Travel Obsidian Vault.
Weather widget set to the city I'll be in.&lt;br&gt;
If speaking, I might have shortcuts to relevant documents and presentations.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="ramping-up-a-workflow-using-the-kde-activity"&gt;Ramping up a workflow using the KDE Activity&lt;/h2&gt;
&lt;p&gt;To briefly illustrate efficiently getting into a workflow, I'll describe using my KDE Activity. It's based on my multi-screen setup at home. When I'm traveling and only have a single laptop display, applications are spread out across different Virtual Desktops as well.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Thunderbird email and Nheko chat have automatically started at login (through Session Saving). Using kwin window rules, they run on all Activities.&lt;/li&gt;
&lt;li&gt;I open a music app via a Favorite (pinned on all Activities) and start playing music, which helps me focus. It has window rules to display on all Activities, so I can control it from wherever.&lt;/li&gt;
&lt;li&gt;Then I launch applications from Favorites that are only on this Activity:
&lt;ul&gt;
&lt;li&gt;A Discord client for work chat&lt;/li&gt;
&lt;li&gt;An Obsidian Notes vault for KDE (kwin rules also set position and size)&lt;/li&gt;
&lt;li&gt;Firefox with my KDE profile. It has specific bookmarks, as well as tabs for a time tracker, the KDE bug tracker, Invent, specific bugs and merge requests I need to test etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And now I'm ready to start working.&lt;/p&gt;
&lt;h2 id="going-further----combining-virtual-desktops-and-activities"&gt;Going further - Combining Virtual Desktops and Activities&lt;/h2&gt;
&lt;p&gt;As I mentioned above, sometimes I also use Virtual Desktops to segregate different tasks per context. For instance, in my KDE Activity, I might have VDs for:
Communication - email, chat
Development - terminal, code editor
Documentation - browser, notes app&lt;/p&gt;
&lt;h2 id="wrapping-up"&gt;Wrapping up&lt;/h2&gt;
&lt;p&gt;These are some ways you can customize Activities. Hopefully, you can see how they might streamline your own desktop and help your workflows be more efficient.&lt;/p&gt;
&lt;h2 id="technical-notes---making-shortcuts-for-specific-firefox-profiles-and-obsidian-vaults"&gt;Technical notes - making shortcuts for specific Firefox profiles and Obsidian vaults&lt;/h2&gt;
&lt;h3 id="firefox"&gt;Firefox&lt;/h3&gt;
&lt;p&gt;Open Firefox with &lt;code&gt;firefox -p&lt;/code&gt; to gain access to the profile picker. Use one of the profile names in your shortcut. In the menu editor, for example, after copying and pasting the default entry, change the Arguments:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;%u -p profile_name
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="obsidian"&gt;Obsidian&lt;/h3&gt;
&lt;p&gt;To create a shortcut to an Obsidian Notes vault, I copied the default &lt;code&gt;.desktop&lt;/code&gt; file to &lt;code&gt;~/.local/share/applications/&lt;/code&gt; and changed it to load the vault by name:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Exec=/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=obsidian.sh --file-forwarding md.obsidian.Obsidian @@u %u @@ &amp;#39;obsidian://open?vault=vaultname&amp;#39;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Then, I customized the icon through the Menu Editor.&lt;/p&gt;
&lt;p&gt;To find the location of the default &lt;code&gt;.desktop&lt;/code&gt; file on your system:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Find Obsidian Notes in the application menu&lt;/li&gt;
&lt;li&gt;Right click, and click Edit Application&lt;/li&gt;
&lt;li&gt;Right click the entry in the Menu Editor and click &amp;quot;Open Containing Folder&amp;quot;&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Akademy 2025</title><link>https://blogs.kde.org/2025/10/07/akademy-2025/</link><pubDate>Tue, 07 Oct 2025 00:00:00 +0000</pubDate><author>Tracey Clark</author><guid>https://blogs.kde.org/2025/10/07/akademy-2025/</guid><description>&lt;p&gt;In September, I spent over 12 hours in airplanes and trains getting to Berlin to attend my second &lt;a href="https://akademy.kde.org/2025/"&gt;Akademy conference&lt;/a&gt;. The experience once again made the long trip worthwhile. It was lovely to see some familiar faces, and to meet other folks for the first time. This was my second trip to Berlin, and it was nice to see different areas of the city than last year. Like last year, people were so approachable, friendly and easy to talk to. The welcome event was at the lovely Schleusenkrug Beer Garden, just a short walk from the venue, nestled in one of the many areas of greenery.&lt;/p&gt;
&lt;p&gt;There were more talks and BoFs I attended than I'll mention, these are things that stood out to me. There were so many good talks and workshops, I recommend &lt;a href="https://akademy.kde.org/2025/attendonline/"&gt;checking out the recordings&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A small tangent about travel comfort&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Or - How to spend a week in a different timezone without feeling like a zombie.&lt;/p&gt;
&lt;p&gt;The jet lag was a lot easier this year because I learned the wisdom of hydration and getting decent rest on long haul flights. I took some electrolyte drink powder with me, which I mixed into the little bottles of water on my long flights. This made a huge difference in my energy levels and how much I enjoyed my time in Berlin.&lt;/p&gt;
&lt;h2 id="saturday"&gt;Saturday&lt;/h2&gt;
&lt;p&gt;Opening things up, the keynote &amp;quot;Open by Design: How Governments Can Lead the Shift to Digital Sovereignty&amp;quot; made excellent points about the importance for countries to enable independence, autonomy and security in the digital world.&lt;/p&gt;
&lt;p&gt;My colleague David Edmundson gave an informative talk on &amp;quot;Plasma: Lessons Learned and Our Path Forward in 2026 and Beyond&amp;quot;. He recounted, with honesty and humor, things Plasma has done well and not so well over the years. There were good points to keep in mind, as someone focused on testing and quality, while reviewing bug reports and merge requests.&lt;/p&gt;
&lt;p&gt;There were a handful of talks and BoFs about KDE Linux and the growth of the obtsalat. This is an important project for KDE in terms of dogfooding and testing, so I like keeping up to date on things here.&lt;/p&gt;
&lt;p&gt;The talk &amp;quot;From Misunderstood to CEO – Breaking Bias and Building Inclusion&amp;quot; was particularly interesting, as a woman in a male dominated industry. I heard echos of some of my experiences, as well as useful advice on dealing with bias.&lt;/p&gt;
&lt;h2 id="sunday"&gt;Sunday&lt;/h2&gt;
&lt;p&gt;The keynote &amp;quot;The Politics of the Pull Request: How Open Standards Can Shift Power&amp;quot; was educational. It made me aware of the ways in which technology does more than enable us to get work done. It shapes the conversations we have and the world we live in, in a tangible way. It determines who can access things that are fundamental to living in society and who can't. Open source can be more than a way of collaborating, it can also help make things more equitable for more groups of people. I especially liked that the &amp;quot;myth of meritocracy&amp;quot; was highlighted and challenged. It's a topic I've seen debated online quite a bit over the years. Recently, especially, I've seen various claims that &amp;quot;technology shouldn't be political&amp;quot;, and this described the many ways technology can't help but be political. This is one talk I'd really recommend watching because it exposes things people might not think about or realize - such as how current systems enable rich and powerful families to stay that way and exclude others - as well as highlight ways open source projects can change things for the better.&lt;/p&gt;
&lt;p&gt;&amp;quot;Handling Negative Feedback&amp;quot; by my colleague Akseli Lahtinen was informative about types of negative responses we might get in our open source work, and practical ways of handling it. He had useful advice not just about responding in productive ways, but also about taking care of ourselves to avoid burnout. There was also useful information about mentoring people, as well as encouraging community and maintainers. Related, David Edmunson had a talk specifically about &amp;quot;Maintainers Don't Grow on Trees&amp;quot;.&lt;/p&gt;
&lt;p&gt;&amp;quot;Getting Hired to Work on FOSS&amp;quot; had useful advice on working on FOSS for a paycheck and how it's different than when it's your hobby. It's useful for anyone thinking about making their FOSS work their living. There's information especially good for people who don't have experience working for a more traditional company.&lt;/p&gt;
&lt;p&gt;In &amp;quot;Mass Migration from Windows&amp;quot;, I could very much relate to the challenges of getting open source accepted in a business. Reluctant IT departments, nervous managers asking about who will support things; I'm sure I'm not alone in having met those points of friction when trying to use an open source operating system at the office. There was practical information of addressing those points and ways the sitation is improving.&lt;/p&gt;
&lt;p&gt;Nate Graham, another colleague, spoke about &amp;quot;Minding the Big Picture: Opportunity from Chaos&amp;quot;. This spoke to some of the surprising advantages of these &amp;quot;abnormal times&amp;quot; that KDE can take advantage of. There are some areas where KDE can do practical work to be a real leader in bringing the Linux desktop experience to more end users and enterprises.&lt;/p&gt;
&lt;h2 id="the-social-event"&gt;The Social Event&lt;/h2&gt;
&lt;p&gt;After all those talks, it was nice to just hang out. We were at a bar and hacker space Sunday evening called &lt;a href="https://www.c-base.org"&gt;c-base&lt;/a&gt;, which reconstructs a fictional, crashed space station. Neat! The company and the beer were nicely refreshing and it was a pretty chill place.&lt;/p&gt;
&lt;h2 id="the-wednesday-day-trip"&gt;The Wednesday Day Trip&lt;/h2&gt;
&lt;p&gt;The day trip on Wednesday had two parts. The first was a scavenger hunt, which I skipped out on. Akseli, his wife and I went to Alexanderplatz and had bubble tea near the TV Tower before joining the others. The group then went to the &lt;a href="https://www.computerspielemuseum.de/en/43-Homepage.htm"&gt;Computerspielemuseum&lt;/a&gt; (Computer History Museum), which was a treat. In addition to information about historical computer advancements, and interactive exhibits, there is a small arcade, and some mini-room setups. There was a student desk that reminded me of one I had (mine had the Commodore 128 my brother and I shared). There were also models of historical computers on display. One of these was a TRS-80, the first model I had at home and where I learned word processing.&lt;/p&gt;
&lt;h2 id="bofs"&gt;BoFs&lt;/h2&gt;
&lt;p&gt;End of 10 Campaign - discussion of the next steps and how folks can help out.&lt;/p&gt;
&lt;p&gt;Automatic QA / Recoverability - in which I refreshed my familiarity with the tools currently being used.&lt;/p&gt;
&lt;p&gt;KWallet Secret Service: problems and roadmap - this is something I keep up to date on in relation to development and QA.&lt;/p&gt;
&lt;p&gt;KDE Out of Box Experience - you might be familiar with this as KISS. It's a setup UX for the first boot of a newly purchased / installed system. This is going to make life easier for people getting a pre-built system as well as for enterprise installation fleets.&lt;/p&gt;
&lt;h2 id="thats-a-wrap"&gt;That's a Wrap&lt;/h2&gt;
&lt;p&gt;After a week in Berlin, I was sad to leave but was at the same time looking forward to getting back home. As announced on 27-Sept - &lt;a href="https://akademy.kde.org/news/2025-09_akademy-2025-videos-available/"&gt;Rewatch the Highlights - Akademy 2025 Talks &amp;amp; Sessions Now Available Online&lt;/a&gt;. Time to check out recordings of things I wasn't able to attend. K'm looking forward to next year. The &lt;a href="https://akademy.kde.org/categories/akademy2026/"&gt;Call for Hosts&lt;/a&gt; is live, and it will be Akademy's 30th birthday!&lt;/p&gt;</description></item><item><title>Revisiting X11 vs Wayland With Multiple Displays</title><link>https://blogs.kde.org/2025/06/02/revisiting-x11-vs-wayland-with-multiple-displays/</link><pubDate>Mon, 02 Jun 2025 00:00:00 +0000</pubDate><author>Tracey Clark</author><guid>https://blogs.kde.org/2025/06/02/revisiting-x11-vs-wayland-with-multiple-displays/</guid><description>&lt;h2 id="the-things-i-do-for-qa"&gt;The things I do for QA...&lt;/h2&gt;
&lt;p&gt;A few years ago, I was among those who found Wayland too painful to use every day. Over time, I gave Wayland a try now and then. It finally got usable enough for me to switch to as my default a couple of years ago.&lt;/p&gt;
&lt;p&gt;Recently, during the soft freeze before the Plasma 6.4 Beta was released, I used mainly X11 on both my laptops - for science! And by science, I mean regression testing. I was curious what the experience was like compared to what I've become accustomed to with Wayland.&lt;/p&gt;
&lt;p&gt;In short, Wayland supports multiple displays and color so much better. It was painful using X11 again.&lt;/p&gt;
&lt;h2 id="my-setup-for-daily-work"&gt;My setup for daily work&lt;/h2&gt;
&lt;p&gt;I was using two laptops and two external monitors. Both were running Plasma built from git-master.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Main: Dell XPS laptop, plugged into a dock. This is connected to 2 ultrawide monitors - one via Displayport, the other via HDMI.&lt;/li&gt;
&lt;li&gt;Secondary: Lenovo Flex laptop, usually just using its built-in screen. Sometimes I swap the right hand monitor over to it, for testing display shenanigans.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="initial-impression---so-limited"&gt;Initial impression - so limited&lt;/h2&gt;
&lt;p&gt;I fired up the XPS, did updates, and booted into an X11 session. Next, to Display Configuration to re-enable the right hand monitor (disabled the night before). Immediately, I was struck by how bare the settings window looks compared to Wayland. Here are screenshots of the settings for same HDR monitor on 6.3.5.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Wayland:&lt;/strong&gt;&lt;/p&gt;
&lt;figure&gt;
 &lt;img class="img-fluid" src="https://blogs.kde.org/2025/06/02/revisiting-x11-vs-wayland-with-multiple-displays/display_config_wayland.jpeg"
 style="max-width: 100%; height: auto"
 /&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;strong&gt;X11:&lt;/strong&gt;&lt;/p&gt;
&lt;figure&gt;
 &lt;img class="img-fluid" src="https://blogs.kde.org/2025/06/02/revisiting-x11-vs-wayland-with-multiple-displays/display_config_x11.jpeg"
 style="max-width: 100%; height: auto"
 /&gt;
&lt;/figure&gt;
&lt;h2 id="second-thoughts-and-hello-dr-konqi"&gt;Second thoughts and hello, Dr Konqi&lt;/h2&gt;
&lt;p&gt;Time to enable the display. For reference, this takes moments in Wayland. It was just a wee bit longer and more fraught with X11.&lt;/p&gt;
&lt;p&gt;After enabling the monitor and clicking Apply, all 3 screens went dark. After about 20s the laptop display came on. After about another minute, the right hand display finally got output before all 3 displays were dark again. I unplugged the laptop from the dock. It came up to the login screen. After logging in I saw the good Dr Konqi telling me there was a crash in plasmashell. We were off to a great start.&lt;/p&gt;
&lt;p&gt;Like a good tester, I sent the crash report off. With some trepidation, I plugged the docking cable back in, as similar struggles from years past came back to haunt me. All three displays were black, although I could move the cursor around in them. It took a good couple of minutes for plasmashell to display everything, along with window decorations and panel contents. It was faster later, but wow, was this a noticeably worse experience than Wayland.&lt;/p&gt;
&lt;h2 id="other-observations-or-third-thoughts"&gt;Other observations, or third thoughts&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Wayland advantages&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fractional scaling - the ability to have a screen at, say, 110% zoom. See that lovely screenshot, above.&lt;br&gt;
When paired with how easy it is to change font face and style, this is great for accessibility. Being able to read the text on any display at whatever resolution can't be overstated. When I have to use Windows, where you can't adjust text separately from resolution, I have sadness. I also have eyestrain trying to read tiny text in dialogs.&lt;/li&gt;
&lt;li&gt;Scaling per display - so my laptop's high resolution display can be at 150% and my external displays at 100% to make things readable on all of them. Another plus for accessibility.&lt;/li&gt;
&lt;li&gt;HDR and color profile (ICC) support. This is important for getting the mos out of my monitor with games and more. Also... preeeetty.&lt;/li&gt;
&lt;li&gt;Snappier overall performance (on my systems).&lt;/li&gt;
&lt;li&gt;The ability to send a window to multiple desktops, or just one. In X11, you can ....THNG&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Wayland pain points&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;These are the things I ran into personally. There's also the list of &lt;a href="https://community.kde.org/Plasma/Wayland_Known_Significant_Issues"&gt;Plasma/Wayland Known Significant Issues&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The most annoying problem for me is with LibreOffice, since I use Calc almost daily. There's a &lt;a href="https://bugs.documentfoundation.org/show_bug.cgi?id=141578"&gt;bug&lt;/a&gt; (on their tracker) where, with multiple monitors with different scale factors, UI elements are too big.&lt;/li&gt;
&lt;li&gt;Lack of a robust, easy to use text expander with a GUI - that actually works out of the box. Autokey has been on my installs for many years, used for work and personal stuff. While it launches, and I have access to my phrases, there's no actual text expansion. There's an &lt;a href="https://github.com/autokey/autokey/issues/87"&gt;open issue for Wayland support&lt;/a&gt; (that pre-dates the Pandemic) but it hasn't gotten much traction. I've been keeping an eye out for years for a decent replacement, and have tried a few things but not found what I'm looking for, yet.&lt;/li&gt;
&lt;li&gt;Copy and paste to and from VMs
I use VMs a lot for testing things on different Linux distros. My workaround for this is to have text files saved in a directory that's shared from host to guest.&lt;/li&gt;
&lt;li&gt;It took time and a few forks to get KVM software that was reliably developed and worked with Wayland.&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; I had been using &lt;code&gt;barrier&lt;/code&gt; on X11. A few software forks and experiments later, I've settled on &lt;code&gt;deskflow&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;X11 Advantages&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Remembering window positions across reboots.&lt;/li&gt;
&lt;li&gt;Working text expansion.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;X11 pain points&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Drawing the screen is slower after logging in or restarting plasmashell, for example, with the same hardware and open applications.&lt;/li&gt;
&lt;li&gt;Floating panels and adaptive opacity are known to cause performance issues with X11 with an NVIDIA GPU.&lt;/li&gt;
&lt;li&gt;Lack of scaling per-monitor.&lt;br&gt;
Text on my XPS's screen is too small to be readable if the external monitors are at a comfortable scale. I had to move any window I needed to read text on (most of them) to the external monitors.&lt;/li&gt;
&lt;li&gt;The HDMI monitor was set to the wrong resolution and refresh rate if I connected it to the second laptop. I had to manually correct it.&lt;/li&gt;
&lt;li&gt;After enabling HDR on that monitor with the Flex in Wayland, and switching to an X11 session, the monitor enabled HDR but the colors were over-saturated.&lt;/li&gt;
&lt;li&gt;After working with a few windows, fonts in Firefox became badly hinted. This made characters look weirdly colored instead of white / black, and made reading things difficult.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="final-thoughts"&gt;Final thoughts&lt;/h2&gt;
&lt;p&gt;Once upon a time, Wayland was too painful for me to use as a daily driver. It didn't support some of my utilities and it wasn't stable enough with my multi-monitor setup.&lt;/p&gt;
&lt;p&gt;These days, Wayland is so much more usable and stable with multiple displays that it makes using X11 painful by comparison. While there are still those few issues I mentioned, I feel Wayland's advantages outweigh them.&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;The KVM software journey... The first one I used was &lt;a href="https://symless.com/synergy"&gt;Synergy&lt;/a&gt;, which was &lt;em&gt;amazing&lt;/em&gt; to me. Being able to use the same keyboard and mouse on both a Linux laptop and Windows desktop &lt;em&gt;at the same time&lt;/em&gt; was &lt;em&gt;magic&lt;/em&gt;. Unfortunately, Synergy took their UI in directions I didn't like. An open source fork named &lt;a href="https://github.com/debauchee/barrier"&gt;&lt;code&gt;barrier&lt;/code&gt;&lt;/a&gt; emerged, which aimed to restore the simplicity I was looking for, so I switched to it. This served me for a long time, but development stopped in 2021. With the advent of Wayland, &lt;code&gt;barrier&lt;/code&gt; was forked to &lt;a href="https://github.com/input-leap/input-leap"&gt;&lt;code&gt;input-leap&lt;/code&gt;&lt;/a&gt; which implemented Wayland support. Sadly, development seems to have languished. There is yet another project, &lt;a href="https://github.com/deskflow/deskflow"&gt;&lt;code&gt;deskflow&lt;/code&gt;&lt;/a&gt;, which is also free and open source. It's sponsored by the Synergy folks. We end where we began.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description></item><item><title>Konsole Layout Automation (part 2)</title><link>https://blogs.kde.org/2025/04/02/konsole-layout-automation-part-2/</link><pubDate>Wed, 02 Apr 2025 00:00:00 +0000</pubDate><author>Tracey Clark</author><guid>https://blogs.kde.org/2025/04/02/konsole-layout-automation-part-2/</guid><description>&lt;p&gt;In &lt;a href="https://blogs.kde.org/2024/06/11/konsole-layout-automation-part-1/"&gt;Konsole Layout Automation (part 1)&lt;/a&gt;, I wrote about how to automate opening Konsole with different tabs that ran different commands. In this post, I'll talk about doing this for layouts.&lt;/p&gt;
&lt;h2 id="inspiration"&gt;Inspiration&lt;/h2&gt;
&lt;p&gt;In the past, I needed to open two connections to the same host over &lt;code&gt;ssh&lt;/code&gt; , and change to two different directories. I opened Konsole with a layout that had two panes. Then, Quick Commands allowed me to run a command in each pane to &lt;code&gt;ssh&lt;/code&gt; and change to the right directory. This post will outline how to achieve that and more!&lt;/p&gt;
&lt;h2 id="goal-launch-a-konsole-window-with-one-tab-that-has-multiple-panes-which-run-commands"&gt;Goal: Launch a Konsole window with one tab that has multiple panes which run commands&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;Note&lt;/strong&gt;
For more detailed instructions on using Konsole, please see the output of &lt;code&gt;konsole --help&lt;/code&gt; and take a look at the Command-line Options section of the &lt;a href="https://docs.kde.org/stable5/en/konsole/konsole/index.html"&gt;Konsole Handbook&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;A layout can save and load a set of panes. Unfortuately, it can't do anything else. We can, however, use profiles and the Quick Commands plugin to make the panes more useful.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Use case:&lt;/strong&gt; See the output of different commands in the same window. For instance, you could be running &lt;code&gt;htop&lt;/code&gt; in one pane and open your favorite editor in another.&lt;/p&gt;
&lt;p&gt;Here's an overview of the steps:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Set up a layout&lt;/li&gt;
&lt;li&gt;Use QuickCommands to run things in the panes&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="set-up-a-layout"&gt;Set up a layout&lt;/h2&gt;
&lt;p&gt;Unfortunately, the &lt;a href="https://docs.kde.org/stable5/en/konsole/konsole/command-line-options.html"&gt;online documentation for Konsole command line options&lt;/a&gt; doesn't say much about how to create a layout, or the format of its JSON file. It only mentions the command line flag &lt;code&gt;--layout&lt;/code&gt;. &lt;em&gt;Also make a note of &lt;code&gt;-e&lt;/code&gt; which allows you to execute a command.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Fortunately, creating the layout is pretty easy. Note that a layout is limited to one tab. It will only save the window splits, nothing else. No profiles, directories, etc.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Set up a tab in Konsole with the splits you want it to have&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;View -&amp;gt; Save Tab Layout&lt;/code&gt; to save it to a .json file. (I personally recommend keeping these in a specific directory so they're easy to find later, and for scripting. I use &lt;code&gt;~/konsole-layouts&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;You can then use &lt;code&gt;konsole --layout ~/layout-name.json&lt;/code&gt; to load konsole with a tab that has the splits you saved.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="use-quick-commands-to-do-useful-things-in-your-layout"&gt;Use Quick Commands to do useful things in your layout&lt;/h2&gt;
&lt;p&gt;As mentioned above, you can only save splits. you can't associate a profile, or run a command directly like you can with the tilix or kitty terminals. This has &lt;a href="https://bugs.kde.org/show_bug.cgi?id=455143"&gt;been requested&lt;/a&gt;. In the meantime, an easy thing you &lt;em&gt;can&lt;/em&gt; do is load a layout and then load a profile manually in each pane. This is where Quick Commands come in. These are under Plugins - Quick Commands. (If you don't see this, contact your distro / the place you installed Konsole from).&lt;/p&gt;
&lt;p&gt;You can use Quick Commands to run a command in each pane. You can also launch a profile (with different colors etc) that runs a command (&lt;a href="https://blogs.kde.org/2024/06/11/konsole-layout-automation-part-1/"&gt;part 1&lt;/a&gt; showed how these might be used). Note, however, that running &lt;code&gt;konsole&lt;/code&gt; itself from here will launch a new Konsole window.&lt;/p&gt;
&lt;p&gt;End each command with &lt;code&gt; || return&lt;/code&gt; so that you get to a prompt if the command fails.&lt;/p&gt;
&lt;p&gt;Examples&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;htop || return
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;So, after you've launched Konsole with your layout as described above, you can do this:
Go to &lt;code&gt;Plugins -&amp;gt; Show Quick Commands&lt;/code&gt;
Add commands you'd like to run in this session.
Now, focus the pane and run a command.&lt;/p&gt;
&lt;p&gt;Using these steps, I can run &lt;code&gt;htop&lt;/code&gt; in one pane and &lt;code&gt;nvtop&lt;/code&gt; in the other.&lt;/p&gt;
&lt;p&gt;After you've gotten familiar with tabs and layouts, you can make a decently powerful Konsole session. Combine these with a shell function, and you can invoke that session very easily.&lt;/p&gt;
&lt;h2 id="this-is-still-too-manual"&gt;This is still too manual!&lt;/h2&gt;
&lt;p&gt;You're right. This post is about automating Konsole and having to click on things is not exactly that. You can use dbus commands in a script to load your tab layout and then run commands in each pane without using Quick Commands.&lt;/p&gt;
&lt;p&gt;As we saw in the &lt;a href="https://blogs.kde.org/2024/06/11/konsole-layout-automation-part-1/"&gt;last post&lt;/a&gt;, you can use profiles to customize color schemes and launch commands. We can call those from a script in a layout. The demo scripts used below use &lt;code&gt;dbus&lt;/code&gt;, take a look at &lt;a href="https://docs.kde.org/stable5/en/konsole/konsole/scripting.html"&gt;the docs on scripting Konsole&lt;/a&gt; for details.&lt;/p&gt;
&lt;p&gt;I'm using the layout file &lt;code&gt;~/konsole_layouts/monitoring.json&lt;/code&gt; for this example.
This layout file represents two panes with one &lt;em&gt;vertical&lt;/em&gt; split (horizontal orientation describes the panes being horizontally placed):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;Orientation&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Horizontal&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;Widgets&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;SessionRestoreId&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;SessionRestoreId&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Here's an example of a simple script using that layout, which will launch &lt;code&gt;fastfetch&lt;/code&gt; in one pane and &lt;code&gt;btm&lt;/code&gt; in the other:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/usr/bin/env bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Define the commands to run&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;cmd1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;fastfetch&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;cmd2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;btm&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Opens a konsole tab with a saved layout&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Change the path to point to the layout file on your system&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# KPID is used for renaming tabs&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;konsole --hold --layout &lt;span class="nv"&gt;$HOME&lt;/span&gt;/konsole_layouts/monitoring.json &lt;span class="p"&gt;&amp;amp;&lt;/span&gt; &lt;span class="nv"&gt;KPID&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$!&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Short sleep to let the tab creation complete&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sleep 0.5
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Runs commands in Konsole panes&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;service&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;qdbus &lt;span class="p"&gt;|&lt;/span&gt; grep -B1 konsole &lt;span class="p"&gt;|&lt;/span&gt; grep -v -- -- &lt;span class="p"&gt;|&lt;/span&gt; sort -t&lt;span class="s2"&gt;&amp;#34;.&amp;#34;&lt;/span&gt; -k2 -n &lt;span class="p"&gt;|&lt;/span&gt; tail -n 1&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qdbus &lt;span class="nv"&gt;$service&lt;/span&gt; /Sessions/1 org.kde.konsole.Session.runCommand &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;cmd1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qdbus &lt;span class="nv"&gt;$service&lt;/span&gt; /Sessions/2 org.kde.konsole.Session.runCommand &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;cmd2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Renames the tabs - optional&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qdbus org.kde.konsole-&lt;span class="nv"&gt;$KPID&lt;/span&gt; /Sessions/1 setTitle &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;System Info&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qdbus org.kde.konsole-&lt;span class="nv"&gt;$KPID&lt;/span&gt; /Sessions/2 setTitle &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;System Monitor&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;What it does:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Loads a layout with 2 panes, horizontally arranged&lt;/li&gt;
&lt;li&gt;Runs &lt;code&gt;clear&lt;/code&gt; and then &lt;code&gt;fastfetch&lt;/code&gt; in the left pane; runs &lt;code&gt;btm&lt;/code&gt; in the right pane&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="wrap-up"&gt;Wrap-up&lt;/h2&gt;
&lt;p&gt;That's how you can accomplish opening a number of panes in &lt;code&gt;konsole&lt;/code&gt; which run different commands. Using this kind of shortcut at the start of every work / programming session saved a little time every day which adds up over time. The marketing peeps would call it &amp;quot;maximizing efficiencies&amp;quot; or something. I hope some folks find this useful, and come up with many creative ways of making &lt;code&gt;konsole&lt;/code&gt; work harder for them.&lt;/p&gt;
&lt;h2 id="known-issues-and-tips"&gt;Known issues and tips&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Running &lt;code&gt;konsole&lt;/code&gt; from a Quick Command will open a new window, even if you want to just open a new tab.&lt;/li&gt;
&lt;li&gt;You may see this warning when using runCommand in your scripts. You can ignore it. I wasn't able to find documentation on what the concern is, exactly.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;The D-Bus methods sendText/runCommand were just used. There are security concerns about allowing these methods to be public. If desired, these methods can be changed to internal use only by re-compiling Konsole. This warning will only show once for this Konsole instance.
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="credits-to-inspirational-sources"&gt;Credits to inspirational sources&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Thanks to the &lt;a href="https://github.com/Gsarod/Cool-Konsole-setup"&gt;Cool-Konsole-setup&lt;/a&gt; repo, where I found an example script for using commands in a layout via &lt;code&gt;qdbus&lt;/code&gt;. Note: The scripts in that repo did not work as-is.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://askubuntu.com/a/1491500"&gt;This answer on Ask Ubuntu&lt;/a&gt; for improvements on the example scripts.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>My First Akademy Adventure</title><link>https://blogs.kde.org/2024/09/18/my-first-akademy-adventure/</link><pubDate>Wed, 18 Sep 2024 00:00:00 +0000</pubDate><author>Tracey Clark</author><guid>https://blogs.kde.org/2024/09/18/my-first-akademy-adventure/</guid><description>&lt;p&gt;This year was my first Akademy, and I was thrilled to be able to attend in
person. Even better, some veterans said it was the best Akademy so far. It was
great to see some people I had met in April and to meet new people. I arrived
on Friday, 6th Sept and left the following Friday. I very much enjoyed staying
in the lovely town of Würzburg and doing a day tour of Rothenberg. Now that
I've caught up on sleep (the jet lag, it is real), it's time to write about it.&lt;/p&gt;
&lt;p&gt;As described in &lt;a href="https://akademy.kde.org/news/2024-09_akademy-2024-report/"&gt;the Akademy 2024
report&lt;/a&gt;, the focus
this year was resetting priorities, refocusing goals and reorganizing projects.
Since I had recently become a more active contributor to KDE, I was keen to
learn about the direction things will take over the next year. It was also
exciting to see the new design direction in Union and Plasma Next!&lt;/p&gt;
&lt;h2 id="a-personal-note"&gt;A Personal Note&lt;/h2&gt;
&lt;p&gt;Speaking of goals, a personal one I've striven toward in my career is to
contribute to something that improves the world, even if indirectly. It's not
something I've always been able to do. It feels good to be able to work with a
project that is open source, and is working to make the computing world more
sustainable.&lt;/p&gt;
&lt;p&gt;I'd also like to recognize all the wonderful, welcoming folks that make Akademy
such a great conference. I've been to a few other tech conferences and events,
with varying atmospheres and attitudes. I can say that people at Akademy are so
helpful, and so nice - it made being among a lot of new faces in a foreign
country a truly great experience.&lt;/p&gt;
&lt;h2 id="the-conference"&gt;The Conference&lt;/h2&gt;
&lt;p&gt;The keynote had powerful information about the impacts of improper tech
disposal and what we can do to improve the situation. This highlighted the
importance of the KDE Eco project, which aims to help to reduce e-waste and
make our projects more sustainable. Their new &lt;a href="https://eco.kde.org/blog/2024-05-29_introducing-ns4nh/"&gt;Opt Green
initiative&lt;/a&gt; is going to
take concrete steps toward this.&lt;/p&gt;
&lt;p&gt;Some of the talks I attended:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;KDE Goals - one talk about the last 2 years of goals and another revealing the
new goals.&lt;/li&gt;
&lt;li&gt;&amp;quot;Adapt or Die&amp;quot; - how containerized packaging affects KDE projects.&lt;/li&gt;
&lt;li&gt;Union and styling in KDE's future.&lt;/li&gt;
&lt;li&gt;&lt;del&gt;Banana OS&lt;/del&gt; &lt;a href="https://invent.kde.org/sitter/kde-linux"&gt;KDE Linux&lt;/a&gt; - why it's
being developed and some technical planning.&lt;/li&gt;
&lt;li&gt;Getting Them Early: Teaching Pupils About The Environmental Benefits Of FOSS
This strategy has been powerful for other projects (like Microsoft Windows,
Google Chromebooks, Java), so I'm glad to see it for KDE.
&lt;ul&gt;
&lt;li&gt;Why and how to use KDE frameworks in non-KDE apps&lt;/li&gt;
&lt;li&gt;KDE Apps Initiative&lt;/li&gt;
&lt;li&gt;Cutting Gordian's &amp;quot;End-User Focus&amp;quot; vs. &amp;quot;Privacy&amp;quot; Knot - collecting useful
user data while respecting privacy and security.&lt;/li&gt;
&lt;li&gt;Plasma Next - Visual Design Evolution for Plasma&lt;/li&gt;
&lt;li&gt;The Road to KDE Neon Core&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="bof-sessions"&gt;BoF Sessions&lt;/h2&gt;
&lt;p&gt;Some of the BoF sessions I attended:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Decentralizing KUserFeedback&lt;/li&gt;
&lt;li&gt;Streamlined Application Development Experience&lt;/li&gt;
&lt;li&gt;Organizing the Plasma team, Plasma goals&lt;/li&gt;
&lt;li&gt;Plasma &amp;quot;Next&amp;quot; initiative&lt;/li&gt;
&lt;li&gt;Union: The future of styling in KDE&lt;/li&gt;
&lt;li&gt;KWallet modern replacement&lt;/li&gt;
&lt;li&gt;Video tutorial for BoF best practice (Kieryn roped me into this one)&lt;/li&gt;
&lt;li&gt;Security Team BoF Notes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks to everyone who made this year's Akademy such a wonderful experience. If
anyone out there is thinking of attending next year, and can make it, I really
recommend it. I'm hoping to be at Akademy 2025!&lt;/p&gt;</description></item><item><title>Konsole Layout Automation (part 1)</title><link>https://blogs.kde.org/2024/06/11/konsole-layout-automation-part-1/</link><pubDate>Tue, 11 Jun 2024 00:00:00 +0000</pubDate><author>Tracey Clark</author><guid>https://blogs.kde.org/2024/06/11/konsole-layout-automation-part-1/</guid><description>&lt;p&gt;Do you find yourself opening up the same tabs in your terminal and running the same commands every day? Have you wanted to make this easier, say, by clicking a desktop icon or running a short command?&lt;/p&gt;
&lt;p&gt;Recently, I saw a question along these lines in the &lt;a href="https://go.kde.org/matrix/#/%23kde:kde.org"&gt;KDE support room on Matrix&lt;/a&gt;. Someone wanted to have &lt;a href="https://konsole.kde.org/"&gt;Konsole&lt;/a&gt; automatically open some tabs and run specific commands when it's started. Since I've done this kind of thing, for personal and professional environments, I thought I'd share. You too can avoid doing the same manual terminal setup day after day, and just get to what you're working on.&lt;/p&gt;
&lt;p&gt;Here in Part 1, I'll outline how to open tabs with different profiles and run commands in them. Next week, in Part 2, I'll share how to set up layouts (a.k.a. split panes) and run commands in those. You can combine these techniques to make your setup truly flexible. Using aliases, functions and scripts, you can bring up a complex layout with one command or button click.&lt;/p&gt;
&lt;h2 id="inspiration"&gt;Inspiration&lt;/h2&gt;
&lt;p&gt;I have a motto: If I have to do the exact same thing more than twice (on a computer), I should probably script / automate it. It's an up front time investment that saves me a lot of manual tedium later.&lt;/p&gt;
&lt;p&gt;My inspiration for scripting terminal layouts came from iTerm2's customization abilities. After a few years of using it on a work-provided MacBook Pro, I was spoiled. It's truly nice how easy it is to create profiles and save splits in the GUI. You can then tweak their configurations using any text editor. When I searched for how to do this with Linux terminals, I found quite a few people were also looking for an &amp;quot;iTerm2 equivalent for Linux&amp;quot;.&lt;/p&gt;
&lt;h2 id="goal-launch-a-konsole-window-with-tabs-which-run-commands"&gt;Goal: Launch a Konsole window with tabs which run commands&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;Note&lt;/strong&gt;
For more detailed instructions on using Konsole, please see the output of &lt;code&gt;konsole --help&lt;/code&gt; and take a look at the &lt;a href="https://docs.kde.org/stable5/en/konsole/konsole/index.html"&gt;Konsole Handbook&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;We'll start with that request from Matrix: having Konsole create tabs and run commands in them when it starts. Here are the steps I used to accomplish this. Feel free to use this as inspiration and adapt for your own needs.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Use case:&lt;/strong&gt; Quickly set up a working environment that I use daily to save time every day. There will be a couple of tabs connected to different remote hosts, one that changes to a notes directory, and one running a system monitor.&lt;/p&gt;
&lt;p&gt;Here's an overview of the steps:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Create a Konsole profile which will run a command and optionally use another color theme&lt;/li&gt;
&lt;li&gt;Create a tab layout file to launch Konsole with which will open a tab with that profile&lt;/li&gt;
&lt;li&gt;Create a profile with a different command for an additional tab, and then identify commands for a couple of the other tabs&lt;/li&gt;
&lt;li&gt;Update the tab layout file to launch Konsole with all the desired tabs&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Now let's get into the details.&lt;/p&gt;
&lt;h2 id="create-the-first-konsole-profile"&gt;Create the first Konsole profile&lt;/h2&gt;
&lt;p&gt;Making custom profiles for different hosts are where my adventures in customizing Konsole began.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Use case:&lt;/strong&gt; I would like to automatically connect to my hosted VPS in a tab with a specific color theme.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Reasoning:&lt;/strong&gt; Running commands using a theme is quicker and easier than typing by hand (especially as they get more complex). With a custom color scheme, I can see at a glance which tab has my server session vs. any other system. This helps me avoid typing commands for my server into another system and vice-versa.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;Note&lt;/strong&gt;
Profiles are stored as plain text files in &lt;code&gt;/.local/share/konsole/&lt;/code&gt;.
Profile names are cAsE senSiTive.
Since profile files are plain text, you can create, edit, and delete them with scripts. That is beyond the scope of this post.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The first step is to set up a custom profile with a custom color theme, a custom tab title format, and a command.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;I'm using &amp;quot;&lt;a href="https://eternalterminal.dev/"&gt;eternal terminal&lt;/a&gt;&amp;quot; (&lt;code&gt;et&lt;/code&gt;) for its ability to reconnect, rather than &lt;code&gt;ssh&lt;/code&gt; to connect to the VPS. I also have an entry for the host in &lt;code&gt;.ssh/config&lt;/code&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In Settings -&amp;gt; Manage Profiles - New I created a profile named VPS. The following are the options I changed. Others were left as-is (&amp;quot;hostname&amp;quot; is a stand-in for the actual VPS hostname):&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Name: VPS
Command: et VPS
Tab title format: %n hostname
Tab Color: I chose a color
Appearance - Color scheme &amp;amp; font: I chose a different color scheme
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Now that I have a custom profile, I can use it with a new tab in Konsole. When I go to File -&amp;gt; New Tab and click &amp;quot;VPS&amp;quot;, the tab will open with the new profile, and the command will run to connect to the server.&lt;/p&gt;
&lt;p&gt;You can use Konsole's &lt;a href="https://docs.kde.org/stable5/en/konsole/konsole/command-line-options.html"&gt;command line options&lt;/a&gt; in the following way to have it launch with a tab using a profile.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;konsole --new-tab --profile VPS
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This command can be used with an alias, function, script, Windows batch file, desktop shortcut or whatever you prefer.&lt;/p&gt;
&lt;p&gt;There's another way to launch Konsole which is better for opening multiple tabs. It uses a &amp;quot;tabs configuration file&amp;quot;.&lt;/p&gt;
&lt;h3 id="create-a-tabs-configuration-file"&gt;Create a tabs configuration file&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;Note&lt;/strong&gt;
I have found this to be unreliable if any tab uses &lt;code&gt;ssh&lt;/code&gt; or &lt;code&gt;et&lt;/code&gt;
There's an &lt;a href="https://bugs.kde.org/show_bug.cgi?id=488396"&gt;open bug report for this&lt;/a&gt;. Until this is resolved, you may have better luck with a shell script that opens multiple tabs, I'll add information below.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Now I'll create a tabs configuration file with the VPS profile in it.&lt;/p&gt;
&lt;p&gt;Each line in this file describes a tab for Konsole to open. The format is detailed in the &lt;a href="https://docs.kde.org/stable5/en/konsole/konsole/command-line-options.html"&gt;command line options documentation&lt;/a&gt;. I keep these in &lt;code&gt;~/konsole_layouts/&lt;/code&gt;, keep yours in whatever directory works for you. I'll save this file as &amp;quot;vps-tabs&amp;quot;.&lt;/p&gt;
&lt;p&gt;Each line must have at least a profile or a command field. It can have both, and there are &lt;a href="https://docs.kde.org/stable5/en/konsole/konsole/command-line-options.html"&gt;other options as well&lt;/a&gt;.&lt;br&gt;
&lt;em&gt;Do not specify a command on a line for a tab if you also use a profile which itself has a command. This may lead to unexpected behavior.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;If you only need to run a command in a tab, you can just use the command field. You combine a command with a profile (that has no command) if you want to customize the tab further.&lt;/p&gt;
&lt;p&gt;This is what will go in the file for now for my first tab:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;title: VPS ;; profile: VPS
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The command below will start Konsole using this file. (Change file path to point to the file on your system). Opening Konsole in this way can also be done with an alias, script etc.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;konsole --hold --tabs-from-file ~/konsole_layouts/vps-tabs
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Notice that I'm using &lt;code&gt;--hold&lt;/code&gt; which tells Konsole to keep tabs open even after their command has exited. This will help debugging any problems that might arise (unless the window crashes entirely or fails to load). Once things are set up and running smoothly, you don't need to use &lt;code&gt;--hold&lt;/code&gt;, if you prefer.&lt;/p&gt;
&lt;h2 id="create-additional-profiles"&gt;Create additional profiles&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Use case:&lt;/strong&gt; At the start of the day, I want to automatically open tabs which connect to both servers I need to work with. I want an additional tab open to my notes directory and another one running a system monitor.&lt;/p&gt;
&lt;p&gt;Time to add an additional profile to Konsole:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Server2 - this will use &lt;code&gt;ssh&lt;/code&gt; to connect to a second server and use a profile for a different color theme&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I won't create profiles for the system monitor tab or the Notes tab. I'll run those commands directly from the tab configuration file.&lt;/p&gt;
&lt;h2 id="update-the-tabs-file-with-additional-tab-definitions"&gt;Update the tabs file with additional tab definitions&lt;/h2&gt;
&lt;p&gt;At this point, I'll add lines to the tabs configuration file I created.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A tab for the Server2 profile.&lt;/li&gt;
&lt;li&gt;A tab which changes to a notes directory, and uses the Sand profile with colors I prefer for them.&lt;/li&gt;
&lt;li&gt;A tab for the system monitor which runs the &lt;code&gt;btm&lt;/code&gt; command and uses another profile with yet another color scheme.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The file now looks like this:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;title: VPS ;; profile: VPS
title: SysAdminNotes ;; workdir: ~/Nextcloud/Notes/SysAdmin ;; profile: Sand
title: Server2 ;; profile: Server2
title: NavyBlue ;; command: btm ;; profile: NavyBlue
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;And now, when I run &lt;code&gt;konsole --hold --tabs-from-file ~/konsole_layouts/vps-tabs&lt;/code&gt;, Konsole launches with all the tabs I need.&lt;/p&gt;
&lt;h2 id="bonus-run-commands-after-connecting-to-a-remote-host"&gt;Bonus: Run commands after connecting to a remote host&lt;/h2&gt;
&lt;p&gt;It's possible with both &lt;code&gt;ssh&lt;/code&gt; and &lt;code&gt;et&lt;/code&gt; to run commands on a remote host after connection. For instance, I could update the command in my VPS profile like so:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Name: VPS
Command: et VPS -c 'sudo apt update &amp;amp;&amp;amp; apt list --upgradable; exec /bin/zsh'
Tab title format: %n hostname
Tab Color: I chose a color
Appearance - Color scheme &amp;amp; font: I chose a different color scheme
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The command not only connects to my VPS, it also displays a list of any available updates, and stays connected to the host. Note the &lt;code&gt;exec /bin/zsh&lt;/code&gt; at the end. This will keep an interactive terminal open after other commands are run.&lt;/p&gt;
&lt;p&gt;With &lt;code&gt;ssh&lt;/code&gt;, to run a command on a remote host while staying connected, the command is slightly different:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ssh -t VPS &lt;span class="s1"&gt;&amp;#39;sudo apt update &amp;amp;&amp;amp; apt list --upgradable; zsh&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="but-what-if-i-need-to-connect-to-a-jumphost-before-the-remote-host-and-i-still-want-to-run-a-command-after-i-connect"&gt;But what if I need to connect to a jumphost before the remote host and I still want to run a command after I connect?&lt;/h3&gt;
&lt;p&gt;This can be done with either SSH or Eternal Terminal. For SSH, the process is relatively easy, and plenty of sites online provide instructions. Eternal Terminal, on the other hand, is a bit more tricky.&lt;/p&gt;
&lt;p&gt;It took some research and experimentation to get this working with Eternal Terminal, so here it is (&amp;quot;jumphost&amp;quot; is a placeholder for the actual hostname of the jumphost).&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;Command&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;et jumphost -c &lt;span class="s2"&gt;&amp;#34;ssh -t remotehost &amp;#39;cd /some/directory &amp;amp;&amp;amp; . ../some_script &amp;amp;&amp;amp; cd ../another-directory; exec /bin/zsh&amp;#39;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="alternative-to-using-a-tabs-file-a-shell-script-or-function"&gt;Alternative to using a tabs file: a shell script or function&lt;/h2&gt;
&lt;p&gt;If you have difficulties with using a tabs configuration file, you can use a shell script (or function) that takes advantage of the command line options Konsole has. For instance, using the &lt;code&gt;-e&lt;/code&gt; flag we can have tabs run commands:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/usr/bin/env bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;&lt;/span&gt;konsole --new-tab -e &lt;span class="nb"&gt;echo&lt;/span&gt; This is tab &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="p"&gt;&amp;amp;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;konsole --new-tab -e &lt;span class="nb"&gt;echo&lt;/span&gt; This is tab &lt;span class="m"&gt;2&lt;/span&gt; &lt;span class="p"&gt;&amp;amp;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;konsole --new-tab -e &lt;span class="nb"&gt;echo&lt;/span&gt; This is tab &lt;span class="m"&gt;3&lt;/span&gt; &lt;span class="p"&gt;&amp;amp;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;konsole --new-tab -e &lt;span class="nb"&gt;echo&lt;/span&gt; This is tab &lt;span class="m"&gt;4&lt;/span&gt; &lt;span class="p"&gt;&amp;amp;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You can combine commands with profiles as well:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/usr/bin/env bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;&lt;/span&gt;konsole --new-tab --profile VPS &lt;span class="p"&gt;&amp;amp;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;konsole --new-tab --profile Sand --workdir: ~/Nextcloud/Notes/SysAdmin &lt;span class="p"&gt;&amp;amp;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;konsole --new-tab --profile Server2 &lt;span class="p"&gt;&amp;amp;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;konsole --new-tab --profile NavyBlue -e btm &lt;span class="p"&gt;&amp;amp;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Explore the Konsole docs and experiment!&lt;/p&gt;
&lt;h2 id="known-issues"&gt;Known issues&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Launching Konsole with &lt;code&gt;--tabs-from-file&lt;/code&gt; will open an extra tab in addition to the ones from the configuration file. This has &lt;a href="https://bugs.kde.org/show_bug.cgi?id=487896"&gt;an open bug report&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Sometimes, with &lt;code&gt;--tabs-from-file&lt;/code&gt;, the new Konsole window immediately disappears. This &lt;em&gt;may&lt;/em&gt; be related to ssh/et being in a command. I filed &lt;a href="https://bugs.kde.org/show_bug.cgi?id=488396"&gt;a bug report for that&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;If using a tabs configuration file, or a script: only use Eternal Terminal with one tab. Trying to use it with more than one tab will result in &lt;code&gt;et&lt;/code&gt; core dumping in one of them.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Bugzilla Bot improvements in the Automation Sprint</title><link>https://blogs.kde.org/2024/04/29/bugzilla-bot-improvements-in-the-automation-sprint/</link><pubDate>Mon, 29 Apr 2024 21:30:00 +0000</pubDate><author>Tracey Clark</author><guid>https://blogs.kde.org/2024/04/29/bugzilla-bot-improvements-in-the-automation-sprint/</guid><description>&lt;p&gt;I'm happy to have been able to attend my first in-person KDE event, the Automation &amp;amp; Systematization Sprint in Berlin. Previously, my contributions to KDE have consisted of submitting and triaging bug reports. During this weekend, I was able to meet some of the KDE team in person, and become more involved. I've started working with the Bugzilla Bot code, and plan to start digging into the automated test code.&lt;/p&gt;
&lt;p&gt;The Bugzilla product list had fallen out of date, so first I &lt;a href="https://invent.kde.org/sysadmin/bugzilla-bot/-/merge_requests/23"&gt;updated that&lt;/a&gt; (yay, my first accepted MR!). I also started working on using the GitLab API to automate these updates. In the near future, I'll be tackling some requested improvements to the Bugzilla Bot. This will lessen the amount of boring manual bug chores and free people up to do more valuable work.&lt;/p&gt;
&lt;p&gt;Thanks to the KDE team for being so friendly and willing to help me learn the development environment. I'm happy to have found more ways to contribute that I enjoy, and will be valuable to the project.&lt;/p&gt;</description></item></channel></rss>