Skip to content

Desktop

Alec edited this page May 26, 2026 · 12 revisions

This flake has an entirely custom-coded shell built with ags which takes a very unique approach aimed for keyboard-oriented usability over having looks. Nonetheless I have made it follow a consistent Nord-themed design style, adopting the scrollwheel on elements where it's helpful.

Status/aside area

The first thing you'll notice is that there is no bar or UI when the shell starts. Everything is controlled via keybinds, and by default everything is hidden.

To open the status area, press control+Z. This will persist on whichever monitor is active, and can have its visibility toggled with the same command.

image

Now, the cool thing about the status area is that there is actually no buttons! Nothing in the status menu is clickable. However, you may use your scrollwheel on either the mpris/mpd player to adjust mpd volume (this persists and is only for mpd! Mpris volume control is not possible through this menu). Scrolling over the time/icon area of the status menu will adjust the system volume. This is very convenient for desktops or setups without a rotary encoder/dial who want quick yet precise volume control.

Other than volume control with the mouse, you can also control it through the quicksettings menu. To open this, press control+super+Z. This opens as an aside stauts widget which means your screen darkens (you cannot click outside of the widget) and you get automatic keyboard control of the widget. You can use your arrow keys and space/enter to select any options while inside of this menu. The quicksettings menu gives you fast access to volume & brightness controls, as well as a simple audio output sink selector.

image

Next, you can press control+super+X to open the Bluetooth device menu. When you first open the menu, you'll see a big bluetooth button and no listed devices. This just means that Bluetooth is off to save battery. Simply press space/enter and Bluetooth will be powered on and your saved devices will be shown automatically.

image

You can press control+super+C to open the network menu (do you see the key pattern yet?). I'll admit that this is probably one of the slowest menus because of the reloading time but it is pretty full-featured, allowing you to connect to saved networks quickly and allows you to connect to locked networks as well. It integrates nicely with iwd as well!

Note that in the preview below, I've blurred the network names for privacy. Note that if you enable steamer mode, this list will pop up with a warning, preventing you from seeing the list while streaming.

image

Finally, you can press control+super+V to open the calendar. It's quite basic and deviates from the traditional arrow button control - you have to use tab/shift+tab and space/enter to switch between months and years. This is because we're using the built in Gtk.Calendar widget.

image

Launcher

Super+space opens the launcher. It has a really cool background which takes the wallpaper, blurs it, and applies a nice little border. You'll see that this is consistent with the recording and clipboard menus as well. The launcher can only open apps (fuzzy search) and certain apps may not be visible if focus mode is enabled.

image image

Sidebar Chat

Originally using HCAI, I've switched over to free Groq inference. Unfortunately, Claude Pro does not offer API access at this time so I can't integrate that into the system without using a webview (which I might switch to eventually). You can delete & expand the chat through the buttons on the top. This is mostly useful for quick questions and study help.

image image

Clipboard manager

Super+V opens the clipboard history. You can quickly copy the 2nd to last entry here with C, or select an old entry or even edit past screenshot images with E. By default the last 20 clipboard entries are saved.

image

Lockscreen

When you sleep or lock your computer, you will see a very basic PAM lockscreen. It is written with ags and intentionally does not blur the background for privacy purposes. It is not very secure, so you should aim to use a disk encryption lock instead for most purposes. However, it is effective and fast.

image

Notifications

By default, you'll get system sync notifications if you have not synced the computer with the homelab. If you've synced and your downloads folder is large, you'll get prompted to clean out your downloads. Notifications will appear as normal from apps like Discord and Thunderbird and they do have action buttons. Note that there is no clear button, you must use super+C to clear the last notification.

image image

OSD

The OSD appears quickly when you modify your brightness or volume. It's especially useful for when using the mousewheel/rotary encoder or keyboard controls.

image

Power menu

Using super+shift+S opens the power menu. You can't actually click any of these buttons, but instead must use a keycode corresponding to a power action. S = (s)leep, Q = shutdown/(q)uit, R = (r)estart, L = (l)ock.

image

Record menu

Screen recording is super easy, and you can even clip (up to the last 30s) too. Open the menu with super+R and press C to clip the last 30 seconds. Press q to adjust the quality (between medium and ultra) and r to toggle microphone recording. Then press space to start recording, and a recording indicator will appear in the status menu. When you're done, the video will be automatically available in your clipboard and you'll get a notification to view the clip or open the folder where it's stored!

image image
image

Workspace view

When you switch workspaces, the workspace view will be shown on the top left briefly before flying out. It gives you a quick, rough view of your workspace placement and active/empty workspaces. It appears on the active monitor and cannot be toggled permanently unlike the status menu. The blue tile is active, while light gray tiles are occupied and dark gray tiles are unoccupied.

image

Emoji picker

Probably the most simple widget of them all, pressing super+. opens the emoji picker which is literally just a Gtk.Entry with emoji entry support. You can either type directly in the widget or click the emoji icon to open up a larger view. Upon entering an emoji, the widget automatically closes and saves the emoji to your clipboard automatically.

image

That's about it for shell features! As you can see, it's highly keyboard-focused with few mouse options. Try it out!

Other useful features

Press super+L to toggle dark/light them globally. This does not change the shell but it'll update GTK apps and Zen to use that theme. You can also use super+B to toggle the blue light filter. These two options work great if you're outside and want to increase readabilty.

You can also use super+T to toggle focus mode. Use a pomodoro timer in tandem with this feature to prevent yourself from opening social media apps like Discord so you can lock in. This is denoted by a flag icon in the status menu.

Use super+S to toggle streaming mode, which is meant for when you're streaming on Discord or Twitch and don't want others to see your wifi menu or notifications by accident. This is mostly for privacy purposes. This is denoted by a bell strikethrough icon in the status menu.

image

I highly recommend reading Keybinds next.

This flake is a submission to Hack Club's Riceathon

Clone this wiki locally