dots/configs/home/config/polybar/old/README.md

149 lines
5.1 KiB
Markdown
Raw Normal View History

2022-04-03 01:11:04 +02:00
# Advanced Polybar Module Configuration (MX-Linux/Debian and Arch Distros)
Polybar configuration with patched and improved modules for Awesome, i3 and XFCE4. Base design fits to **MX-Linux (Debian Stable) and Arch Distros**.
## Inherited and extended sources
This project configures and extend github polybar sources from
* **polybar-themes (adi1090x)** - forest theme - https://github.com/adi1090x/polybar-themes
* **polywins (alnj)** - https://github.com/alnj/polywins
* **polybar-mpris (0jdxt)** - https://github.com/0jdxt/polybar-mpris
* **polybar-scripts** - https://github.com/polybar/polybar-scripts
* **dotfiles by Derek Taylor (DT)** - https://gitlab.com/dwt1/dotfiles
* **My personal scripts** and modifications for several modules
*NOTE:* If you love this polybar - please add **git stars to listed projects!**
## Screenshots
##### Polybar Forest/Default in AwesomeWM
![Polybar Forest/Gruvbox FXCE4 with MPRIS (Spotify) Example](images/polybar-example-3-awesomewm.jpg)
##### Polybar Forest/Gruvbox FXCE4 with MPRIS - Spotify, Netflix, Youtube, text cycling and improved controls Example
![Polybar Forest/Gruvbox FXCE4 with MPRIS (Spotify) Example](images/polybar-example-2.jpg)
##### Polybar Forest/Default i3 Configured Modules Example
![Polybar Forest/Default i3 Configured Modules Example](images/polybar-example-1.jpg)
## MAIN GOALs
The main goal of this project is complete and enhanced configuration of polybar modules for MX-Linux and Arch systems.
Inherited actual theme is **Forest** with few styles colormaps from:
https://github.com/adi1090x/polybar-themes/tree/master/simple/forest
Supported all modules already included in the polybar-themes project.
### Added Enhanced Modules
* **Weather Module** for Open Weather site with Nerd Fonts.
* **MPRIS Module** - with scrolling and activity icon - support all players Spotify, MPD, Youtube, Netflix,...
* **Polywins Module** - Opened application administration support
* **Network Improved Modules**
* **AMD Ryzen and new AMD GPUs Temperatures Modules**
* **Workspaces Enhanced Module**
* **Update Module** - for MX-Linux and Arch Distros
* **System Module** - for MX-Linux and Arch Distros changed
## Dependencies
Install following programs on your system before you use these themes.
* **Polybar** : Ofcourse, the bar itself
* **Rofi** : App launcher, network, power and style menus
* **networkmanager_dmenu** : network modules (debian only)
* **mpris** and **playerctl** : Spotify and other music services
* **zscroll** : Text cycling library for music player (zscroll-git from AUR or compile it directly from git for Debian)
* **wmctrl** : polywins service library
### Fonts
Here's a list of all fonts used by these themes.
**`Text Fonts`**
- Iosevka Nerd Font
- Noto Sans
- Droid Sans
- Terminus
**`Icon Fonts`**
- Iosevka Nerd Font
- Icomoon Feather
I strictly recommend to call `setup.sh` script from `polybar-themes` git repo, because it is installed all necessary fonts from here:
https://github.com/adi1090x/polybar-themes/tree/master/fonts
### Installation
Follow the steps below to install polybar on your system.
- First, Clone this repository -
```
$ git clone https://github.com/raven2cz/polybar-config
```
- Change to cloned directory and make setup.sh executable -
```
$ cd polybar-config
$ chmod +x scripts/*
```
- Backup your polybar settings (if you already have).
- Copy dir polybar dir `.` to your `~/.config/polybar` user directory.
- **That's it, This polybar is now installed on your system.**
### Polybar Configuration
- Set correct network interfaces
```
In user_modules.ini:
module/networkspeedup
module/networkspeeddown
module/wired-network
# set correct interface parameter
interface = enp38s0
```
- Set correct sensors for your CPU and GPUs
```
In modules.ini:
temp-gpu and temp-cpu modules
call:
for i in /sys/class/hwmon/hwmon*/temp*_input; do echo "$(<$(dirname $i)/name): $(cat ${i%_*}_label 2>/dev/null || echo $(basename ${i%_*})) $(readlink -f $i)"; done
and copy required sensors values to the fields.
```
- Set your free/paid OpenWeather API ID and City in script `weather.py`.
**NOTE:** For **AwesomeWM** only, set `modules.ini` module workspaces: `pin-workspaces = false` and `config.ini`: `override-redirect = true`
In addition, there is necessary to make trick - create empty wibar with same length and insert it to same position with polybar.
- **That's it, the polybar is fully configured now.**
### Launch the bar
To launch the bar with the selected theme, Just...
- Open the terminal and enter the following command -
```
$ bash ~/.config/polybar/launch.sh
```
- You can add the same command to your WM *autostart file* to launch the bar on login. For example, to launch the bar at startup on openbox, add following lines in **`$HOME/.config/openbox/autostart`** This polybar is optimized for fce4, i3 and partially for awesomewm. But it can be used for many others VMs with little modifications.
```
## Launch Polybar
bash ~/.config/polybar/launch.sh
```
### Change Colormap of Themes
`Right-Click` to launcher button (left side first button with rofi) starts the **selector of color maps**. Select Look and Feel.