{"id":13630497,"url":"https://github.com/blahsd/snwe","last_synced_at":"2025-04-17T13:32:34.270Z","repository":{"id":37219778,"uuid":"132384989","full_name":"blahsd/snwe","owner":"blahsd","description":"🚀 Extensible, customisable, menubar replacement for macOS/UNIX.","archived":false,"fork":false,"pushed_at":"2022-12-07T18:07:38.000Z","size":57054,"stargazers_count":305,"open_issues_count":17,"forks_count":9,"subscribers_count":11,"default_branch":"master","last_synced_at":"2024-11-08T21:39:00.540Z","etag":null,"topics":["information-visualization","menubar","widget"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/blahsd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-05-06T23:50:13.000Z","updated_at":"2024-11-01T16:41:00.000Z","dependencies_parsed_at":"2023-01-23T20:15:35.088Z","dependency_job_id":null,"html_url":"https://github.com/blahsd/snwe","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blahsd%2Fsnwe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blahsd%2Fsnwe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blahsd%2Fsnwe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blahsd%2Fsnwe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blahsd","download_url":"https://codeload.github.com/blahsd/snwe/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249344854,"owners_count":21254751,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["information-visualization","menubar","widget"],"created_at":"2024-08-01T22:01:45.061Z","updated_at":"2025-04-17T13:32:33.065Z","avatar_url":"https://github.com/blahsd.png","language":"JavaScript","funding_links":["https://ko-fi.com/V7V3DTSF"],"categories":["JavaScript","21. SNWE"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e \u003ch1 align=\"center\"\u003esnwe\u003c/h1\u003e \u003cp align=\"center\"\u003e An extensible, customisable menubar replacement for macOS. \u003c/p\u003e\n \u003c/p\u003e\n\u003chr/\u003e\n\n![demo](./demo/justthebar.png)\n\n\nThis widget puts everything you might want to know at a glance in one place. From system monitoring, to currently playing music, the bar gives you an overview of what you need to know.\n\n\nThanks to the program's modular structure, it's trivial to extend it with new indicators or graphic themes. The wal-responsive adaptive colorscheme makes it always look at home.\n\n![demo](./demo/theme1.png)\n![demo](./demo/theme4.png)\n![demo](./demo/theme2.png)\n\nAnd the widget selection allows you to tailor it to your needs\n\n![demo](./demo/widg5.png)\n![demo](./demo/widg2.png)\n![demo](./demo/widg1.png)\n\n## Yes but what does it do\nThe bar is undergoing *very* active development. I'm adding, modifying, and moving around functions on a weekly basis. The list of displays that follows is indicative and relative only to the default configuration which can be very easily switched up with any of the other configuration files that are included in the download.\n\n* Current Desktop\n* Application Switcher / Launcher\n* Music Player Interface for mpd, iTunes or Spotify\n* Date\n* Base system monitoring (volume, wifi, battery)\n* Time\n\n# Installation\n(By this point we both know you want it.)\n\n## Prebuilt Binaries\n#### No installation, no fuss – just download and run\n\n1. Head over to the [release](https://github.com/blahsd/snwe/releases) page\n2. Download the latest release\n3. Run.\n\n## NPM Install\n#### For developing and customising\n\nPlease note that you might already have Brew, npm, or both, installed. In this case you can skip a couple steps!\n\n1. Install Brew. In a terminal, run  \n\n```\nruby -e \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)\" \u003c /dev/null 2\u003e  /dev/null ; brew install caskroom/cask/brew-cask 2\u003e /dev/null\n```\n\n2. Install npm. In a terminal, run\n\n```\nbrew install npm\n```\n\n3. Clone this repo (copy the files on your machine). Run:\n\n```\ngit clone https://github.com/blahsd/snwe\n```\n\n4. Navigate to wherever you cloned the repo and:\n\n```\nnpm install\nnpm start\n```\n\n### Optional dependencies\nSome indicators rely on external programs that must be running on your machine for the indicator to work correctly. All of the following dependencies are **optional** – if you don't have them the bar will still work correctly, although with some functionalities impaired.\n\n#### Desktop indicator\n* Uses [chunkwm](https://github.com/koekeishiya/chunkwm)\n\nInstalling chunkwm is trivial and takes just a couple of minutes. Regardless of whether you are going to use this bar, I recommend it wholeaheartedly. Still, it's a complex system, and I recommend you check out the link above and make an informed decision before installing.\n\nThese are the homebrew commands to install chunkwm:\n\n```\n# clone tap\nbrew tap crisidev/homebrew-chunkwm\n\n# install latest stable version\nbrew install chunkwm\n\n# install from git repo\nbrew install --HEAD chunkwm\n```\n\n**If you don't install this:** the desktop indicator will show an apple instead of your desktop number\n\n#### mpd indicator\n* Uses [mpd](https://github.com/MusicPlayerDaemon/MPD) (no shit)\n\n**If you don't install this:** you won't be able to select the 'mpd' option in the settings menu. You'll still be able to select iTunes or Spotify, so you're good.\n\n#### wal-responsive styling\n* Uses [pywal](https://github.com/dylanaraps/pywal) to generate and change color-schemes on the fly.\n\n**If you don't install this:** you won't be able to select the dynamic colorschemes option in the settings menu. You will have the default colorschemes available and any that you might add yourself.\n\n# Usage\nI will get around to write this paragraph, I promise. But honestly just run it, it's super simple.\n\n# Customisation\nThanks to its modular structure it's trivial to modify and add indicators, themes and colorschemes. In order to have a version that's more manageable to customise, I recommend installing the npm version, rather than the prebuilt.\n\n## Indicators\nReside in `./app/js/require/modules/`.\n\nCheck out any of them to get a feel for how they work. The Date and Time indicators are the simplest, so they are a good place to start looking. All indicators must extend the `ExternalModule` class, which you can find in `./app/js/require/ExternalModule.js`.\n\n## Themes and Colorschemes\nReside in `./app/css/`.\n\nThemes change the overall appearance of the bar. They should not include any color indication.\n\nColor indications should go in a separate file that follows the scheme dictated by `./app/css/default.css`.\n\n# Contribute\n## Test and report\nJust using the app and reporting on the [issue page](https://github.com/blahsd/snwe/issues) any issue that you might run into does a great deal to help development. I'm also very appreciative of issues that don't report an issue but rather indicate a useful feature that is missing / a feature wishlist / UX improvements / ecc.\n\n## Custom Colors and Themes\nI'd love to see your custom colorschemes and themes, or even your modifications to the default ones, and I am happy to link them here if you provide them to me. Hell, they might make it in the distributed package.\n\n## Contribute code\nI try to keep every known issue clearly recorded on the [issue page](https://github.com/blahsd/snwe/issues).\nPRs and/or just general recomendations are welcome in any shape and form. My code is mostly shit so go right ahead and change as your heart desires. You're probably gonna do a better job than me. Refactors are also welcome.\n\nIf you'd like a specific issue or project assigned just let me know and I'll be glad to stop working on it so you can do your thing.\n\n# Credits\n\n* [paanvaannd](https://github.com/paanvaannd): testing, debugging, and contributing to development.\n\n* [davidlday](https://github.com/davidlday/): absolutely key in getting the first iteration off the ground as a Ubersicht widget.\n\n*  [splintah/nerdbar.widget](https://github.com/splintah/nerdbar.widget): tons of code that I took shamelessly and adapted/expanded, again, for the previous incarnation of this bar.\n\n* some builds might include icons by [freepik](http://www.freepik.com) via [flaticon](https://www.flaticon.com/) and they want me to tell you that they are  licensed under [CC 3.0 BY](http://creativecommons.org/licenses/by/3.0/), so, huh, there's that.\n\n* Me. I mean, I think I did a pretty good job. [Buy me a coffee](https://ko-fi.com/V7V3DTSF) or [send thoughts \u0026 prayers](https://www.thoughtsandprayersthegame.com).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblahsd%2Fsnwe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblahsd%2Fsnwe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblahsd%2Fsnwe/lists"}