Giter Site home page Giter Site logo

nwg-piotr / nwg-shell Goto Github PK

View Code? Open in Web Editor NEW
737.0 7.0 13.0 70.55 MB

Installer & meta-package for the nwg-shell project: a GTK3-based shell for sway and Hyprland Wayland compositors

License: Other

Python 25.88% Shell 9.99% CSS 38.67% Less 25.46%
sway wlroots gtk gtk3 launcher panel menu bar

nwg-shell's Introduction

nwg-shell logo

nwg-shell


nwg-shell is a GTK3-based shell for sway and Hyprland Wayland compositors. The project provides a common configuration tool (nwg-shell-config) that allows you to configure the system in a graphical UI, and a range of components such as nwg-panel (system panel), nwg-drawer (application launcher), nwg-dock (system dock), nwg-menu (XDG-style menu) or nwg-bar (customizable button bar). It also includes several native tools as nwg-look (look and feel GTK settings editor), nwg-displays (display configuration tool), Azote (wallpaper manager), nwg-clipman (clipboard history manager), nwg-icon-picker (icon browser with textual search), nwg-readme-browser (documentation viewer) and nwg-hello (login manager). Scripts and utilities such as autotiling (script for sway to automatically switch the horizontal / vertical window split orientation) and gospuinfo (a command to display system usage info) are used in the background. The shell also utilizes third party software as swaync (notification center), gtklock / swaylock (screen lockers) and more. The nwg-shell package itself acts as a metapackage and installer of default configuration files.

Learn more about nwg-shell on the project website.

Donate using Liberapay

Installation

For installation instructions, see the Wiki page.

Packaging status

Contributing

Please read the general contributing rules for the nwg-shell project.

License

The shell components are provided under the terms of the MIT License, unless otherwise specified for a certain component.

Contact

  • Use Discussions to see CHANGELOG and announcements, share ideas, ask for support.
  • Use this invitation to join the live chat on Matrix.

Project supported by

JetBrains Logo (Main) logo.

Copyright ยฉ 2000-2024 JetBrains s.r.o. JetBrains and the JetBrains logo are registered trademarks of JetBrains s.r.o.

nwg-shell's People

Contributors

christianwsmith avatar chrrubin avatar guanran928 avatar joezak11 avatar kuba3351 avatar nwg-piotr avatar olaoluwam avatar t0fik avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

nwg-shell's Issues

[Feature Request] Add a clipboard manager

Hello

I think nwg-shell should have a clipboard manager. This tool increases speed and productivity by collecting an history of the items copied to clipboard and enables to search and paste these items in any time. KDE Plasma have this tool by default. I know that I can install it manually, but I think it should be fine to have it by default like we have notification center. Nwg-shell can be integrated with an existing tool or we can have a one written for nwg-shell.

nwg panel does not scale correctly

when changing the per-display scaling on either sway or hyprland using nwg-shell the panel does not scale correctly leaving important components of it offscreen. the panel does not respect scaling horizontally.
this issue persists using the binary aur packge on up-to-date archlinux as of the 31st of juli 2023

Lock screen before sleep

Dear Piotr,

Foremost, thank you for creating a wonderful out-of-the-box experience for Sway. I am using it since yesterday and I am positively surprised.

However, when I close the lid of my laptop and wake up the device from sleep, the screen is not locked. If I fill the "before sleep" field with nwg-lock, I do receive a black screen when waking up the device from sleep.

Any suggestions to proceed?
Thank you!

accurate mouse position

Don't know if it's a GTK/QT issue,
but it envolves on several programs, eg. smplayer, vlc, google-chrome,
pretty much any program, installed manually, independent of nwg-shell.

for example,
if for example i'm on a browser, and i click on it's preferences.,
it's preferences appeares in the center of the screen, but the mouse cursor ofcourse stays where i left it:
on the top-right corner of the browser.

Now, when i try to choose a option with the mouse,
it does nothing....

I have to stay the mouse where i left it, on the top-right corner, and move down.
That way, or with the keyboard, i can select it's options.

I can not point the mouse directly to the options

I do not have a screenrecorder yet, to show what i mean.

[feature req] post some sort of crowdfunding for all your hard work!

