{"id":633,"date":"2020-07-19T12:30:27","date_gmt":"2020-07-19T07:00:27","guid":{"rendered":"https:\/\/www.lguruprasad.in\/blog\/?p=633"},"modified":"2020-07-19T12:30:34","modified_gmt":"2020-07-19T07:00:34","slug":"fixing-the-rough-edges-of-my-plasma-setup","status":"publish","type":"post","link":"https:\/\/www.lguruprasad.in\/blog\/2020\/07\/19\/fixing-the-rough-edges-of-my-plasma-setup\/","title":{"rendered":"Fixing the rough edges of my Plasma setup"},"content":{"rendered":"\n<p>I use KDE Plasma on my Arch desktop and I&#8217;ve had some issues with getting my dual-monitor, mixed DPI setup to work properly as mentioned in my <a rel=\"noreferrer noopener\" href=\"https:\/\/www.lguruprasad.in\/blog\/2020\/01\/13\/how-to-get-a-dual-monitor-setup-with-mixed-dpi-working-on-xorg\/\" target=\"_blank\">previous post<\/a>.<\/p>\n\n\n\n<p>I nuked and paved my existing installation a few weeks ago and set up Arch afresh on the same computer on a new SSD. On the previous install, I had set up the root filesystem on a hard drive with LVM and the system startup was very slow &#8211; ~45 seconds to reach SDDM, an additional ~30 seconds to drop to a usable desktop, and then ~5 seconds to run my <code>xrandr<\/code> script.<\/p>\n\n\n\n<p>The boot time and the time taken to reach a usable desktop was significantly lesser with the SSD &#8211; ~8 seconds to start SDDM, ~5 seconds to the desktop, ~3 seconds to run the <code>xrandr<\/code> script. So I was happy.<\/p>\n\n\n\n<p>As exciting as that was, I still had many rough edges and paper cuts, most of them persisting across multiple re-installations. Thanks to the posts by various posts by fellow Plasma users, I was able to solve them \ud83d\ude42<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">SDDM<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Monitor layout<\/h3>\n\n\n\n<p>When SDDM started, it always did with my monitor layout and DPI configured wrong. My secondary 1080p monitor is placed to the left of my primary 4K monitor and SDDM always placed the former to the right of the latter.<\/p>\n\n\n\n<p>Thanks to this <a rel=\"noreferrer noopener\" href=\"https:\/\/blog.victormendonca.com\/2018\/06\/29\/how-to-fix-sddm-on-multiple-screens\/\" target=\"_blank\">useful post<\/a>, I was able to create a custom <code>Xsetup<\/code> script by adding the <code>xrandr<\/code> command from <a rel=\"noreferrer noopener\" href=\"https:\/\/www.lguruprasad.in\/blog\/2020\/01\/13\/how-to-get-a-dual-monitor-setup-with-mixed-dpi-working-on-xorg\/\" target=\"_blank\">my previous post<\/a> and configuring SDDM to run it when starting the display server.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \/etc\/sddm.conf\n&#91;XDisplay]\nDisplayCommand=\/usr\/share\/sddm\/scripts\/Xsetup<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Theme<\/h3>\n\n\n\n<p>I don&#8217;t like the default theme used by SDDM, <code>maui<\/code>. Since Arch is a DIY distro, it doesn&#8217;t automatically set up the default Plasma theme, <code>breeze<\/code>, like many other distros do when Plasma is installed.<\/p>\n\n\n\n<p>Previously, I was using the <a href=\"https:\/\/github.com\/MarianArlt\/kde-plasma-chili\">Chili login theme<\/a> to make the SDDM greeter look nice. I was unsure why and how, the Manjaro installation on my laptop, had a nice Plasma theme for SDDM. But I didn&#8217;t spend any time investigating at all till now.<\/p>\n\n\n\n<p>I checked the <a rel=\"noreferrer noopener\" href=\"https:\/\/wiki.archlinux.org\/index.php\/SDDM#Theme_settings\" target=\"_blank\">Arch wiki page on SDDM theming<\/a> to check if there are nice themes listed there that I could use and found that it is possible to configure the SDDM theme using the Plasma <code>System Settings<\/code> application after installing the <code>sddm-kcm<\/code> package. I found the default Breeze theme which I liked very much and set it as the theme. But that didn&#8217;t work. So I went ahead and configured it manually in <code>sddm.conf<\/code> and voil\u00e0, it worked! \ud83d\ude00<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \/etc\/sddm.conf\n&#91;XDisplay]\nDisplayCommand=\/usr\/share\/sddm\/scripts\/Xsetup\n\n&#91;Theme]\nCurrent=breeze<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"754\" src=\"https:\/\/www.lguruprasad.in\/blog\/wp-content\/uploads\/2020\/07\/sddm-greeter-breeze-theme-1024x754.png\" alt=\"\" class=\"wp-image-638\" srcset=\"https:\/\/www.lguruprasad.in\/blog\/wp-content\/uploads\/2020\/07\/sddm-greeter-breeze-theme-1024x754.png 1024w, https:\/\/www.lguruprasad.in\/blog\/wp-content\/uploads\/2020\/07\/sddm-greeter-breeze-theme-300x221.png 300w, https:\/\/www.lguruprasad.in\/blog\/wp-content\/uploads\/2020\/07\/sddm-greeter-breeze-theme-768x565.png 768w, https:\/\/www.lguruprasad.in\/blog\/wp-content\/uploads\/2020\/07\/sddm-greeter-breeze-theme-1280x942.png 1280w, https:\/\/www.lguruprasad.in\/blog\/wp-content\/uploads\/2020\/07\/sddm-greeter-breeze-theme.png 1364w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Desktop scaling<\/h2>\n\n\n\n<p>I was pleasantly surprised to see that Plasma automatically scaled my 4K monitor without having to configure scaling manually via the <code>Display<\/code> settings application. Everything in the secondary monitor looked large as expected and I had to run my <code>xrandr<\/code> command from the previous post, with some changes to restart Plasma shell for making the wallpaper fit the scaled display, manually every time due to something in the Plasma startup process resetting the screen configuration irrespective of when my <code>xrandr<\/code> auto-start script ran.<\/p>\n\n\n\n<p>Thanks to <a rel=\"noreferrer noopener\" href=\"https:\/\/www.reddit.com\/r\/kde\/comments\/hoajbo\/trouble_making_my_xrandr_scale_settings_permanent\/\" target=\"_blank\">this post on Reddit<\/a> by a fellow Plasma user, I found that the <code>kscreen2<\/code> service was the culprit and disabling it ensured that the display configuration set up by the SDDM <code>Xsetup<\/code> script persisted and as a result, I didn&#8217;t have to manually run my <code>xrandr<\/code> script \ud83d\ude00 \ud83d\ude0c<\/p>\n\n\n\n<p>There could be some side-effects caused by disabling the <code>kscreen2<\/code> service, but I haven&#8217;t run into any till now \ud83d\ude42<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Emoji picker<\/h2>\n\n\n\n<p>The built-in emoji picker, introduced in Plasma 5.18, is very convenient and something that Plasma was sorely missing before. However, in spite of installing an <a rel=\"noreferrer noopener\" href=\"https:\/\/wiki.archlinux.org\/index.php\/fonts#Emoji_and_symbols\" target=\"_blank\">appropriate emoji font<\/a>, the emoji picker had a lot of missing emoji with blank squares and the color\/gender variants of some emoji looked broken with those showing up as two separate symbols (one for the emoji and the other for the color\/gender variant) overlapping each other.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"548\" height=\"79\" src=\"https:\/\/www.lguruprasad.in\/blog\/wp-content\/uploads\/2020\/07\/emoji_picker_issue.png\" alt=\"\" class=\"wp-image-641\" srcset=\"https:\/\/www.lguruprasad.in\/blog\/wp-content\/uploads\/2020\/07\/emoji_picker_issue.png 548w, https:\/\/www.lguruprasad.in\/blog\/wp-content\/uploads\/2020\/07\/emoji_picker_issue-300x43.png 300w\" sizes=\"auto, (max-width: 548px) 100vw, 548px\" \/><\/figure>\n\n\n\n<p>Thanks to <a rel=\"noreferrer noopener\" href=\"https:\/\/www.reddit.com\/r\/kde\/comments\/fsirh3\/i_think_the_emoji_selector_might_have_some_issues\/fm1n3pn\/\" target=\"_blank\">this Reddit post<\/a>, I was able to solve the issue by creating a custom <code>fontconfig<\/code> configuration file, <code>~\/.config\/fontconfig\/fonts.conf<\/code>, with the configuration below and by forcefully rebuilding the font info cache files by running <code>fc-cache -f<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?xml version='1.0'?>\n&lt;!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>\n&lt;fontconfig>\n\t&lt;match target=\"font\">\n\t\t&lt;edit mode=\"assign\" name=\"rgba\">\n\t\t&lt;const>rgb&lt;\/const>\n\t\t&lt;\/edit>\n\t&lt;\/match>\n\t&lt;match target=\"font\">\n\t\t&lt;edit mode=\"assign\" name=\"hinting\">\n\t\t&lt;bool>true&lt;\/bool>\n\t\t&lt;\/edit>\n\t&lt;\/match>\n\t&lt;match target=\"font\">\n\t\t&lt;edit mode=\"assign\" name=\"hintstyle\">\n\t\t&lt;const>hintfull&lt;\/const>\n\t\t&lt;\/edit>\n\t&lt;\/match>\n\t&lt;match target=\"font\">\n\t\t&lt;edit mode=\"assign\" name=\"antialias\">\n\t\t&lt;bool>true&lt;\/bool>\n\t\t&lt;\/edit>\n\t&lt;\/match>\n\t&lt;match target=\"font\">\n\t\t&lt;edit mode=\"assign\" name=\"lcdfilter\">\n\t\t&lt;const>lcddefault&lt;\/const>\n\t\t&lt;\/edit>\n\t&lt;\/match>\n\t&lt;match target=\"font\">\n\t\t&lt;edit name=\"autohint\" mode=\"assign\">\n\t\t&lt;bool>false&lt;\/bool>\n\t\t&lt;\/edit>\n\t&lt;\/match>\n\t&lt;match target=\"pattern\"> \n\t\t&lt;edit name=\"family\" mode=\"prepend\"> \n\t\t&lt;string>Noto Color Emoji&lt;\/string> \n\t\t&lt;\/edit> \n\t&lt;\/match> \n&lt;\/fontconfig><\/code><\/pre>\n\n\n\n<p>It looks nice after the fix \ud83d\udc4c\ud83c\udffc<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"472\" height=\"79\" src=\"https:\/\/www.lguruprasad.in\/blog\/wp-content\/uploads\/2020\/07\/emoji_picker_issue_fixed.png\" alt=\"\" class=\"wp-image-643\" srcset=\"https:\/\/www.lguruprasad.in\/blog\/wp-content\/uploads\/2020\/07\/emoji_picker_issue_fixed.png 472w, https:\/\/www.lguruprasad.in\/blog\/wp-content\/uploads\/2020\/07\/emoji_picker_issue_fixed-300x50.png 300w\" sizes=\"auto, (max-width: 472px) 100vw, 472px\" \/><\/figure><\/div>\n","protected":false},"excerpt":{"rendered":"<p>I use KDE Plasma on my Arch desktop and I&#8217;ve had some issues with getting my dual-monitor, mixed DPI setup to work properly as mentioned in my previous post. I nuked and paved my existing installation a few weeks ago and set up Arch afresh on the same computer on a new SSD. On the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_s2mail":"","activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[293,286,1],"tags":[296,292,294,295,287],"class_list":["post-633","post","type-post","status-publish","format-standard","hentry","category-plasma","category-technology","category-uncategorized","tag-emoji","tag-hidpi","tag-plasma","tag-sddm","tag-xrandr"],"_links":{"self":[{"href":"https:\/\/www.lguruprasad.in\/blog\/wp-json\/wp\/v2\/posts\/633","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lguruprasad.in\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lguruprasad.in\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lguruprasad.in\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lguruprasad.in\/blog\/wp-json\/wp\/v2\/comments?post=633"}],"version-history":[{"count":10,"href":"https:\/\/www.lguruprasad.in\/blog\/wp-json\/wp\/v2\/posts\/633\/revisions"}],"predecessor-version":[{"id":646,"href":"https:\/\/www.lguruprasad.in\/blog\/wp-json\/wp\/v2\/posts\/633\/revisions\/646"}],"wp:attachment":[{"href":"https:\/\/www.lguruprasad.in\/blog\/wp-json\/wp\/v2\/media?parent=633"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lguruprasad.in\/blog\/wp-json\/wp\/v2\/categories?post=633"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lguruprasad.in\/blog\/wp-json\/wp\/v2\/tags?post=633"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}