Graphical Desktops ================== Sway and GNOME ---------------- MNT Reform Next ships with two graphical environments called "desktops". The Debian distribution, which the system on the eMMC is based on, has a number of additional desktops in its package manager (see section "Alternative Desktops" at the end of this chapter) that you can try. 1. **Sway** emphasizes the concept of "tiling." This means that normally, windows don't overlap, but instead the screen space is automatically divided to make space for new windows. This desktop consumes minimal system resources, but relies heavily on keyboard shortcuts, which makes it harder to learn. 2. **GNOME** features classic overlapping windows, a point-and-click driven interface, and a modern look. In GNOME, you can drag windows to the corners or edges of the screen and they will be snapped. They also have minimize, maximize, and close buttons. You initially choose between Sway and GNOME in the MNT Reform Next Setup Wizard. This choice will be reflected as the default on the login screen, but you can change it by clicking the settings icon after selecting your username (without entering your password) on the GDM login screen. The Sway Desktop ---------------- .. image:: _static/illustrations/reform-v4-sway-icon.png Sway is optimized for use with keyboard shortcuts, most of which are combinations of *SUPER* [#]_ and other keys. These are the most important shortcuts: .. [#] *SUPER* is the key with the MNT Research logo next to the *HYPER* key. ================== ======================================= Key Combinations Function ================== ======================================= *SUPER+D* Open the launcher to start applications *SUPER+ENTER* Open a terminal *SUPER+ESC* Close active window *SUPER+1...* Go to workspace 1--9 *SUPER+SHIFT+1...* Move active window to workspace 1--9 *SUPER+SHIFT+S* Take screenshot (in ~/Pictures) *SUPER+SHIFT+X* Take screenshot of an area ================== ======================================= Tiling ++++++ You can start a new terminal window by using the shortcut *SUPER+ENTER*. When you press *SUPER+ENTER* multiple times to open several terminals, you'll notice that your currently open windows will be resized to accommodate for the new window. You can switch between these windows by holding the *SUPER* key and pressing the cursor (arrow) keys in the desired direction. If you keep adding windows, they will continuously shrink horizontally, but if you would rather have a window split vertically, you can. Use these shortcuts for deciding: ========= ========================= Shortcut Function ========= ========================= *SUPER+H* Split window horizontally *SUPER+V* Split window vertically ========= ========================= Note that the window is not split instantaneously. You're just telling Sway "The next time I create a window, put it below/beside my current window." You may also use *SUPER+W* to tell Sway to use tabs. You can switch your tab using the same shortcuts for switching between windows. You can end this function by pressing *SUPER+E*. You can use *SUPER+ESC* to close the currently selected window. Launching Applications ++++++++++++++++++++++ Reform Next's Sway desktop includes the ``wofi`` launcher, a popup menu for launching an application by typing a part of its name. Press *SUPER+D* to open the menu. Over time, ``wofi`` will remember the applications you regularly launch and will sort them by frequency of use. Top Bar +++++++ Sway on Reform Next comes with an information bar at the top of the screen, which is provided by the ``waybar`` package. The bar is divided into the following sections: ================================ ================================== Section Action on click ================================ ================================== MNT Research logo Open the launcher Icons of running applications Switch to application Workspace numbers Switch to workspace Tray icons Settings for network, volume, etc. Clock Toggle date/clock ================================ ================================== You can completely customize the top bar by editing the config file ``~/.config/waybar/config`` and the CSS-based styling file ``~/.config/waybar/style.css``. ``man waybar`` explains the available configuration options. Workspaces ++++++++++ If you have a lot of windows open, they might not all fit on the screen at once. For this purpose, multiple set of windows can be arranged in workspaces. You can change your active workspace with the number keys, for example: =============== ================================= Shortcut Function =============== ================================= *SUPER+2* Go to workspace 2 *SUPER+1* Go back to workspace 1 *SUPER+SHIFT+5* Move active window to workspace 5 =============== ================================= You can open different spaces for different programs. For example, you might want to put your code-editing programs in workspace 1, a web browser in workspace 2, and some instant messaging programs in workspace 3. Display Brightness ++++++++++++++++++ With Sway, you can set the display's brightness using the ``brightnessctl`` command or, more conveniently, use one of these keyboard shortcuts: =============== =========================== Shortcut Function =============== =========================== *HYPER+SUPER+1* Decrease display brightness *HYPER+SUPER+2* Increase display brightness =============== =========================== Sway Config File ++++++++++++++++ You can tailor Sway's behavior and keyboard shortcuts by editing the file ``~/.config/sway/config`` or one of the included files in the ``~/.config/sway/config.d`` directory. All configuration options are documented in the manual page that you can access by typing ``man 5 sway`` in a terminal. More information is also available in the Sway Wiki: ``_ Some of the most important configuration options are explained in the following sections. Network, Wi-Fi, and Bluetooth +++++++++++++++++++++++++++++ You can connect to Wi-Fi networks and configure Ethernet as well as VPN connections by clicking the respective buttons in the tray area of the top bar. On Sway, you'll see a Bluetooth icon in the tray area of the top bar. This icon is powered by the ``blueman`` package behind the scenes and clicking on it with the left mouse button will open the *Bluetooth Devices* window, where you can search for nearby devices to connect to. Right clicking on a Bluetooth device will give you the options to connect, pair, or get more information. You can also right-click on the Bluetooth icon in the top bar itself to open a context menu with more options, like toggling the Bluetooth visibility of your MNT Reform Next, sending files or reestablishing recent connections. Note that any Bluetooth audio devices, when connected, will appear in *Volume Control* (started by launching it from the speaker icon in the top bar or manually from the launcher). Here you can choose them as the default output or input device and adjust the volume. Sound +++++ There are multiple ways to change the audio volume: - Scroll (with the Trackball's Wheel Mode) up and down while the mouse cursor is hovering over the speaker icon. - Click on the speaker icon in the top bar and select *Volume Control*. In the *Output Devices* tab, you can control the volume with the slider in the *Built-in Audio Speaker* (or *Built-in Audio Headphones*) section. To change between the built-in Speaker output and headphones, you can use *Volume Control* as well. Go to the *Configuration* tab and select the *Profile* under *Built-in Audio*, either *MNT Reform Next Hi-Fi Audio (Speaker)* or *MNT Reform Next Hi-Fi Audio (Headphones)*. The exact names of the profiles can differ depending on your Processor Module. Keyboard Layout +++++++++++++++ The keyboard layout is normally configured by the MNT Reform Next Setup Wizard. Should you want to configure it manually, you can edit the ``~/.config/sway/config.d/input`` file. For example, the following snippet will change the layout to the EU layout for any connected keyboard: .. code-block:: none input * { xkb_layout eu xkb_options lv3:ralt_switch } Trackpad Speed ++++++++++++++ A common thing that people want to tune to their particular taste is the speed of the trackpad's cursor movement. For Sway, you could add an ``input`` section (or extend the existing one) to the ``~/.config/sway/config.d/input`` file as such: .. code-block:: none input * { accel_profile adaptive pointer_accel 1.0 } Where ``pointer_accel`` can be a number between -1.0 and 1.0. You can find out about all of the details of Sway's input configuration by opening its manual page using ``man sway-input``. External Displays +++++++++++++++++ Some Processor Modules allow you to connect an external display on the HDMI port. If your module supports dual display, plugging in an external monitor should just work. If you want to configure the placement and resolution of this monitor, take a look at ``man sway-output`` and create an ``output HDMI-A-1`` section in your Sway config file. Other helpful tools that you can install for these purposes are ``kanshi`` and ``wlr-randr``. You can also use ``swaymsg`` to control your displays on the fly or when pressing certain key combinations. The following example script will switch from internal to external display and force a standard 1080p mode: .. code-block:: none #!/bin/sh swaymsg output eDP-1 disable swaymsg output HDMI-A-1 enable swaymsg output HDMI-A-1 modeline 148.50 1920 2448 2492\ 2640 1080 1084 1089\ 1125 +hsync +vsync The GNOME Desktop ----------------- .. image:: _static/illustrations/reform-v4-gnome-icon.png GNOME on MNT Reform Next supports a number of customized keyboard shortcuts to speed up working with the desktop: ================== ================================== Shortcut Function ================== ================================== *SUPER* Open *Activities* overview and launch applications *SUPER+← or →* Tile window to left or right *SUPER+↑ or ↓* (Un)maximize window *SUPER+TAB* Cycle through running applications *ALT+TAB* Cycle through windows of the focused application *SUPER+ENTER* Open a terminal *SUPER+ESC* Close the focused window *SUPER+SHIFT+S* Take screenshot (in ~/Pictures) *SUPER+SHIFT+X* Take screenshot of an area *SUPER+SHIFT+R* Make a screen recording of an area *HYPER+F1* Decrease display brightness *HYPER+F2* Increase display brightness *HYPER+F10* Toggle silent volume *HYPER+F11* Decrease volume *HYPER+F12* Increase volume ================== ================================== To speed up your window juggling, you can move windows not only by dragging their title bar, but also by holding *SUPER* and dragging (with the left trackpad button) anywhere in a window. To resize the window from any point, you can hold *SUPER* and drag on the window with the right trackpad button. Launching Applications ++++++++++++++++++++++ With GNOME, you can start an application using the dock (the row of icons on the bottom of the screen, also called *Dash*) or the *Activities overview* (opened by pressing the *SUPER* key). You can find an application by typing a part of its name in the overview. You can pin a frequently used application in the dock by right clicking its icon and choosing "Pin to Dock." Top Bar +++++++ The top bar in GNOME has 3 major sections: - Left side: Workspaces indicator. If you have multiple workspaces configured, it highlights which one is currently active. Clicking on the indicator brings up the *Activities* overview. - Middle: Date and time. Clicking on them opens a drop-down with a list of notifications and the calendar. You can set up the calendar using the *Evolution* application (an email client with built-in calendaring and task management) or the more minimalistic *Calendar* application. - Right side: Accessibility menu, and a combined indicator for network, volume and battery status. Clicking this indicator brings up the *System Menu*. System Menu: Volume, Brightness, Network ++++++++++++++++++++++++++++++++++++++++ .. image:: _static/illustrations/reform-v4-gnome-panel-icon.png The System Menu lets you control all important settings of the system. From top to bottom: - Buttons (from left to right): - Battery status - Taking screenshots - Settings - Lock screen - Power off / Reboot / Log out - Volume slider - Display brightness slider - *Quick Settings* The *Quick Settings* are a mix of buttons that control network interfaces like Wi-Fi, Ethernet, Cellphone network, Bluetooth. You can connect to your respective networks and devices here, or toggle them on and off. In addition, there are toggle buttons for the user interface's *Dark Mode*, *Airplane Mode* (which shuts down all radio interfaces) and *Night Light* (to automatically set the display to a more eye-friendly hue at night). Sound +++++ Beyond adjusting the audio volume, you can also switch between the built-in speaker and headphones (or USB and Bluetooth audio devices) by clicking the arrow icon right next to the volume slider in the *System Menu*. From there, you can also reach the more detailed *Sound* page of the *Settings* application. Settings: Keyboard Layout, Displays and More ++++++++++++++++++++++++++++++++++++++++++++ All of the *Quick Settings* can be configured in more detail in *GNOME Settings* (also called ``gnome-control-center``), an application that you can access by clicking the gear icon in the *System Menu*. Alternatively, you can find it as a normal application in the *Activities* overview by typing "Settings." In addition to networks, you can configure almost all important aspects of the system here. Some of the most commonly needed settings are: - *Keyboard*: The keyboard layout is initially configured by the MNT Reform Next Setup Wizard, but you can change it here. - *Mouse & Touchpad*: Change the speed and behavior of the trackpad (or external mouse/trackball). - *Sound*: Change audio devices, volumes, and the alert sound. - *Displays*: Configure display scale and external displays. There are many additional, hidden settings that don't appear in the *GNOME Settings* application. You can explore them using ``gnome-tweaks`` or the ``gsettings`` command-line tool. Alternative Desktops -------------------- You're not limited to the desktop options that we include with the System Image. You can install any desktop environment that is packaged in Debian. For example, you can install KDE by entering ``sudo apt install kde-standard``, or Xfce4 by entering ``sudo apt install xfce4`` in a terminal. To switch between desktop environments, click on the gear icon on the GDM login screen after selecting your username (before entering your password). Please note that installing a heavyweight desktop environment like KDE will affect your existing GNOME installation too, by adding additional services, changing icons/fonts/cursors etc. So this isn't without risk (or at least some cleanup work if you later decide to go back).