Nwg-shell for sway Wayland compositor

Lol, congratulations on deciding (where to go).

6 Likes

I'm not 100% sure, but it seems that, even if Go itself gets uninstalled, once compiled libraries remain somewhere, until the version changes. At least my testing laptop behaved this way. If I'm wrong, it would make sense to have Go installed directly.

4 Likes

@nwg Ok I compiled nwg-menu and nwg-drawer as promised.
The process took 15 minutes for nwg-menu and a few seconds for nwg-drawer on my system.

My specs
 ╰─λ inxi -Fza
System:    Kernel: 5.12.12-3-cacule-rdb x86_64 bits: 64 compiler: gcc v: 11.1.0
           parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-cacule-rdb root=UUID=b4eb0071-912a-4c6a-9cc6-b9e7910afc01 rw
           rootflags=subvol=@ quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
           systemd.unified_cgroup_hierarchy=1 loglevel=3 radeon.si_support=0 amdgpu.si_support=1 amdgpu.dc=1 and
           amdgpu.audio=1 mitigations=off
           Desktop: sway 1.6 vt: 1 dm: N/A Distro: Garuda Linux base: Arch Linux
Machine:   Type: Desktop Mobo: ASUSTeK model: CROSSHAIR V FORMULA-Z v: Rev 1.xx serial: <filter> UEFI: American Megatrends
           v: 1801 date: 11/25/2013
CPU:       Info: 8-Core model: AMD FX-8320 bits: 64 type: MCP arch: Bulldozer family: 15 (21) model-id: 2 stepping: 0
           microcode: 6000852 cache: L2: 2 MiB
           flags: avx lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm bogomips: 56191
           Speed: 3512 MHz min/max: N/A Core speeds (MHz): 1: 3512 2: 3512 3: 3511 4: 3512 5: 3512 6: 3512 7: 3512 8: 3512
           Vulnerabilities: Type: itlb_multihit status: Not affected
           Type: l1tf status: Not affected
           Type: mds status: Not affected
           Type: meltdown status: Not affected
           Type: spec_store_bypass status: Vulnerable
           Type: spectre_v1 status: Vulnerable: __user pointer sanitization and usercopy barriers only; no swapgs barriers
           Type: spectre_v2 status: Vulnerable, IBPB: disabled, STIBP: disabled
           Type: srbds status: Not affected
           Type: tsx_async_abort status: Not affected
Graphics:  Device-1: AMD Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X] vendor: ASUSTeK driver: amdgpu v: kernel
           alternate: radeon bus-ID: 01:00.0 chip-ID: 1002:6810 class-ID: 0300
           Display: wayland server: X.Org 1.21.1.1 compositor: sway v: 1.6 driver: loaded: amdgpu
           note: n/a (using device driver) display-ID: :0 screens: 1
           Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x286mm (20.0x11.3") s-diag: 583mm (23")
           Monitor-1: XWAYLAND0 res: 1920x1080 hz: 72 dpi: 94 size: 520x290mm (20.5x11.4") diag: 595mm (23.4")
           OpenGL: renderer: AMD Radeon HD 8800 Series (PITCAIRN DRM 3.40.0 5.12.12-3-cacule-rdb LLVM 12.0.0)
           v: 4.6 Mesa 21.2.0-devel (git-d01e7b50b8) direct render: Yes
Audio:     Device-1: Advanced Micro Devices [AMD/ATI] SBx00 Azalia vendor: ASUSTeK driver: snd_hda_intel v: kernel
           bus-ID: 00:14.2 chip-ID: 1002:4383 class-ID: 0403
           Device-2: AMD Oland/Hainan/Cape Verde/Pitcairn HDMI Audio [Radeon HD 7000 Series] vendor: ASUSTeK
           driver: snd_hda_intel v: kernel bus-ID: 01:00.1 chip-ID: 1002:aab0 class-ID: 0403
           Sound Server-1: ALSA v: k5.12.12-3-cacule-rdb running: yes
           Sound Server-2: sndio v: N/A running: no
           Sound Server-3: JACK v: 0.125.0 running: no
           Sound Server-4: PulseAudio v: 14.2 running: no
           Sound Server-5: PipeWire v: 0.3.30 running: yes
Network:   Device-1: Intel 82583V Gigabit Network vendor: ASUSTeK driver: e1000e v: kernel port: c000 bus-ID: 03:00.0
           chip-ID: 8086:150c class-ID: 0200
           IF: enp3s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
Drives:    Local Storage: total: 931.51 GiB used: 197.85 GiB (21.2%)
           SMART Message: Required tool smartctl not installed. Check --recommends
           ID-1: /dev/sda maj-min: 8:0 vendor: Western Digital model: WD10EZRX-00L4HB0 size: 931.51 GiB block-size:
           physical: 4096 B logical: 512 B speed: 6.0 Gb/s rotation: 5400 rpm serial: <filter> rev: 1A01 scheme: GPT
