bin | ||
desktop-directories | ||
.gitignore | ||
drawer.css | ||
go.mod | ||
go.sum | ||
LICENSE | ||
main.go | ||
Makefile | ||
README.md | ||
tools.go | ||
uicomponents.go |
nwg-drawer
This application is a part of the nwg-shell project.
Nwg-drawer is a golang replacement to the nwggrid
command
(a part of nwg-launchers). It's being developed with
sway in mind, but should also work with other wlroots-based Wayland compositors.
X Window System is not officially supported, but you should be able to use the drawer on some floating
window managers (tested on Openbox).
The nwg-drawer
command displays the application grid. The search entry allows to look for installed applications,
and for files in XDG user directories. The grid view may also be filtered by categories.
You may pin applications by right-clicking them. Pinned items will appear above the application grid. Right-click
a pinned item to unpin it. The pinned items cache is shared with nwg-menu
and nwggrid
.
more screenshots | see on YouTube
Installation
Dependencies
- go 1.16 (just to build)
- gtk3
- gtk-layer-shell
Optional (recommended):
- thunar
- alacritty
You may use another file manager and terminal emulator (see command line arguments), but for now the program has only been tested with the two mentioned above.
Steps
- Clone the repository, cd into it.
- Install necessary golang libraries with
make get
. make build
sudo make install
Building the gotk3 library takes quite a lot of time. If your machine is x86_64, you may skip steps 2-3, and install the provided binary by executing step 4.
Command line arguments
$ nwg-drawer -h
Usage of nwg-drawer:
-c uint
number of Columns (default 6)
-fm string
File Manager (default "thunar")
-fscol uint
File Search result COLumns (default 2)
-fslen int
File Search name length Limit (default 80)
-is int
Icon Size (default 64)
-lang string
force lang, e.g. "en", "pl"
-nocats
Disable filtering by category
-nofs
Disable file search
-o string
name of the Output to display the drawer on (sway only)
-ovl
use OVerLay layer
-s string
Styling: css file name (default "drawer.css")
-spacing uint
icon spacing (default 20)
-term string
Terminal emulator (default "alacritty")
-v display Version information
Styling
Edit ~/.config/nwg-panel/drawer.css
to your taste.
Credits
This program uses some great libraries:
- gotk3 Copyright (c) 2013-2014 Conformal Systems LLC, Copyright (c) 2015-2018 gotk3 contributors
- gotk3-layershell by @dlasky - many thanks for writing this software, and for patience with my requests!
- go-sway Copyright (c) 2019 Joshua Rubin
- go-singleinstance Copyright (c) 2015 Allan Simon