Deploying a corner-activated window picker for Marco

fixme

What other systems does this work for? I assume LXDE and XFCE for sure, but I would like to in future make this a guide less exclusive to MATE. Thanks in advance for the input!

:mag_right: There are other posts which highlight some aspects of this guide but the intent of this post is to put it all together in a way which enables a third-party interface feature.

:manjaro: Work was performed on Manjaro MATE 20.0.1 — A community-developed variant of Manjaro. If trying to perform the operations in this guide on other Arch systems with GTK2 / GTK3 environments without a native hot corners feature, your mileage may vary and thus, I may be unable to assist you.

:manjaro: Introduction

If coming from a previous system which had Compiz, or Mac OS X where you had hot corners and Exposé and are dedicating yourself to the MATE desktop, you may be missing some beloved features. You might not even want the bloat which comes with Compiz and its complementing packages, rather instead just wanting this particular feature. The aim of this article is to enable the capability of not just having a Exposé-like feature, but also having it enabled by moving the cursor to a display corner.

:arrow_down: Installation

:jigsaw: Some systems may have the software exhibited in this guide. You should check to see if you already have this software using the following commands:

:heavy_dollar_sign: In xdg-terminal:

whereis skippy-xd
whereis brightside

:arch: Some software comes from the Arch User Repository. Have AUR enabled before reading this.

To install the relevant software for the features explained above, use the following commands:

:heavy_dollar_sign: In xdg-terminal:

sudo pacman -S skippy-xd
pamac build brightside

:x: Not all systems have pamac, but most Manjaro systems do. If these instructions are not valid for your system and you know better, then perform as such to install brightside.

For Pacman, simply accept the transaction. Pamac will ask a few questions — Just say no to editing build files and yes to commiting transaction. Input your account password when requested.

:key: Initialization

For an initial run to test, these two commands are all that you need. Run them any way you wish:

skippy-xd --start-daemon
brightside

:wrench: Configuration

Brightside

The only thing you need to touch is Brightside's properties which, well, is accessible from brightside-properties and also from Brightside's context menu which shows in your system tray as Screen Actions. To make it so skippy-xd executes, follow this procedure:

  • Open brightside-properties
  • Edit Screen Corners actions
    • Enable one of the four corners
    • Select for target corner Custom action...
      • On entering region
        skippy-xd --activate-window-picker
      • On leaving region
        Terminate above application

Then give it a test. If you see a generic gears icon with a timer bar in your desktop's OSD, then you've failed to modify the custom action properly. Otherwise, skippy-xd should let you pick a window you wish to interact with.

System

Once you confirm everything is working, then add to $HOME/.config/autostart launchers for each program, or use mate-session-properties to create launchers which will execute automatically. For each, simply use the actions used previous to start the two applications which will run in tandem to provide exposé-like functionality.

Bonus: Lock session and turn off the display

Since you can enable any corner to do anything, choose another corner you don't engage with too often and use the following command for entering that region:

sh -c 'sleep 1s && mate-screensaver-command -al && xset dpms force off'

:warning: Caveats

Mild disorientation may occur if you are using skippy-xd for the first time — it will always snap to the middle of the last active window and always snap to middle on any selected window. After a slight breaking-in period, you should grow familiar and comfortable with this functionality.

This software also crashed on me once — Don't go too fast with it, and it seems to be fine. You can re-enable the software again simply by executing skippy-xd --start-daemon as it would usually from autostart.

:right_anger_bubble: Corrections

Added sleep to the bonus command since for many people having it act instantly would be an issue, and it coincides nicely with the timer bar brightside produces in the OSD.

Also changed "Progress bar" to "Timer bar" because that's exactly what it is.

:information_source: Sources

My previous guide about this concept for Ubuntu MATE

Where I read about Skippy originallly

Forum kindly sponsored by