Partition: ID-1: / raw-size: 931.26 GiB size: 931.26 GiB (100.00%) used: 197.85 GiB (21.2%) fs: btrfs block-size: 4096 B
           dev: /dev/sda2 maj-min: 8:2
           ID-2: /boot/efi raw-size: 256 MiB size: 252 MiB (98.46%) used: 546 KiB (0.2%) fs: vfat block-size: 512 B
           dev: /dev/sda1 maj-min: 8:1
           ID-3: /home raw-size: 931.26 GiB size: 931.26 GiB (100.00%) used: 197.85 GiB (21.2%) fs: btrfs block-size: 4096 B
           dev: /dev/sda2 maj-min: 8:2
           ID-4: /var/log raw-size: 931.26 GiB size: 931.26 GiB (100.00%) used: 197.85 GiB (21.2%) fs: btrfs
           block-size: 4096 B dev: /dev/sda2 maj-min: 8:2
           ID-5: /var/tmp raw-size: 931.26 GiB size: 931.26 GiB (100.00%) used: 197.85 GiB (21.2%) fs: btrfs
           block-size: 4096 B dev: /dev/sda2 maj-min: 8:2
Swap:      Kernel: swappiness: 133 (default 60) cache-pressure: 500 (default 100)
           ID-1: swap-1 type: zram size: 7.69 GiB used: 0 KiB (0.0%) priority: 100 dev: /dev/zram0
Sensors:   System Temperatures: cpu: 29.1 C mobo: N/A gpu: amdgpu temp: 36.0 C
           Fan Speeds (RPM): N/A
Info:      Processes: 262 Uptime: 2h 02m wakeups: 0 Memory: 7.69 GiB used: 1.64 GiB (21.3%) Init: systemd v: 248
           tool: systemctl Compilers: gcc: 11.1.0 clang: 12.0.0 Packages: pacman: 1567 lib: 468 Shell: fish v: 3.2.2
           running-in: alacritty inxi: 3.3.04

They both work fine, no issues at all.

If you need further informations, just ask :slight_smile:

4 Likes

Thank you!

Yes, as long as the gotk3 version remains unchanged, next builds of any gotk3-based package should go quickly. The question is whether 15 minutes at the beginning is acceptable. Let it stay as is until users start complaining. :wink:

4 Likes

Well 15 minutes are acceptable in my opinion. With newer hardware it might be less than 10 minutes.

4 Likes

About 10 on my Ryzen 7 3750H.

4 Likes

@nwg may I ask if there is really a reason for the 'All' button in nwg-drawer. The drawer automatically resets with backspaces so it seems just to take up space and time to move your mouse and press the 'All' button.

It also themes alongside the normal buttons and that makes it a bit annoying to theme because the padding looks normal for the buttons but too big for the 'All' button. See below.

Please tell me if I should open a issue on github rather than here.

3 Likes

Sorry, my bad: a lot of the drawer code comes from nwg-menu. I forgot to change a line, and the drawer kept on using the nwg-menu resources path. Apparently nwg-menu is not installed on your system.

It should look like this:

2021-06-27-000342_screenshot.png

The code is hopefully fixed now. Please update the package and let me know if it helps.

4 Likes

nwg-drawer 0.1.3 released

Requested by @OdiousImp:

  • Category buttons given the category-button name property, for separate css styling.

See drawer.css.

AUR up to date.

5 Likes

nwg-bar 1st preview available

As mentioned some time ago, I'm gradually replacing the nwg-launchers commands with golang equivalents. This is the step 2 of 3.

Feel free to play with arguments. The button bar placement has been unified with nwg-dock, and should allow for some more flexibility. For instance if you'd like the bar to fake being pinned up to a wybar button:

2021-06-30T0313278529242790200.png

4 Likes

Flexibility is always good, unless you fear that your application suddenly becomes filled with polka-dots by CSS styling :wink:

1 Like

LOL, my stuff is not a product, but a DIY set. One can build many different things with the bricks. :smiley:

6 Likes

nwg-bar 0.0.1 released

...and also pushed to AUR.

5 Likes

What would you say about the wrapper I'm working on? It displays a script output (refreshed) or a static text file content on the bottom layer. It's going to work on sway, as well as on other wlroots-based compositors. A long way from Conky, but it's always something.

2021-07-08-154255_screenshot.png

6 Likes

Can't say much till I try it...
Conky is quirky and doesn't work on wayland, and is probably overweight for most of what it's used for (often just like you show).
Just my thoughts...for free, and worth every penny!

2 Likes

On sway it makes little sense, apart from what you see in the picture - for beginners. But on floating managers - why not? Should look not bad on r/unixporn. :wink:

3 Likes

Since it takes text (does it recheck at intervals) from a file, it could be fed by a script (as you kinda alluded to). Never underestimate the uses of that :wink:

This use case is odd even more, but it was the reason I started working on this code. A sway user from Brazil, who uses sway bar-less, asked for a solution to display time in their co-workers’ time zones. They wanted to get rid of four clocks hanging on the wall behind their desk. :rofl:

The content source is a script executed once a second.

2021-07-09-024705_screenshot.png

1 Like

nwg-wrapper 0.0.1 released

...and also available in AUR.

4 Likes

2021-07-11-181232_screenshot.png

5 Likes