{"id":63290,"date":"2022-03-31T09:00:38","date_gmt":"2022-03-31T09:00:38","guid":{"rendered":"https:\/\/www.cryptocabaret.com\/?p=63290"},"modified":"2022-03-31T09:00:38","modified_gmt":"2022-03-31T09:00:38","slug":"how-i-customize-my-linux-window-decorations","status":"publish","type":"post","link":"https:\/\/www.cryptocabaret.com\/?p=63290","title":{"rendered":"How I customize my Linux window decorations"},"content":{"rendered":"<p><span class=\"field field--name-title field--type-string field--label-hidden\">How I customize my Linux window decorations<\/span><br \/>\n<span class=\"field field--name-uid field--type-entity-reference field--label-hidden\"><a title=\"View user profile.\" href=\"https:\/\/opensource.com\/users\/dboth\" class=\"username\">David Both<\/a><\/span><br \/>\n<span class=\"field field--name-created field--type-created field--label-hidden\">Thu, 03\/31\/2022 &#8211; 03:00<\/span><\/p>\n<div data-drupal-selector=\"rate-node-69796\" class=\"rate-widget-thumbs-up\">\n<div class=\"rate-thumbs-up-btn-up rate-thumbs-up-btn-up vote-pending\">Up<\/div>\n<div class=\"rate-score\"><a href=\"https:\/\/opensource.com\/user\/register?absolute=1\">Register<\/a> or <a href=\"https:\/\/opensource.com\/user\/login?current=\/rss.xml&amp;absolute=1\">Login<\/a> to like.<\/div>\n<\/div>\n<div class=\"clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item\">\n<p>One thing I especially like about Linux is the amazing and vast array of choices in almost everything. Don&#8217;t like one application for something? There are usually several more you can choose from. Don&#8217;t like how the desktop works? Pick one of many other desktops. Don&#8217;t like the window decorations on your desktop? There are many others you can download and try.<\/p>\n<p>What if you don&#8217;t like one little thing about your choice of window decorations\u2014and all other sets of decorations are not even close?<\/p>\n<p>One of the advantages of open source is that I can change anything I want. So I did.<\/p>\n<p>I use the <a href=\"https:\/\/www.xfce-look.org\/p\/1262559\/\" target=\"blank\" rel=\"noopener\">Alienware-Bluish<\/a> theme on my <a href=\"https:\/\/opensource.com\/article\/19\/12\/xfce-linux-desktop\">Xfce desktop<\/a>. I like its futuristic look, the cyan and gray colors that match my dark primary color schemes\u2014and sometimes my moods. It has a nice 3D relief in the corners, and the corners and edges are wide enough to grab easily, even with my Hi-DPI resolution. Figure 1 shows the original Alienware-Bluish decorations with the gradient-black-324.0 color scheme I prefer.<\/p>\n<article class=\"align-center media media--type-image media--view-mode-default\">\n<div class=\"field field--name-field-media-image field--type-image field--label-hidden field__item\">  <img decoding=\"async\" src=\"https:\/\/www.cryptocabaret.com\/wp-content\/uploads\/2022\/03\/Hack-Deco-Fig-01.png\" width=\"571\" height=\"377\" alt=\"Screenshot of window with standard dark colors and styles\" loading=\"lazy\"><\/div>\n<div class=\"field field--name-field-caption field--type-text-long field--label-hidden caption field__item\"><span class=\"caption__byline\">Image by: <\/span><\/p>\n<p>Figure 1. An active window (with the focus) using the original Alienware-Bluish decorations (David Both, CC BY-SA 4.0)<\/p>\n<\/div>\n<\/article>\n<p>Two things bother me about this window. First, the intensity of the window name in the title bar for active windows is just too dull for me. The inactive windows have a bright white title that attracts my eye more than the dull cyan color of the active title.<\/p>\n<p>Second, I like dark wallpapers, as you can see in Figure 1. Because the bottom edge of the window does not have a cyan highlight, it can be difficult to determine where the bottom of the windows are located, especially when there are a lot of overlapping windows open.<\/p>\n<p>Pretty minor annoyances, I know, but they just bothered me. And that is one of the coolest things about open source: I can modify anything I want, even for trivial reasons. It just takes a bit of knowledge, which I am sharing with you.<\/p>\n<\/p>\n<div class=\"embedded-resource-list callout-float-right\">\n<div class=\"field field--name-title field--type-string field--label-hidden field__item\">More Linux resources<\/div>\n<div class=\"field field--name-links field--type-link field--label-hidden field__items\">\n<div class=\"field__item\"><a href=\"https:\/\/developers.redhat.com\/cheat-sheets\/linux-commands-cheat-sheet\/?intcmp=70160000000h1jYAAQ\">Linux commands cheat sheet<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/developers.redhat.com\/cheat-sheets\/advanced-linux-commands\/?intcmp=70160000000h1jYAAQ\">Advanced Linux commands cheat sheet<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/www.redhat.com\/en\/services\/training\/rh024-red-hat-linux-technical-overview?intcmp=70160000000h1jYAAQ\">Free online course: RHEL technical overview<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/downloads\/cheat-sheet-networking?intcmp=70160000000h1jYAAQ\">Linux networking cheat sheet<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/downloads\/cheat-sheet-selinux?intcmp=70160000000h1jYAAQ\">SELinux cheat sheet<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/downloads\/linux-common-commands-cheat-sheet?intcmp=70160000000h1jYAAQ\">Linux common commands cheat sheet<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/resources\/what-are-linux-containers?intcmp=70160000000h1jYAAQ\">What are Linux containers?<\/a><\/div>\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/tags\/linux?intcmp=70160000000h1jYAAQ\">Our latest Linux articles<\/a><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<h2>Where are the decoration files?<\/h2>\n<p>The first thing I needed to do was locate the files for the decorations I am using, Alienware-Bluish. I know this because of the many decorations I have downloaded over the years.<\/p>\n<p>All of the decorative themes I download are located in the <code>\/usr\/share\/themes\/<\/code> directory so all users will have access to them. Each theme is located in a subdirectory, so the Alienware-Bluish theme is located in the<code> \/usr\/share\/themes\/Alienware-Bluish\/xfwm4\/<\/code> directory. The <em>xfwm<\/em> stands for <em>xf window manager version 4<\/em>.<\/p>\n<p>If you install your themes in your home directory, they will be located in the\u00a0<code>~\/.local\/share\/themes\/Alienware-Bluish\/xfwm4<\/code> directory. Themes stored in your home directory are not available to other users on your computer.<\/p>\n<h2>Preparation<\/h2>\n<p>I don&#8217;t like to work on the original files for anything important like a theme, so I used my own non-root account to copy the <code>\/usr\/share\/themes\/Alienware-Bluish<\/code> directory and its contents to a new directory, <code>\/usr\/share\/themes\/Alienware-Bluish-2<\/code>. This gives me a safe place to work without inadvertently damaging the original beyond repair. It also copies files and changes the ownership of the copied files to my own account, so I can copy and edit the files.<\/p>\n<p>Besides, I want to keep the original so I can continue to use it.<\/p>\n<h2>Getting started<\/h2>\n<p>View the files in the <code>\/usr\/share\/themes\/Alienware-Bluish-2\/xfce<\/code> directory using Thunar or another file manager that lets you view image thumbnails, then zoom in to increase the size of the images. Expand the images so you can see them better. Each *.xpm (X11 Pixmap) file is an image of a small window frame section, as you can see in Figure 2.<\/p>\n<article class=\"align-center media media--type-image media--view-mode-default\">\n<div class=\"field field--name-field-media-image field--type-image field--label-hidden field__item\">  <img decoding=\"async\" src=\"https:\/\/www.cryptocabaret.com\/wp-content\/uploads\/2022\/03\/Hack-Deco-Fig-02.png\" width=\"951\" height=\"895\" alt=\"A screenshot of 38 .xpm files depicting each of the elements that make up the window appearance\" loading=\"lazy\"><\/div>\n<div class=\"field field--name-field-caption field--type-text-long field--label-hidden caption field__item\"><span class=\"caption__byline\">Image by: <\/span><\/p>\n<p>Figure 2: The files that make up the various segments of a window (David Both, CC BY-SA 4.0)<\/p>\n<\/div>\n<\/article>\n<p>Notice that the different components each have an active and an inactive version. In the case of this theme, they are mostly the same. I now own these copied files, so I can copy and edit them.<\/p>\n<p>Look especially at the <code>bottom-active.xpm<\/code> and <code>bottom-inactive.xpm<\/code> files. These are the two files that define the look of the bottom of the window. These two images are only one pixel wide, so they are essentially invisible in Figure 2. The window manager uses as many instances as necessary to create the bottom edge of the window.<\/p>\n<p>Themes for other desktops may use different file formats.<\/p>\n<h2>Making the changes<\/h2>\n<p>First, I changed the title color. The <code>themerc<\/code> file contains text configuration data that defines several aspects of the title bar. This file is an ASCII text file. Here is the content for the theme:<\/p>\n<pre>\n<div class=\"geshifilter\"><div class=\"bash geshifilter-bash\"><span class=\"re2\">full_width_title<\/span>=<span class=\"kw2\">true<\/span><br><span class=\"re2\">title_alignment<\/span>=center<br><span class=\"re2\">button_spacing<\/span>=<span class=\"nu0\">2<\/span><br><span class=\"re2\">button_offset<\/span>=<span class=\"nu0\">30<\/span><br><span class=\"re2\">button_layout<\/span>=S<span class=\"sy0\">|<\/span>HMC<br><span class=\"re2\">active_text_color<\/span>=<span class=\"co0\">#699eb4<\/span><br><span class=\"re2\">inactive_text_color<\/span>=<span class=\"co0\">#ffffff<\/span><br><span class=\"re2\">title_vertical_offset_active<\/span>=<span class=\"nu0\">5<\/span><br><span class=\"re2\">title_vertical_offset_inactive<\/span>=<span class=\"nu0\">5<\/span><\/div><\/div><\/pre>\n<p>The hex numbers in the text color entries define the colors for active and inactive title text. To change the active title text, I need to determine what value to use in this field. Fortunately, there is a tool that can help. The KcolorChooser can be used to select a color from the color palette, or the <b>Pick Screen Color<\/b> button can be used to choose a color already displayed on the screen.<\/p>\n<p>I used this color picker to locate the cyan highlight in the side of the window, but I found it just a little too bright for the bottom. I wanted it a bit less bright, so I used the tools on the KcolorChooser to adjust the color and intensity to my preference. You can see the result in Figure 3.<\/p>\n<article class=\"align-center media media--type-image media--view-mode-default\">\n<div class=\"field field--name-field-media-image field--type-image field--label-hidden field__item\">  <img decoding=\"async\" src=\"https:\/\/www.cryptocabaret.com\/wp-content\/uploads\/2022\/03\/Hack-Deco-Fig-04.png\" width=\"675\" height=\"468\" alt=\"Screenshot of KColorChooser showing the numeric color values of a cyan blue tone\" loading=\"lazy\"><\/div>\n<div class=\"field field--name-field-caption field--type-text-long field--label-hidden caption field__item\"><span class=\"caption__byline\">Image by: <\/span><\/p>\n<p>Figure 3. Using the KcolorChooser to select a specific color (David Both, CC BY-SA 4.0)<\/p>\n<\/div>\n<\/article>\n<p>The KcolorChooser can be installed if you don&#8217;t have it already. On Fedora and other Red Hat-based distros, you can use the following command:<\/p>\n<pre>\n<span class=\"geshifilter\"><code class=\"bash geshifilter-bash\">dnf <span class=\"re5\">-y<\/span> <span class=\"kw2\">install<\/span> kcolorchooser<\/code><\/span><\/pre>\n<p>If you don&#8217;t already have the <a href=\"https:\/\/opensource.com\/article\/22\/2\/why-i-love-linux-kde\">KDE<\/a> desktop or any of its tools installed, this command will install a large number of KDE libraries and other dependencies. It was already installed on my workstation because I have the KDE Plasma desktop installed.<\/p>\n<p>After deciding which color I wanted, I obtained the hex digits for that color from the HTML text box. I then typed those into the <code>themerc<\/code> file so the <code>active_text_color<\/code> line looks like this:<\/p>\n<pre>\n<span class=\"geshifilter\"><code class=\"bash geshifilter-bash\"><span class=\"re2\">active_text_color<\/span>=<span class=\"co0\">#00f1f1<\/span><\/code><\/span><\/pre>\n<p>The next part, changing the <code>bottom-active.xpm<\/code> image file, is a little more complicated. I used GIMP to modify the <code>bottom-active.xpm<\/code> file, but you can use any graphics editor you are comfortable with. One catch: the image is so small that it needs to be enlarged by a huge amount to be a reasonable size for editing. I found that 8,000% worked well on my display. You can see this in Figure 4. This image is 6 pixels high by 1 pixel wide and black and shades of dark gray.<\/p>\n<article class=\"align-center media media--type-image media--view-mode-default\">\n<div class=\"field field--name-field-media-image field--type-image field--label-hidden field__item\">  <img decoding=\"async\" src=\"https:\/\/www.cryptocabaret.com\/wp-content\/uploads\/2022\/03\/Hack-Deco-Fig-05.png\" width=\"675\" height=\"646\" alt=\"Screenshot of GIMP window showing shades of black and dark gray\" loading=\"lazy\"><\/div>\n<div class=\"field field--name-field-caption field--type-text-long field--label-hidden caption field__item\"><span class=\"caption__byline\">Image by: <\/span><\/p>\n<p>Figure 4. The bottom-active.xpm file shown at 8,000% magnification in GIMP (David Both, CC BY-SA 4.0)<\/p>\n<\/div>\n<\/article>\n<p>I used the KcolorChooser to find a shade of cyan a little darker than that on the side and top edges of the window. After some playing around with it, I settled on the shade #10b0ae, which I then copied into the text field of the GIMP colors dialog. I had to add this dialog to the dock area at the upper right of the GIMP window by selecting <b>Menu Bar Tools &gt; Dockable Dialogs &gt; Colors<\/b>. Alternatively, I could have used the color picker, the eye-dropper icon, in the GIMP Colors dialog to simply pick the color from the sample display area of the KcolorChooser.<\/p>\n<p>At any rate, I now had the color I liked in the GIMP color dialog. I used the Rectangle Select tool to select the 3 pixels highlighted in Figure 5 and the Bucket Fill tool to fill the selected area with the new color. Figure 5 shows the final color.<\/p>\n<article class=\"align-center media media--type-image media--view-mode-default\">\n<div class=\"field field--name-field-media-image field--type-image field--label-hidden field__item\">  <img decoding=\"async\" src=\"https:\/\/www.cryptocabaret.com\/wp-content\/uploads\/2022\/03\/Hack-Deco-Fig-06_0.png\" width=\"552\" height=\"675\" alt=\"Screenshot of GIMP window with cyan blue color added\" loading=\"lazy\"><\/div>\n<div class=\"field field--name-field-caption field--type-text-long field--label-hidden caption field__item\"><span class=\"caption__byline\">Image by: <\/span><\/p>\n<p>Figure 5. The modified bottom-active.xpm file with the addition of cyan (David Both, CC BY-SA 4.0)<\/p>\n<\/div>\n<\/article>\n<h2>Exporting the revised file<\/h2>\n<p>GIMP converted the .xpm file into a data format it could use, but it can&#8217;t save the data directly into a .xpm file. Instead, I used the export function to save the file. This was not a big deal, but a bit unexpected the first time.<\/p>\n<p>During the export, I was presented with a dialog asking for an Alpha Threshold value. I don&#8217;t know enough about GIMP or manipulating graphics files to know what that is, so I left it alone and clicked on the <b>Export<\/b> button.<\/p>\n<h2>Testing<\/h2>\n<p>The changes I made to this theme are easy to test. I simply used the Window Manager to select the Alienware-Bluish-2 theme. This loads the new theme instantly, so I can see the results right away.<\/p>\n<p>Had I not liked the results, I could have made additional changes and tested again. At this point, however, I would have had to change back to the original Alienware-Bluish theme (or any other theme) and then back to the Alienware-Bluish-2 theme to verify the change. The revised files are not loaded until the theme is re-read.<\/p>\n<p>Figure 6 shows the revised theme using the cyan highlights in the bottom window edge. I think it looks much better.<\/p>\n<article class=\"align-center media media--type-image media--view-mode-default\">\n<div class=\"field field--name-field-media-image field--type-image field--label-hidden field__item\">  <img decoding=\"async\" src=\"https:\/\/www.cryptocabaret.com\/wp-content\/uploads\/2022\/03\/Hack-Deco-Fig-07.png\" width=\"563\" height=\"364\" alt=\"Screenshot of window with a cyan blue highlight on the bottom edge and in the title text\" loading=\"lazy\"><\/div>\n<div class=\"field field--name-field-caption field--type-text-long field--label-hidden caption field__item\"><span class=\"caption__byline\">Image by: <\/span><\/p>\n<p>Figure 6. A window showing the altered bottom edge (David Both, CC BY-SA 4.0)<\/p>\n<\/div>\n<\/article>\n<h2>Final thoughts<\/h2>\n<p>I had no idea how to fix minor problems and annoyances with window decorations until I started this little project. It did take some time and research to figure out how to do this. I learned there is an xpm graphics format, and I learned a little more about working in GIMP, including how to export into that file format. I also discovered this was a fairly easy change to make.<\/p>\n<p>I still don&#8217;t feel I have the skill or creative vision for graphics to design a completely new window decoration theme. But now I can easily make minor changes to themes someone else has created.<\/p>\n<\/div>\n<div class=\"clearfix text-formatted field field--name-field-article-subhead field--type-text-long field--label-hidden field__item\">\n<p>I can make minor modifications to the Alienware-Bluish theme on my Xfce desktop to suit my aesthetic.<\/p>\n<\/div>\n<div class=\"field field--name-field-lead-image field--type-entity-reference field--label-hidden field__item\">\n<article class=\"media media--type-image media--view-mode-caption\">\n<div class=\"field field--name-field-media-image field--type-image field--label-hidden field__item\">  <img decoding=\"async\" src=\"https:\/\/www.cryptocabaret.com\/wp-content\/uploads\/2022\/03\/windows-tiling-windows-wall.png\" width=\"520\" height=\"292\" loading=\"lazy\"><\/div>\n<div class=\"field field--name-field-caption field--type-text-long field--label-hidden caption field__item\"><span class=\"caption__byline\">Image by: <\/span><\/p>\n<p><a href=\"https:\/\/pixabay.com\/en\/house-building-wall-window-facade-22527\/\" target=\"_blank\" rel=\"noopener\">Pixabay<\/a>. <a href=\"https:\/\/pixabay.com\/en\/service\/terms\/#usage\">CC0 Creative Commons<\/a><\/p>\n<\/div>\n<\/article>\n<\/div>\n<div class=\"field field--name-field-tags field--type-entity-reference field--label-hidden field__items\">\n<div class=\"field__item\"><a href=\"https:\/\/opensource.com\/tags\/linux\" hreflang=\"en\">Linux<\/a><\/div>\n<\/p><\/div>\n<div class=\"hidden field field--name-field-listicle-title field--type-string field--label-hidden field__item\">What to read next<\/div>\n<div class=\"field field--name-field-default-license field--type-list-string field--label-hidden field__item\"><a rel=\"license\" href=\"http:\/\/creativecommons.org\/licenses\/by-sa\/4.0\/\"><br \/>\n        <img decoding=\"async\" alt=\"Creative Commons License\" src=\"https:\/\/www.cryptocabaret.com\/wp-content\/uploads\/2022\/03\/cc-by-sa--19.png\" title=\"This work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.\"><\/a>This work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.<\/div>\n<section class=\"field field--name-field-comments field--type-comment field--label-hidden comment-wrapper\">\n<div class=\"comments__count\">\n<div class=\"login\"><a href=\"https:\/\/opensource.com\/user\/register?absolute=1\">Register<\/a> or <a href=\"https:\/\/opensource.com\/user\/login?current=\/rss.xml&amp;absolute=1\">Login<\/a> to post a comment.<\/div>\n<\/p><\/div>\n<\/section>\n<p class=\"wpematico_credit\"><small>Powered by <a href=\"http:\/\/www.wpematico.com\" target=\"_blank\" rel=\"noopener\">WPeMatico<\/a><\/small><\/p>\n","protected":false},"excerpt":{"rendered":"<p>How I customize my Linux window decorations David Both Thu, 03\/31\/2022 &#8211; 03:00 Up Register or Login to like. One thing I especially like about Linux is the amazing and vast array of choices in almost everything. Don&#8217;t like one application for something? There are usually several more you can choose from. Don&#8217;t like how [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":63291,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[307],"tags":[],"class_list":["post-63290","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-open-source"],"_links":{"self":[{"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=\/wp\/v2\/posts\/63290","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=63290"}],"version-history":[{"count":0,"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=\/wp\/v2\/posts\/63290\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=\/wp\/v2\/media\/63291"}],"wp:attachment":[{"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=63290"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=63290"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cryptocabaret.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=63290"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}