Installer & meta-package for the nwg-shell project: a GTK3-based shell for sway and Hyprland Wayland compositors
Go to file
2021-05-09 05:07:12 +02:00
LICENSE Update LICENSE 2021-05-09 03:45:10 +02:00
README.md Update README.md 2021-05-09 05:07:12 +02:00

nwg-shell

This project is primarily aimed at sway Wayland compositor. Some parts may work on other wlroots-based compositors. Some may even work on X11, but it's not the primarily objective. Feel free to submit addons / improvements, but keep in mind that all the stuff must work on sway, and may or may not work elsewhere.

I do love GTK and the GNOME look, but not the workflow. I'm a DIY enthusiast, so the stiff and hard to customize environment is not for me. So I thought to give my favourite WM some new appearance. Once I first saw Zorin, I thought to give users similar freedom of choice. Just cherry-pick what fits you best.

I don't think that "nwg-shell" is the best possible name for the project. It's subject to change as soon as someone comes up with a better one.

Components, as for now

nwg-panel

Written in python, it's the central point of the project. For now it contains 8 modules and 1 plugin written in Go.

nwg-launchers

A set of GTK-based launchers: application grid, button bar and dmenu. I initially wrote them in python, but it turned out to be too slow. I developed them from scratch in C++, as my first, and probably the last C++ code. Thanks to Contributors, led by @Siborgium, the code looks pretty well now, but I understand hardly anything. I'm not going to live long enough to learn C++, so I'll code the grid and dmenu from scratch in golang sooner or later.

nwg-dock

Fully configurable dock written in Go. It features pinned buttons, task buttons, the workspace switcher and the launcher button. The latter by default starts nwggrid (application grid) from nwg-launchers.

nwg-menu

It's the MenuStart plugin to nwg-panel written in Go. It's also capable of working standalone.

Azote

Azote is a GTK+3-based picture browser and background setter, as the frontend to the swaybg (sway/Wayland) and feh (X windows) commands. The user interface is being developed with multi-headed setups in mind. Azote also includes several colour management tools.

gopsuinfo

A gopsutil-based command to display system usage info as text in panels like Waybar or icon/text in tint2 and nwg-panel executors.

autotiling

This script uses the i3ipc-python library to switch the layout splith/splitv depending on the currently focused window dimensions. It works on both sway and i3 window managers. You may love it or hate it, but it's my must have.