I was thinking today how much happier I am with my desktop experience since switching to nwg-shell on top of hyprland, and how great you've been about support. so why don't you have a liberapay or something, and myself and others can kick you a little money every month for all your much appreciated effort. link it on the nwg-shell page and in the repo, too! ๐Ÿ˜

Length of nwg-panel exceeds display width in setup with multiple displays

I just freshly installed nwg-shell on arch. I've noticed that when using a setup with multiple displays with different resolutions, the width of the panel is not correct. In this example, I have a laptop with a 2256x1504 display, and two external monitors at 1920x1200.

Example of the panel being cut off on the 1920x1080.
swappy-20220915_131600

It displays correctly on the laptop display.
swappy-20220915_131629

In the panel settings, I'm using preset-0 with just some of the modules moved around. I changed the colors by editing the preset-0.css.

The panel was working normally before the update to nwg-shell. Thanks for any ideas.

[arch] Broken dependency on wlsunset

The wlsunset package on AUR is currently broken. As this package is hard dependency for both nwg-shell and nwg-shell-config packages it's blocking install of nwg-shell via arch.sh script.

libegl error when running sway after installation

Hi, I wanted try nwg-shell and I was trying to install it on a fresh ArchLinux VM in Gnome Boxes flatpak. When I ran sway after following the installation instructions I got the following error:

Screenshot from 2023-01-05 08-20-12

If there's any way to fix or troubleshoot this then please let me know.

P.S. I have an Intel i3 with integrated graphics and I chose the Intel driver option in archinstall.

NixOS support

Hello there! This looks super cool and I would love to try it. If a NixOS flake could be made for this project then that would be amazing! Thanks.

Custom directory for "screenshot"

First of all, thanks for all of this amazing work. Your project has been a great way to enhance sway in all possible directions.

I noticed that in the script screenshot the directory for saving the screenshot has been hardcoded. I think it would be nice to be able to set the directory with a flag e.g. screenshot -d $HOME/custom-dir _mode_, as my only option is to do a manual edit to the script which will be then overwritten as updates come. Another option would be to be able to set this variable via the nwg-shell-config utility, but that is of course more complex.

Thanks again.

I am sorry, I noticed that the value is not hardcoded but I shall define the respective environment variable. I can't manage to delete the issue though.

Ubuntu Installation Details?

Hi there, I'm currently forced to choose between Ubuntu and OSX for a work laptop. I'm interested in NWG-SHELL, is it compatible with Ubuntu?

ArchLabs install: nwg-shell-config cannot save settings

On a fresh the ArchLabs install with sway session, nwg-shell-config launches on start, but its settings do not take effect and are not saved.

Running it from terminal and hitting Apply returns:

