Skip to content

Commit

Permalink
update changelog and readme
Browse files Browse the repository at this point in the history
  • Loading branch information
MalpenZibo committed Dec 15, 2024
1 parent c77bad0 commit 8b140ef
Show file tree
Hide file tree
Showing 2 changed files with 90 additions and 77 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

### Added

- Multi monitor support

### Changed

- Update to pop-os Iced 14.0-dev
Expand Down
163 changes: 86 additions & 77 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,11 @@ A ready to go Wayland status bar for Hyprland
> If you have an issue with the transparency you could try launching ashell with WGPU_BACKEND=gl. This env var forces wgpu to use OpenGL instead of Vulkan. It seems that wgpu has some issues with AMD GPU and Vulkan transparency.
### Does it only work on Hyprland?
While it's currently tailored for Hyprland, it could work with other compositors.

However, it currently relies on [hyprland-rs](https://github.com/hyprland-community/hyprland-rs)
to gather information about the active window and workspaces. I haven't implemented any
While it's currently tailored for Hyprland, it could work with other compositors.

However, it currently relies on [hyprland-rs](https://github.com/hyprland-community/hyprland-rs)
to gather information about the active window and workspaces. I haven't implemented any
feature flags to disable these functionalities or alternative methods to obtain this data.

## Install
Expand All @@ -20,13 +21,15 @@ feature flags to disable these functionalities or alternative methods to obtain
You can get the official Arch Linux package from the AUR:

#### Tagged release

```
paru/yay -S ashell
paru/yay -S ashell
```

#### Main branch

```
paru/yay -S ashell-git
paru/yay -S ashell-git
```

### ALT Linux
Expand All @@ -41,21 +44,23 @@ apt-get install ashell
To install ashell using the nix package be sure to enable flakes and then run

#### Tagged release

```
nix profile install github:MalpenZibo/ashell?ref=0.1.0
nix profile install github:MalpenZibo/ashell?ref=0.3.1
```

#### Main branch

```
nix profile install github:MalpenZibo/ashell
nix profile install github:MalpenZibo/ashell
```

### NixOS

I haven't tested ashell on NixOS.

To enable this flake use

```nix
{ pkgs, ... }:
Expand All @@ -72,8 +77,7 @@ To enable this flake use
```

> I'm not an expert and I haven't tested this configuration
but I'm quite sure that if you use NixOS you are smart enough to add ashell to your configuration :D

> but I'm quite sure that if you use NixOS you are smart enough to add ashell to your configuration :D
## Features

Expand All @@ -88,44 +92,51 @@ but I'm quite sure that if you use NixOS you are smart enough to add ashell to y
- Date time
- Privacy (check microphone, camera and screenshare usage)
- Settings panel
- Power menu
- Battery information
- Audio sources and sinks
- Screen brightness
- Network stuff
- VPN
- Bluetooth
- Power profiles
- Idle inhibitor
- Airplane mode
- Power menu
- Battery information
- Audio sources and sinks
- Screen brightness
- Network stuff
- VPN
- Bluetooth
- Power profiles
- Idle inhibitor
- Airplane mode

## Configuration

The configuration uses the yaml file format and is named `~/.config/ashell.yml`

``` yaml
```yaml
# Ashell log level filter, possible values "DEBUG" | "INFO" | "WARNING" | "ERROR". Needs reload
logLevel: "INFO" # optional, default "INFO"
# Ashell bar position, possible values Top | Bottom. Needs reload
# List of outputs, example values: DP-1 | HDMI-1 | eDP-1.
# the status bar will be displayed on all the outputs listed here
# if the outputs is not available the bar will be displayed in the active output
outputs: # optional, default empty list (the bar will be displayed on the active output)
- eDP-1
- DP-1
# Bar position, possible values Top | Bottom.
position: Top # optional, default Top
# App lancher commanda, it will be used to open the launcher,
# without a value the related button will not appear
appLauncherCmd: "~/.config/rofi/launcher.sh" # optional, default None
appLauncherCmd: "~/.config/rofi/launcher.sh" # optional, default None
# Clipboard command, it will be used to open the clipboard menu,
# without a value the related button will not appear
clipboardCmd: "cliphist-rofi-img | wl-copy" # optional, default None
# Update module configuration.
clipboardCmd: "cliphist-rofi-img | wl-copy" # optional, default None
# Update module configuration.
# Without a value the related button will not appear.
updates: # optional, default None
updates: # optional, default None
# The check command will be used to retrieve the update list.
# It should return something like `package_name version_from -> version_to\n`
checkCmd: "checkupdates; paru -Qua" # required
# The update command is used to init the OS update process
updateCmd: "alacritty -e bash -c \"paru; echo Done - Press enter to exit; read\" &" # required
updateCmd: 'alacritty -e bash -c "paru; echo Done - Press enter to exit; read" &' # required
# Maximum number of chars that can be present in the window title
# after that the title will be truncated
# after that the title will be truncated
truncateTitleAfterLength: 150 # optional, default 150
# The system module configuration
system:
system:
disabled: false # Enable or disable the system monitor module
cpuWarnThreshold: 6O # cpu indicator warning level (default 60)
cpuAlertThreshold: 8O # cpu indicator alert level (default 80)
Expand All @@ -141,30 +152,30 @@ keyboard:
disabled: false # Enable or disable the keyboard submap module
# Clock module configuration
clock:
# clock format see: https://docs.rs/chrono/latest/chrono/format/strftime/index.html
# clock format see: https://docs.rs/chrono/latest/chrono/format/strftime/index.html
format: "%a %d %b %R" # optional, default: %a %d %b %R
# Settings module configuration
settings:
# command used for lock the system
# without a value the related button will not appear
lockCmd: "hyprlock &" # optional, default None
# command used to open the sinks audio settings
# without a value the related button will not appear
audioSinksMoreCmd: "pavucontrol -t 3" # optional default None
# without a value the related button will not appear
lockCmd: "hyprlock &" # optional, default None
# command used to open the sinks audio settings
# without a value the related button will not appear
audioSinksMoreCmd: "pavucontrol -t 3" # optional default None
# command used to open the sources audio settings
# without a value the related button will not appear
audioSourcesMoreCmd: "pavucontrol -t 4" # optional, default None
# command used to open the network settings
# without a value the related button will not appear
# without a value the related button will not appear
audioSourcesMoreCmd: "pavucontrol -t 4" # optional, default None
# command used to open the network settings
# without a value the related button will not appear
wifiMoreCmd: "nm-connection-editor" # optional, default None
# command used to open the VPN settings
# without a value the related button will not appear
vpnMoreCmd: "nm-connection-editor" # optional, default None
# command used to open the Bluetooth settings
# without a value the related button will not appear
bluetoothMoreCmd: "blueman-manager" # optional, default None
# Appearance config
# Each color could be a simple hex color like #228800 or an
# command used to open the VPN settings
# without a value the related button will not appear
vpnMoreCmd: "nm-connection-editor" # optional, default None
# command used to open the Bluetooth settings
# without a value the related button will not appear
bluetoothMoreCmd: "blueman-manager" # optional, default None
# Appearance config
# Each color could be a simple hex color like #228800 or an
# object that define a base hex color and two optional variant of that color (a strong one and a weak one)
# and the text color that should be used with that base color
# example:
Expand All @@ -174,36 +185,37 @@ settings:
# weak: #448855 -- optional default autogenarated from base color
# text: #ffffff -- optional default base text color
appearance:
backgroundColor: "#1e1e2e" # used as a base background color for header module button
primaryColor: "#fab387" # used as a accent color
secondaryColor: "#11111b" # used for darker background color
successColor: "#a6e3a1" # used for success message or happy state
dangerColor: "#f38ba8" # used for danger message or danger state (the weak version is used for the warning state
textColor: "#f38ba8" # base default text color
# this is a list of color that will be used in the workspace module (one color for each monitor)
workspaceColors:
- "#fab387"
- "#b4befe"
# this is a list of color that will be used in the workspace module
# for the special workspace (one color for each monitor)
# optional, default None
# without a value the workspaceColors list will be used
specialWorkspaceColors:
- "#a6e3a1"
- "#f38ba8"
backgroundColor: "#1e1e2e" # used as a base background color for header module button
primaryColor: "#fab387" # used as a accent color
secondaryColor: "#11111b" # used for darker background color
successColor: "#a6e3a1" # used for success message or happy state
dangerColor: "#f38ba8" # used for danger message or danger state (the weak version is used for the warning state
textColor: "#f38ba8" # base default text color
# this is a list of color that will be used in the workspace module (one color for each monitor)
workspaceColors:
- "#fab387"
- "#b4befe"
# this is a list of color that will be used in the workspace module
# for the special workspace (one color for each monitor)
# optional, default None
# without a value the workspaceColors list will be used
specialWorkspaceColors:
- "#a6e3a1"
- "#f38ba8"
```
### So, what's the purpose of this project?
I could have used [waybar](https://github.com/Alexays/Waybar) that's for sure is a
a great project but I wanted something more sophisticated
I could have used [waybar](https://github.com/Alexays/Waybar) that's for sure is a
a great project but I wanted something more sophisticated
with submenus and other stuff.
I tried with other great projects like [eww](https://github.com/elkowar/eww) but
instead of writing or copy-paste eww configurations I prefered to create
instead of writing or copy-paste eww configurations I prefered to create
my Wayland bar.
So, I <del>copy-pasted from iced pop-os fork</del> created a layer to interact
with wayland layer shell protocol from iced [Iced SCTK](https://github.com/MalpenZibo/iced_sctk)
So, I <del>copy-pasted from iced pop-os fork</del> created a layer to interact
with wayland layer shell protocol from iced [Iced SCTK](https://github.com/MalpenZibo/iced_sctk)
and I started to create this project.
Feel free to fork this project and customize it for your needs or just open an
Expand All @@ -214,13 +226,10 @@ issue to request a particular feature.
I will try my best to keep these screenshots as updated as possible but some details
could be different
<img src="https://raw.githubusercontent.com/MalpenZibo/ashell/main/screenshots/ashell.png"></img>
| ![](https://raw.githubusercontent.com/MalpenZibo/ashell/main/screenshots/updates-panel.png) | ![](https://raw.githubusercontent.com/MalpenZibo/ashell/main/screenshots/settings-panel.png) |
| --- | --- |
| ![](https://raw.githubusercontent.com/MalpenZibo/ashell/main/screenshots/power-menu.png) | ![](https://raw.githubusercontent.com/MalpenZibo/ashell/main/screenshots/sinks-selection.png) |
| ![](https://raw.githubusercontent.com/MalpenZibo/ashell/main/screenshots/network-menu.png) | ![](https://raw.githubusercontent.com/MalpenZibo/ashell/main/screenshots/bluetooth-menu.png) |
| ![](https://raw.githubusercontent.com/MalpenZibo/ashell/main/screenshots/vpn-menu.png) | ![](https://raw.githubusercontent.com/MalpenZibo/ashell/main/screenshots/airplane-mode.png) |
<img src="https://raw.githubusercontent.com/MalpenZibo/ashell/main/screenshots/ashell.png"></img>
| ![](https://raw.githubusercontent.com/MalpenZibo/ashell/main/screenshots/updates-panel.png) | ![](https://raw.githubusercontent.com/MalpenZibo/ashell/main/screenshots/settings-panel.png) |
| ------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
| ![](https://raw.githubusercontent.com/MalpenZibo/ashell/main/screenshots/power-menu.png) | ![](https://raw.githubusercontent.com/MalpenZibo/ashell/main/screenshots/sinks-selection.png) |
| ![](https://raw.githubusercontent.com/MalpenZibo/ashell/main/screenshots/network-menu.png) | ![](https://raw.githubusercontent.com/MalpenZibo/ashell/main/screenshots/bluetooth-menu.png) |
| ![](https://raw.githubusercontent.com/MalpenZibo/ashell/main/screenshots/vpn-menu.png) | ![](https://raw.githubusercontent.com/MalpenZibo/ashell/main/screenshots/airplane-mode.png) |

0 comments on commit 8b140ef

Please sign in to comment.