# colorshell
> [!note]
> My personal dotfiles are now on [retrozinndev/Hyprland-Dots](https://github.com/retrozinndev/Hyprland-Dots)
This is the repository for the colorshell desktop shell, made for Hyprland with [TypeScript], [GTK4], [AGS], [Gnim], and some of the [Astal] libraries.
It really took me a lot of time to make this, so please star the repo if you like it! :star:
## ๐ Screenshots




## ๐จ Colors
All the shell colors are dynamically generated from your wallpaper!
This is possible by using [pywal16], a fork of the archived [pywal](https://github.com/dylanaraps/pywal) project.
It's a cli tool to generate color schemes from an image.
## ๐ผ๏ธ Wallpapers
These are not included in the shell anymore, because the repository was getting too big in size.
So you'll have to add it in your own.
You can define the `WALLPAPERS` variable in your hyprland user configuration to your wallpapers folder,
or create the `~/wallpapers` directory and put your wallpapers there.
Also, you can select any of the images inside `~/wallpapers` by pressing
SUPER + W or by accessing the Control Center and clicking in the image
icon on top.
## โจ Features
Currently, there's support for the following languages:
- **English** (English, United States), maintained by [@retrozinndev](https://github.com/retrozinndev)
- **Portuguรชs** (Portuguese, Brazil), maintained by [@retrozinndev](https://github.com/retrozinndev)
- **ะ ัััะบะธะน** (Russian), maintained by [@NotMephisto](https://github.com/NotMephisto)
Don't see your language here? You can contribute and make translations too!
You can do so by forking this repository, translating the shell in your fork and then opening a pull request to this repository, simple as that!
(I'll create a more detailed guide for that soon)
## ๐ ๏ธ Development
This project uses `pnpm` to manage packages and running scripts.
To build the shell, run a development build or make a release build, you can use the project's integrated scripts.
The most complicated ones have a help flag, so you can learn from there.
### Dependencies
These are development-only dependencies(by package name on AUR):
- `aylurs-gtk-shell-git`
- `libastal-meta`
Plus, you also need the packages listed in [Wiki/Dependencies]!
### Building
In a common build, the shell's gresource(icons and sass) will be targeted to the build output directory by default.
If you want to ship it, you likely want to use the `pnpm build:release` command.
```zsh
pnpm build -d # remove the -d flag if you don't want a development build
```
If you want to ship the build(or install it on your local machine), you'll likely prefer a release build:
(the `build:release` command targets the gresource to `$XDG_DATA_HOME/colorshell/resources.gresource` by default)
```zsh
pnpm build:release
```
Don't forget to install the gresource to the actual target directory! Or else it'll not find the resource file and will fail
to load custom assets.
Also, the environment variables are only actually used at runtime! It's passed as a literal string in the bash
variable format, then when the shell runs, it understands that it's an environment variable and replaces it with it's value.
### Testing/Running the project
```zsh
pnpm dev
```
or if you actually only want to run the current build instead of building again:
```
pnpm start
```
## โ๏ธ Installation
See the Installation Guide on [Wiki/Installation].
## โ Issues
Having issues? Please create a [new Issue] here, I'll be happy to help you out!
## ๐ License
This repo is licensed under the [MIT License], project is made and maintained by [retrozinndev](https://github.com/retrozinndev).
## ๐ Stargazers
Thanks to everyone who starred my project! ๐