Saving /home/humanplayer2/.local/share/nwg-shell-config/preset-0
Saving /home/humanplayer2/.local/share/nwg-shell-config/preset-1
Saving /home/humanplayer2/.local/share/nwg-shell-config/preset-2
Saving /home/humanplayer2/.local/share/nwg-shell-config/preset-3
Saving /home/humanplayer2/.local/share/nwg-shell-config/custom
Saving swaync settings to /home/rasmus/.config/swaync/config.json
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/nwg_shell_config/main.py", line 289, in on_apply_btn
    update_swaync_config(preset["swaync-positionX"],
  File "/usr/lib/python3.10/site-packages/nwg_shell_config/main.py", line 760, in update_swaync_config
    save_json(swaync_settings, settings_file)
  File "/usr/lib/python3.10/site-packages/nwg_shell_config/tools.py", line 106, in save_json
    with open(path, 'w') as f:
FileNotFoundError: [Errno 2] No such file or directory: '/home/humanplayer2/.config/swaync/config.json'

[Packaging request] Package in Fedora COPR repo

Hello,

I think this project looks really cool, but there is no way package for it right now on Fedora and managing a github package suite would be cumbersome. Is there any interest/possibility in packaging this for Fedora in a COPR (COPR is an automated build system on fedora similar to the AUR on arch)

panel displays error output if baph is not installed.

Hallo,
thank you for this tool. I have just one small issue:

The documentation recommending to use baph, but doesn't insist in it. Iif baph isn't installed the sway-update script is throwing an error with is displayed in the panel. This output is displayed in the panel. Could you make this script more robust, to cover installations without installed baph (I'm using paru BTW;).

ArchLabs install: nwg-look not found

Choosing the sway setup on the ArchLabs install does not properly install nwg-look. The Look & feel button in nwg-shell-config does nothing.

Clicking it with nwg-shell-config run from terminal prints

Executing 'nwg-look'
/bin/sh: line 1: exec: nwg-look: not found

Sorry for the intrusion.

Somehow your logo is not coherent, I think.
I don't know where it should be three-dimensional and were not.
Then it's also much darker than in the svg file, and it's not three-dimensional either.

But, as always, it's a matter of taste. :-)

On the right is mine ;-)

Use it or delete my suggestion, I enjoyed working on it. ๐Ÿ˜ƒ

2022-04-07_15-23

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
   width="100%"
   height="100%"
   viewBox="0 0 335 335"
   version="1.1"
   xml:space="preserve"
   style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"
   id="svg16"
   sodipodi:docname="nwg-sgs.svg"
   inkscape:version="1.1.2 (0a00cf5339, 2022-02-04, custom)"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns:xlink="http://www.w3.org/1999/xlink"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:cc="http://creativecommons.org/ns#"
   xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
   id="metadata22"><rdf:RDF><cc:Work
       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
   id="defs20"><linearGradient
     inkscape:collect="always"
     id="linearGradient22792"><stop
       style="stop-color:#ff8f1e;stop-opacity:1"
       offset="0"
       id="stop22784" /><stop
       style="stop-color:#fe8e1d;stop-opacity:1"
       offset="0.50198096"
       id="stop22786" /><stop
       style="stop-color:#c26000;stop-opacity:1"
       offset="1"
       id="stop22790" /></linearGradient><linearGradient
     inkscape:collect="always"
     id="linearGradient16892"><stop
       style="stop-color:#224a55;stop-opacity:1;"
       offset="0"
       id="stop16888" /><stop
       style="stop-color:#346e7b;stop-opacity:1"
       offset="0.75476813"
       id="stop17280" /><stop
       style="stop-color:#224a55;stop-opacity:1"
       offset="1"
       id="stop16890" /></linearGradient><linearGradient
     inkscape:collect="always"
     id="linearGradient10414"><stop
       style="stop-color:#3c8397;stop-opacity:1"
       offset="0"
       id="stop10410" /><stop
       style="stop-color:#2e6776;stop-opacity:0.97647059"
       offset="1"
       id="stop10412" /></linearGradient><linearGradient
     inkscape:collect="always"
     id="linearGradient1932"><stop
       style="stop-color:#ffb367;stop-opacity:1"
       offset="0"
       id="stop1928" /><stop
       style="stop-color:#fe9e3e;stop-opacity:1"
       offset="0.49611971"
       id="stop7263" /><stop
       style="stop-color:#ff840c;stop-opacity:1"
       offset="0.5016641"
       id="stop2000" /><stop
       style="stop-color:#7f3f00;stop-opacity:1"
       offset="1"
       id="stop1930" /></linearGradient><filter
     inkscape:collect="always"
     style="color-interpolation-filters:sRGB"
     id="filter951"
     x="-0.051567319"
     y="-0.045007797"
     width="1.1031346"
     height="1.0900156"><feGaussianBlur
       inkscape:collect="always"
       stdDeviation="4.2385061"
       id="feGaussianBlur953" /></filter><linearGradient
     inkscape:collect="always"
     xlink:href="#linearGradient1932"
     id="linearGradient1934"
     x1="5.4323344"
     y1="2.985559"
     x2="329.2341"
     y2="1.8951377"
     gradientUnits="userSpaceOnUse" /><linearGradient
     inkscape:collect="always"
     xlink:href="#linearGradient22792"
     id="linearGradient10156"
     gradientUnits="userSpaceOnUse"
     x1="167.03378"
     y1="8.0443983"
     x2="325.87885"
     y2="9.2244501" /><linearGradient
     inkscape:collect="always"
     xlink:href="#linearGradient10414"
     id="linearGradient10416"
     x1="73.000143"
     y1="167.01953"
     x2="261.07304"
     y2="167.01953"
     gradientUnits="userSpaceOnUse" /><linearGradient
     inkscape:collect="always"
     xlink:href="#linearGradient16892"
     id="linearGradient16894"
     x1="74.012047"
     y1="93.434784"
     x2="263.44241"
     y2="93.434784"
     gradientUnits="userSpaceOnUse" /></defs><sodipodi:namedview
   pagecolor="#868686"
   bordercolor="#666666"
   borderopacity="1"
   objecttolerance="10"
   gridtolerance="10"
   guidetolerance="10"
   inkscape:pageopacity="0"
   inkscape:pageshadow="2"
   inkscape:window-width="3840"
   inkscape:window-height="2119"
   id="namedview18"
   showgrid="false"
   inkscape:zoom="2.6722303"
   inkscape:cx="36.673485"
   inkscape:cy="238.56476"
   inkscape:window-x="0"
   inkscape:window-y="0"
   inkscape:window-maximized="1"
   inkscape:current-layer="svg16"
   inkscape:pagecheckerboard="0"
   inkscape:snap-global="true"
   showguides="true"
   inkscape:guide-bbox="true" />
    <g
   id="g30216"><path
     id="path1728"
     style="fill:url(#linearGradient1934);fill-opacity:1;stroke-width:0.971535"
     d="M 7.7454385,161.71469 167.03378,1.6997326 326.506,161.611 326.1158,167.16949 167.03378,326.02823 7.4641839,166.6826 Z"
     sodipodi:nodetypes="ccccccc" /><path
     id="path11454"
     style="mix-blend-mode:normal;fill:url(#linearGradient16894);fill-opacity:1;stroke-width:0.974625"
     d="m 222.09764,116.95021 -51.47806,-49.275365 -32.55834,32.562245 125.58449,126.31119 -1.08795,-128.463316 -0.10101,-6.194343 -45.90718,-45.948925 0.13263,6.299247 z m -18.91876,113.52608 -130.236245,-130.2392 0.166655,133.18728 46.04519,46.04132 -0.16666,-68.06282 51.63176,51.6259 z"
     sodipodi:nodetypes="cccccccccccccccc"
     transform="matrix(0.97521497,0,0,0.97521497,5.0227626,6.2148752)" /><path
     id="rect2"
     style="fill:url(#linearGradient10156);stroke-width:0.951861;fill-opacity:1"
     d="M 8.041867,167.03631 167.03378,8.0443985 326.0257,167.03631 167.03378,326.02823 Z" /><path
     id="path895"
     style="fill:#030809;fill-opacity:1;stroke-width:0.970903;filter:url(#filter951)"
     d="M 218.46656,121.16468 167.032,69.726235 134.59801,102.16411 264.33591,231.90589 c 0,0 4.61873,-136.637391 -1.42292,-132.958847 -26.95337,16.410927 -46.39329,-47.455749 -46.40444,-45.770495 -0.007,1.128038 1.95801,67.988132 1.95801,67.988132 z M 199.46696,231.90589 69.728089,102.16411 c 0,0 -2.344169,135.54185 0.260639,131.85248 13.00859,-18.42498 41.019502,36.14181 45.869352,45.06584 1.45219,2.67212 -0.26064,-66.17711 -0.26064,-66.17711 l 51.43456,51.42874 z"
     transform="matrix(0.96637376,0,0,0.96637376,5.6167478,5.6168261)"
     sodipodi:nodetypes="ccccsscccssccc" /><path
     id="path10"
     style="fill:url(#linearGradient10416);fill-opacity:1;stroke-width:0.938255"
     d="m 216.58915,120.43497 -49.55706,-47.43654 -31.34336,31.34711 125.37531,125.37906 0.009,-127.8558 -44.73853,-44.707775 z M 198.37638,229.7246 73.000143,104.34554 l 0.160436,128.21713 44.326941,44.32319 -0.16044,-65.52292 49.70501,49.69938 z"
     sodipodi:nodetypes="cccccccccccccc" /></g>
</svg>

Screenshot segfault causes nwg-shell to fail to load at startup

This is the first time it has happened. The line from dmesg is:

nwg-screenshot-[1941]: segfault at 18 ip 00007fbd53d18194 sp 00007ffccf361860 error 4 in libgtk-3.so.0.2407.32[7fbd53c84000+395000] likely on CPU 11 (core 20, socket 0)

I'll have a poke around and see if I can figure out the cause, but reporting it here first.

GTK Icons for nwg-panel

I would like to use the GTK icons for nwg-panel. I selected them from the drop down list in panel settings. As you can see, the icons for notifications and brightness are replaced with the X icon. Is there a way to correct this? I tried looking through some of the config files, but wasn't able to find anything that specified which icon is used. In the GTK Settings, I did change the icon set to Yaru-blue which comes from the AUR package. Thanks for any assistance.

swappy-20220915_131629

Setting up primary monitor

Hi

I could not found a way to set up a primary monitor. I have a setup with dual monitor, DP-1 left and DP-2 right. I wish to have DP-2 as my primary to display nwg-panel etc. I was able to set workspace 1 for my DP-2 however, panels and the rest stays on DP-1 as a primary monitor. Is there any way to change this?

0.5.25 makes xwayland font rendering ugly with fractional scaling

previous to yesterday's 0.5.25 release, the font rendering in all my X apps looked great with hyprland+nwg-shell. per Arch wiki recommendations, I have the following env vars set to help with that:

GDK_SCALE=2
XDG_CURRENT_DESKTOP=Unity

however, after the release and a reboot, they all look terrible. it's worth noting that this is a likely the age old complication of using Wayland fractional scaling (primary monitor is 1.5), but it was working before, and now it's that terrible bad fractional scaling we used to have.

if there's new recommended environment var or wayland settings that fix this, I'm happy to get a pointer to those docs, but it also could be a legit bug.

swappy-20240104_231624

example shell script above in blackbox terminal, which should be wayland native since it's gtk4, but is also exhibiting the same issues. many wayland native apps (like firefox) are fine. ๐Ÿคทโ€โ™€๏ธ

Tray disappeared after reinstall

Hope this is an easy fix, but after archlabs took down their packages for the nwg-suite I hesitated to redownload the AUR packages because "if it ain't broke don't fix it"

But after I installed nwg-shell and it made me switch to all the bin packages instead of the other set from the aur, I am now unable to see the icons of apps in my system tray. This includes my wifi, discord, telegram, qtpass, etc. anything that gets minimized on close and I am unsure what to do to bring it back. I have checked available settings but did not see anything addressing this. Additionally, in the tray settings for qtpass all options to minimize are now grayed out, and the behavior follows other apps. Instead of minimizing, they just quit.

Image added below. Thanks!

EDIT: I also am now unable to copy and paste across applications.

image

config got overwriten

i recognize i am partially at fault for not having a backup, but why does the arch installation script not make a backup of your current hyprland config? i am now forced to spend hours looking up all the keywords and commands i used in my original config. please at very least add a warning in the wiki for the users of the arch script that their configs will be overwritten

[testing] Obarun Linux

Obarun is a unique Linux Distro that uses s6 and 66 as it's init system. It's an overlay derivative of Arch Linux, (uses the arch repos and it's own), I may need to write a SystemD-less variant of swayidle or something because it can't be installed on Obarun. This is seemingly the only blocker, but it may be just one of many. Every other dependency that it tried to install did install. Feel free to close this issue if you do not care to support yet another distro that'd be more work.

AUR packages

Would you be willing to create AUR packages for your projects?

nwg-look config dir missing after fresh install

Reported by Peppe: 'nwg-look' should also be present in the first loop.

    if proceed:
        for item in ["sway", "nwg-panel", "nwg-drawer", "nwg-dock", "nwg-bar", "swaync", "foot", "gtklock"]:
            copy_from_skel(item, folder="config", skip_confirmation=args.all)
        for item in ["nwg-look"]:
            copy_from_skel(item, folder="data", skip_confirmation=args.all)

[Debian] question about packaging

Hi, I want to package your stuff for debian eventually. A few questions regarding that:

  • What are the absolute base components for an install? I assume the bar and the panel?
  • Do the drawer and the menu depend on the panel or can they be installed standalone?

`variables` file overwritten without backup at upgrade time

Whenever I upgrade nwg-shell, my .config/sway/variables file is overwritten with the default one withoug being backed up.

This isn't a huge issue because I only have 1 line that I modify, but it'd be nice to have my file backed up before the new one is written.

Trouble Waking From Sleep

After closing the lid to put the system in sleep, it doesn't properly wake, just a black screen with no option to unlock. I'm able to open another tty and start sway from there, though. I'm on a fresh install of Arch and followed the installation instructions. Any suggestions or advice is appreciated!

If there are any logs or details I can provide that may help, let me know!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.