Branch rewrite
will be merged with main
on this Sunday.
Screenshots of the widget sets. Note that all of them does exactly what you would think.
Dashboard widget set
Sidebar widget set
Screen lock overlay widget. Leverages i3-lock-color
.
Wallpaper explorer widgets
First of all install the EWW package. It should be available on the AUR by now. If not then install it from here. Note, that I can only speak for Xorg albeit, it should also work for Wayland just follow the instructions in their repository.
It is recommended to set the XDG environment variables as my project won't work if they are not exported. You don't need to set all of them though.
export XDG_CONFIG_HOME="$HOME/.config"
export XDG_CACHE_HOME="$HOME/.cache"
export XDG_DATA_HOME="$HOME/.local/share"
export XDG_DOWNLOAD_DIR="$HOME/Downloads"
export XDG_DOCUMENTS_DIR="$HOME/Documents"
export XDG_MUSIC_DIR="$HOME/Music"
export XDG_PICTURES_DIR="$HOME/Pictures"
Read more about this here.
Clone the repo locally to $XDG_CONFIG_HOME/eww
git clone https://github.com/pagankeymaster/vile "$XDG_CONFIG_HOME/eww"
Make all of the scripts executable
chmod +x "$XDG_CONFIG_HOME/eww/scripts/*"
chmod +x "$XDG_CONFIG_HOME/eww/structs/wallpaper/wallauncher"
chmod +x "$XDG_CONFIG_HOME/eww/structs/side-utils/sidelauncher"
chmod +x "$XDG_CONFIG_HOME/eww/structs/main-utils/mainlauncher"
chmod +x "$XDG_CONFIG_HOME/eww/structs/screen-lock/locklauncher"
Create the $HOME/.local/bin
directory if it doesn't exists already.
ln -s "$XDG_CONFIG_HOME/eww/structs/side-utils/wallauncher" "$HOME/.local/bin"
ln -s "$XDG_CONFIG_HOME/eww/structs/side-utils/sidelauncher" "$HOME/.local/bin"
ln -s "$XDG_CONFIG_HOME/eww/structs/main-utils/mainlauncher" "$HOME/.local/bin"
ln -s "$XDG_CONFIG_HOME/eww/structs/screen-lock/locklauncher" "$HOME/.local/bin"
Note that as of now Python 3.10 is required for the weather script to work as, it uses latest Python features. Sorry, for the trouble. I'll try to change that in the near future.
$ pacman -S dunst \
udisks2 \
playerctl \
bluez \
bluez-utils \
redshift \
mpd \
mpc \
i3-lock-color \
pulseaudio --needed
$ pip3.10 install requests \
python-dotenv \
dbus-python
Following are the brief descriptions of the packages that you are about to install.
-
Redshift: Redshift adjusts the color temperature of your screen according to your surroundings. This may help your eyes hurt less if you are working in front of the screen at night. Install it and follow the instructions mentioned here.
-
udisks: udisks provides a daemon udisksd, that implements D-Bus interfaces used to query and manipulate storage devices, and a command-line tool udisksctl, used to query and use the daemon. Install it and follow the instructions mentioned here.
-
Dunst: Dunst is a lightweight replacement for the notification-daemons provided by most desktop environments. Install it and follow the instructions mentioned here.
-
Playerctl: The playerctl utility provides a command line tool to send commands to MPRIS clients. The most common commands are play-pause, next and previous. Install it and follow the instructions mentioned here.
-
Bluez: BlueZ provides support for the core Bluetooth layers and protocols. It is flexible, efficient and uses a modular implementation. It has many interesting features. Install it and follow the instructions mentioned here.
-
MPD and MPC: MPD (music player daemon) is an audio player that has a server-client architecture. It plays audio files, organizes playlists and maintains a music database, all while using very few resources. In order to interface with it, a separate client is needed. Install it and follow the instructions mentioned here.
-
Pulseaudio: PulseAudio is a general purpose sound server intended to run as a middleware between your applications and your hardware devices, either using ALSA or OSS. While its main purpose is to ease audio configuration, its modular design allows more advanced users to configure the daemon precisely to best suit their needs. Install it and follow the instructions mentioned here.
-
python-dotenv: Python-dotenv reads key-value pairs from a .env file and can set them as environment variables. Learn more about it here
-
dbus-python: dbus-python is the original Python binding for dbus, the reference implementation of the D-Bus protocol. Online documentation can be found here. And, learn more about it here.
-
Requests: Requests is a simple, yet elegant, HTTP library. Learn more about it here
Take a look at colors.scss
file. This file should be edited if you want to change the colorscheme.
This file is linked to all of the submodules residing in the structs/
directory
so, deleting it is not recommended.
Additionally, the colors.scss
file follows the base-16
color architecture albeit I haven't quite conformed to it.
You can take a look at the following snippet to get a rough idea.
$background: #272c35;
$foreground: #d8dee9;
$color0: #242933;
$color1: #bf616a;
$color2: #a3be8c;
$color3: #ebcb8b;
$color4: #5e81ac;
$color5: #b48ead;
$color6: #88c0d0;
$color7: #e5e9f0;
$color8: #2c313a;
$color9: #d08770;
$color10: #a3be8c;
$color11: #ebcb8b;
$color12: #81a1c1;
$color13: #606672;
$color14: #8fbcbb;
$color15: #4c566a;
Note that you should restart EWW in order for the changes to take effect!
The GIF is a bit fucked, which my fault. I'll fix it later but, you should be able to get what's happenning LOL.
The following are the people that made making this possible. Do check them out if you have the time. Most of the widget designs are inspired from their versions.
End my misery.
- Add script documentations
- bluetooth
- coreusage
- dunst-x
- dunst
- free-perc-df
- free
- gmail
- microphone
- mount
- mpd
- opendir
- openlinks
- playerctl
- ram
- randomize
- redshift-toggle
- redshift
- temp
- uphour
- volume
- wal-cache
- wallpaper
- weather
- Add comments in code
- Revise documentations
- Add widget animations
- To side-utils
- To main-utils
- To screen-lock
- To main-utils
- Add hover animations
- To side-utils
- To main-utils
- To screen-lock
- To main-utils
- Refine and re-write old widgets
- Refine side-utils
- Refine main-utils
- Refine screen-lock
- Refine main-utils
- Refine and re-write scripts
- bluetooth
- coreusage
- dunst-x
- dunst
- free-perc-df
- free
- gmail
- microphone
- mount
- mpd
- opendir
- openlinks
- playerctl
- ram
- randomize
- redshift-toggle
- redshift
- temp
- uphour
- volume
- wal-cache
- wallpaper
- weather
- Delete cache files
- Add statusbar widget
- Add a todolist widget
- Add a pomodoro widget
- Add a xrandr interface
- Revise, format and cleanup