COSMIC DE: Tiling redesign and libcosmic rebasing


It’s June, swimming pools are open, and System76 engineers have been swimming through our starry new desktop environment for another month now. While our COSMIC team builds out new features and functions, they’re also tackling areas to improve their workflow — putting COSMIC on the fast track to its first alpha release when it’s ready! Code is being revisited and condensed for better performance, and completed pieces are being revised with numerous fixes. The cosmic-comp compositor supports rotated displays now. Piece-by-piece, it’s becoming a happier workflow for the team!

One piece in particular put some pep in the engineers' steps this month: Tiling.


Pop!_OS auto-tiling brought users a fast way to arrange windows on their desktop. For its next evolution, the main goal is to make tiling more accessible based on feedback we received from our users. For a more intuitive tiling, we’re honing our approach to movement, visual guides, and layout flexibility.

First and foremost, COSMIC tiling will do away with adjustment mode. Currently, Pop!_OS 22.04 LTS uses adjustment mode (Super + Enter) to arrange or resize tiled windows. Being its own dedicated mode allowed flexibility with tiling keyboard shortcuts, but also meant an extra step for users. Removing that extra step integrates tiling closer to your workflow and allows you to perform that action quickly.

A single shortcut for moving windows is easier to remember than a sequence of them. At any point, you can simply use Shift + Super + Arrows to rearrange your selected window, group, or stack, and use Super + Arrows to select a different window to be moved. If there is a workspace or display in the direction of the arrow pressed, the window or focus will migrate to that screen.


From there, the team focused on making it easier to understand how the window will move. In the above video, windows scale down slightly and the background becomes solid to show that they’re being adjusted. The arrow keys used determine what direction the window will move. You’ll see a dark grey border around an adjacent window to show the potential for grouping.


Groups are marked by a light grey outline around two or more windows. When adjusting a window, only windows within the group will see movement; your layout outside the group will remain unaffected. You’ll also be able to move, rotate, or resize windows in the group simultaneously, stack them together, and migrate them to another workspace or display.

The basic idea behind this tiling revamp is that if you want a certain layout, you can achieve it by simply moving your window in the intended direction. This makes layouts more flexible and different kinds more attainable, like arranging three windows in equal thirds of the screen.


Victoria, one of our engineers, says she personally finds this system to be much more intuitive — and it will only get better from here. As mentioned earlier, these designs have already been implemented on the engineering side into the current build of COSMIC. Revised shortcuts are subject to change before release, but we have a list ready if you want to prepare for the transition! Keep an eye out for additional updates to tiling with keyboard, as well as new designs for tiling with your mouse.


Window stacks combine windows of one or multiple applications like tabs in a web browser. In COSMIC, they’ll be marked with an icon on the header bar, providing an area for moving the whole stack at once with your mouse.


Your selected tab, meanwhile, will be indicated by an accent color to help it stand out visually. From your selected tab in a window stack, you can use the selection shortcut to select the entire stack, and then arrange it as a whole. When a stack has too many tabs, clicking an arrow on the header will cycle through the extras. Take a look!


The widget library for COSMIC DE, libcosmic, currently uses an older version of the Iced toolkit. By rebasing libcosmic with a newer version, the pieces made so far have become more efficient and much easier to integrate with one another. Updating the compositor with the new version was great for performance, and allowed the team to integrate animations from cosmic-time into the tiling manager.

That’s it for this month’s updates on COSMIC, our new desktop environment written in the Rust programming language for Pop!_OS (and more)! We’ll be back in July with a fresh batch of juicy details that are best consumed on a hot summer day.

Like what you see?

Share on Social Media