Personalize your Linux desktop to tailor meet your demands

Mashayikh Shaikh
Nova Semita
Published in
6 min readApr 27, 2020

--

Photo by Samantha Gades on Unsplash

Has a thought ever crossed your mind to beautify your Desktop? Well. then you’ve come to the right place. In this guide, I’ll show you some ways to transform your Gnome Desktop Environment into a crisp 🤩stunning Desktop. Don’t get me wrong, Linux by itself is truly magnificent both in functioning and appearance.
But, hey we’ve all got our preferences which may not always be satisfied with the built-in elements shipped with your Linux distribution.

Change File Manager Background

The default file manager in ubuntu or any other Debian-based distribution doesn’t provide an option to change the wallpaper or customize any aspect of the file manager itself.
There were many ways to accomplish this, unfortunately, they only work on versions prior to ubuntu 14.04.
if you want to add/customize any part of Nautilus then you will have to edit the source code.

  1. Search for Nautilus under find tab (if you are using gedit)
  2. You should find a comment tab like down below

3. Great!! if you get this just go ahead and enter this code snippet below the blue comment box

window.thunar notebook scrolledwindow.frame.standard-view, .nemo-window .nemo-window-pane notebook scrolledwindow.view,
.nautilus-window,
.nautilus-window notebook,
.nautilus-window notebook > stack {
/*this is the line you are interested in*/
background-image: -gtk-scaled(url("assets/darkMountain.jpg"), url("assets/darkMountain.jpg"));}

4. You should find many other properties that you can customize under the Nautilus section. i.e search bar, window, etc. Play around these to get your desired result.

Bring life to those dead switches

This is perhaps my most favorite element of the desktop and also the most overlooked one. I haven't seen many users posting queries relating to it on forums. But trust me, this is one of the subtle elements that will stupefy you if you personalize it appropriately.

In order to change the color of one of these

  1. Search for Switches
  2. Change the value of background-color

I have used linear-gradient() but you can use just simple values (blue, white..)
CSS fans would know more about this function.

3. I also encourage changing the transition values which can be found under the MDN website to suit your liking.

4. If you want to also change the color of the switch slider(the circular-shaped icon embedded within the switch)
Look for switch slider property and change background-color

switch slider {
padding: 2px;
margin: 0 2.3px;
min-width: 12px;
min-height: 12px;
border-radius: 100%;
transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
background-color: green;
box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2), 0 1px 2px rgba(0, 0, 0, 0.2); }
switch slider:backdrop {
padding: 2px;
box-shadow: none;
background-color: green; }
switch trough:active, switch trough:checked {
background-color: green; }

Get the base right

Base-State is the part that is first loaded when the application starts. It is sort of the background of an app.

  1. Search for the Base States
  2. Look out for this code
/***************
* Base States *
***************/
.background {
color: #f8f8f2;
background-image: radial-gradient( #878C8A 5%, #878C8A 15%, #4A514E 60%);
}
.background:backdrop {
color: #898986;
background-color: #191919;
text-shadow: none;
-gtk-icon-shadow: none; }
/*

Switch cursor theme

This is one of the most important elements of your Desktop-Environment. A GUI environment is conceptually pointless without a cursor.
Therefore, it is my most preferred and the first thing that I’ll look for to customize in any OS.

To change your cursor theme
1. Get your theme either from Github | gnome-look

2. unzip and place your theme either under ~/.themes/ | /usr/share/themes/. The latter makes it available to everyone(system-wide) while the former only limits to the current user.

3. Open Gnome-Tweaks or any equivalent application

4. Under appearance, tab select Cursor expander and choose your new theme from the dropdown menu

Beautify the slider

Look for this snippet. It is a subelement of the scrollbar element. Simple values would work pretty fine, but I noticed that using linear-gradient() does induce glitches which fortunately no longer affects my system. So just be careful with that.

scrollbar slider {
min-width: 6px;
min-height: 6px;
margin: -1px;
border: 4px solid transparent;
border-radius: 8px;
background-clip: padding-box;
background-color:#9f9f9b; }
scrollbar slider:hover {
background: linear-gradient(#e66465, #9198e5); }
scrollbar slider:hover:active {
background:linear-gradient(#e66465, #9198e5); }
scrollbar slider:backdrop {
background: black; }
scrollbar slider:disabled {
background-color: transparent; }

Add crispiness to your login screen

It is well said that first impression is the last impression

It sure is great to start your day with a fresh crisp view of your login screen which is after all the first screen that you’re greeted with.

Ubuntu 18.04 default background is just a plain dark shade which is kinda boring 🙄.
I do believe you should be able to customize this at least
Although there are some distributions that ship with non-standard backgrounds I haven't heard of any that provides an option to switch the login background.

Change the background of the login screen

  1. Navigate to /usr/share/gnome-shell/theme/ (make sure you have root permissions)
  2. There will be a couple of .css files but we are interested in YourDistributionName.css file. Open it
  3. Search for this piece of code
#lockDialogGroup {
background: #191f22 url("file:///usr/share/backgrounds/Zorin.png");
background-repeat: no-repeat;
background-size: cover;
background-position: center;}

4. change the file location. Sometimes there may be glitches like the background not covering the entire screen etc. In that case, try changing other fields like background-size | background-position

Screen Clock

  1. open the same .css file as in the above-mentioned section
  2. Locate this
.screen-shield-clock {
color: white;
text-shadow: 0px 1px 2px rgba(0, 0, 0, 0.6);
font-weight: normal;
text-align: center;
padding-bottom: 1.5em; }

Password Field

In order to manipulate the password field, we need to look into the StEntry element but the issue here is that just changing this directly will render a global change. i.e every textbox field will be affected. Therefore, what we need to do is to induce some new code.

  1. Search for this piece
/* Auth Dialogs & Screen Shield */
.framed-user-icon {
background-size: contain;
border: 0 solid #bde6fb;
color: #bde6fb;
border-radius: 999px; }
.framed-user-icon:hover {
border-color: white;
color: white; }
.login-dialog-banner-view {
padding-top: 24px;
max-width: 23em; }

2. Nice!! so we found the class responsible for login session

3. Next, scroll down to see if this code exist

.login-dialog StEntry{
color: black;
}
.login-dialog StEntry:insensitive {
color: #bde6fb;
}
TextColor changed from blue to black

If yes then manipulate the values or drop-in new attributes.
Else just copy this snippet anywhere in the file(It works Yeah 🤗) but for a clean organization, I suggest pasting it below the /* Auth Dialogs & Screen Shield */ section.

Do note this may not work exactly for every Ubuntu Distribution especially if it uses a Desktop Environment other than Gnome.

--

--

Mashayikh Shaikh
Nova Semita

A Cs enthusiast currently learning from all the available facilities. Anything new and interesting is always something to cherish.