mirror of
https://github.com/wizbright/waybox.git
synced 2025-10-28 05:40:18 -04:00
Expanded README with screenshots and useful programs
Fixes #36 and resolves partially #32
This commit is contained in:
parent
d139b41259
commit
3687099182
8 changed files with 83 additions and 12 deletions
26
README.md
26
README.md
|
|
@ -1,8 +1,10 @@
|
|||
# Waybox
|
||||
An Openbox clone on Wayland (WIP)
|
||||
|
||||
A \*box-style (minimalist) Wayland compositor modeled largely on Openbox (WIP)
|
||||
|
||||
### Goals
|
||||
The main goal of this project is to provide a similar feel to Openbox but on Wayland
|
||||
|
||||
The main goal of this project is to provide a similar feel to \*box-style window managers but on Wayland
|
||||
|
||||
### Contributing
|
||||
|
||||
|
|
@ -29,6 +31,26 @@ ninja
|
|||
|
||||
After that, you should have an executable as waybox/waybox
|
||||
|
||||
### Screenshots
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
### Useful Programs
|
||||
|
||||
Because \*box-style compositors are minimalist, most functionality is left to external programs. As such, Waybox only functions as a box in which you can put whatever you need. Here are some useful programs to complement Waybox if you desire:
|
||||
|
||||
* Panel: You can use [Waybar](https://github.com/Alexays/Waybar) or [yambar](https://codeberg.org/dnkl/yambar), similar to tint2 or fbpanel in Openbox or Fluxbox.
|
||||
* Dock: You can use [Cairo Dock](https://www.glx-dock.org/) just like you did on Openbox. There's also a [port with Wayland-specific enhancements](https://github.com/dkondor/cairo-dock-core/) that you may want to try.
|
||||
* Wallpaper utility: There are various utilities to set your wallpaper, each with their own advantages, including [wpaperd](https://github.com/danyspin97/wpaperd) (can select a random wallpaper from a directory), [swaybg](https://github.com/swaywm/swaybg) (can set the background color as well well as a wallpaper), and [hyprpaper](https://github.com/hyprwm/hyprpaper) (can change the wallpaper dynamically during runtime through IPC).
|
||||
* Notification client: [mako](https://wayland.emersion.fr/mako/)
|
||||
* [wl-clipboard](https://wayland.emersion.fr/mako/): Access the clipboard in scripts (also used by [neovim](https://neovim.io/))
|
||||
* Screenshots: [grim](https://git.sr.ht/~emersion/grim) and [slurp](https://github.com/emersion/slurp)
|
||||
* Screen recording: [wf-recorder](https://github.com/ammen99/wf-recorder)
|
||||
|
||||
### Contact
|
||||
I can be found as wiz on Rizon and wizbright on Libera.
|
||||
Join [#waybox](https://libera.chat/guides/connect) for discussion
|
||||
|
|
|
|||
|
|
@ -23,15 +23,43 @@ cairo-dock &
|
|||
mako &
|
||||
|
||||
# Load a random wallpaper
|
||||
get_random_wallpaper()
|
||||
{
|
||||
oldifs=$IFS
|
||||
IFS=:
|
||||
data_dirs=${XDG_DATA_DIRS:-${datadir:-/usr/share}}:${XDG_DATA_HOME:-~/.local/share}
|
||||
for data_dir in $data_dirs;
|
||||
do
|
||||
for data_dir in $data_dirs;do
|
||||
IFS=$oldifs
|
||||
wpdir="$data_dir/wallpapers"
|
||||
test -d "$wpdir" && \
|
||||
find $wpdir -name '*.jpg' -o -name '*.png' -o -name '*.svg'
|
||||
done | (shuf -n 1 || tail -n 1) | xargs swaybg -c '#303030' -m fill -i &
|
||||
IFS=$oldifs
|
||||
done | (shuf -n 1 || tail -n 1)
|
||||
}
|
||||
|
||||
load_wallpaper() {
|
||||
if (which hyprpaper && which socat && which wayland-info) >/dev/null 2>&1; then
|
||||
hyprpaper &
|
||||
HYPRPAPER_SOCKET=/tmp/hypr/.hyprpaper.sock
|
||||
# Change the wallpaper every hour
|
||||
while test -S $HYPRPAPER_SOCKET; do
|
||||
#current_output=$(wayland-info -i wl_output | \
|
||||
# grep 'name:' | tail -n 1 | cut -d : -f 2 | tr -d ' ')
|
||||
random_wallpaper="$(get_random_wallpaper)"
|
||||
for cmd in "preload $random_wallpaper" \
|
||||
"wallpaper $current_output,$random_wallpaper" \
|
||||
'unload all';
|
||||
do
|
||||
printf "$cmd" | socat UNIX-CONNECT:$HYPRPAPER_SOCKET -
|
||||
done
|
||||
[ $? -eq 0 ] && sleep 60m
|
||||
done
|
||||
elif which swaybg >/dev/null 2>&1; then
|
||||
get_random_wallpaper | xargs swaybg -c '#303030' -m fill -i &
|
||||
elif which wpaperd >/dev/null 2>&1; then
|
||||
wpaperd &
|
||||
fi
|
||||
}
|
||||
|
||||
load_wallpaper &
|
||||
|
||||
# vim: ft=sh
|
||||
|
|
|
|||
|
|
@ -33,6 +33,12 @@ install_data(
|
|||
install_mode: 'rw-r--r--',
|
||||
)
|
||||
|
||||
install_data(
|
||||
'waybox.svg',
|
||||
install_dir: get_option('prefix') / get_option('datadir') / 'icons',
|
||||
install_mode: 'rw-r--r--',
|
||||
)
|
||||
|
||||
install_data(
|
||||
'waybox.desktop',
|
||||
install_dir: get_option('prefix') / get_option('datadir') + '/wayland-sessions',
|
||||
|
|
|
|||
|
|
@ -4,4 +4,5 @@ Comment=An Openbox-like compositor for Wayland
|
|||
Comment[de]=Ein Wayland-Compositor ähnlich zu Openbox
|
||||
Comment[eo]=Komponilo de Wayland, kiu similas je Openbox
|
||||
Exec=waybox
|
||||
Icon=waybox
|
||||
Type=Application
|
||||
|
|
|
|||
14
data/waybox.svg
Normal file
14
data/waybox.svg
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="48px" width="48px">
|
||||
<desc>Waybox icon</desc>
|
||||
<defs>
|
||||
<linearGradient id="titlegradient" x1="0" y1="0" x2="0" y2="1">
|
||||
<stop offset="0%" stop-color="#589bda" />
|
||||
<stop offset="100%" stop-color="#3c7cb7" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<rect height="10" width="48" x="0" y="0" fill="url(#titlegradient)" />
|
||||
<rect height="38" width="48" x="0" y="10" fill="#eaeaea" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 601 B |
BIN
screenshots/emptydesktop.png
Normal file
BIN
screenshots/emptydesktop.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 763 KiB |
BIN
screenshots/play.png
Normal file
BIN
screenshots/play.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 749 KiB |
BIN
screenshots/work.png
Normal file
BIN
screenshots/work.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 142 KiB |
Loading…
Add table
Add a link
Reference in a new issue