Since Ubuntu 18.04, which is my current distro at the moment, I’ve started to be quite fond of Gnome Shell. A lot of the early design decisions that I disagreed with have either been fixed or are available as extensions. Below are the extensions that I use.

Alternatetab - I use this in order to get Thumbnail and application icon on the tab switching interface. I also choose to only show the windows on the active desktop.

Custom hot corners - In my workflow, I very much prefer that the lower left corner triggers the activites view, rather than the top left one.

Removable drive menu - Not much to say. I like to see if any removable drives are present, and to easily be able to remove them.

Ubuntu appindicators - I like to have some relevant icons of background tasks being shown. E.g. Steam and Dropbox in my case.

User themes - I do enjoy the Zuki-shell theme!

Windowoverlay icons - I align the icon at the lower right corner. The size is around 100 in regards to Full HD resolution. YMMV.

Workspace indicator - This gives me the ability to scroll with the mouse to change virtual desktop, without needing to go into the activities overview first.

system-monitor - Enables me to, at a glance, get a sense of changes in computing resources. I show CPU, network traffic and disk read/write usage.

The applications theme I use is Zukitre. The icon set is Moka. The shell theme is Zuki-shell.

In terms of other desktop related setup, I use Plank to launch and choose active applications/windows. My main preference of starting applications is still to go into activities view and typing.

The final result looks something like this:

My Gnome Shell desktop Ubuntu 18.04