speedwm-personal/scripts/speedwm-dm

127 lines
3.5 KiB
Bash
Executable file

#!/bin/sh
# speedwm-dm
# Create a .desktop file for people who use display managers.
# Delete the topbar file
rm -f /usr/share/speedwm-topbar
# Delete the padding file
rm -f /usr/share/speedwm-nopadding
# Make the directory for the .desktop file if it does not exist
mkdir -p /usr/share/xsessions
# Write the .desktop entry
printf "[Desktop Entry]\nEncoding=UTF-8\nName=speedwm\nComment=Dynamic window manager\nExec=/usr/bin/speedwm_run\nIcon=speedwm\nType=XSession" > /usr/share/xsessions/speedwm.desktop
# If the bar is on the top, touch /usr/share/speedwm-topbar
TOPBAR=$(grep "barposition" options.h | grep "1" | awk '{ print $5 }')
PADDING=$(grep "barpaddingv" options.h | grep "0" | awk '{ print $5 }')
COMPOSITOR=$(grep "define COMPOSITOR " options.h | awk '{ print $3 }' | sed 's/"//g')
echo $TOPBAR | grep "1" && touch /usr/share/speedwm-topbar
echo $PADDING | grep "0" && touch /usr/share/speedwm-nopadding
echo $COMPOSITOR > /usr/share/speedwm-compositor
echo $(pwd) > /usr/share/speedwm-sourcedir
sed "s/#define //g" toggle.h | grep LAYOUT | sed "s|/[*]|#|g" | sed "s|[*]/||g" | sed "s/ //g" | sed "s/1/=1/g" | sed "s/0/=0/g" | sed "s/#/ # /g" > /usr/share/speedwm-layouts
. /usr/share/speedwm-layouts
AVAILABLE_LAYOUTS="$(printf "$AVAILABLE_LAYOUTS ")"
# Tile
if [ "$LAYOUT_TILE" = "1" ]; then
AVAILABLE_LAYOUTS="$(printf "${AVAILABLE_LAYOUTS} Tiling\n")"
fi
# Tile (5:4)
if [ "$LAYOUT_TILE54" = "1" ]; then
AVAILABLE_LAYOUTS="$(printf "${AVAILABLE_LAYOUTS} Tiling 5:4\n")"
fi
# Monocle
if [ "$LAYOUT_MONOCLE" = "1" ]; then
AVAILABLE_LAYOUTS="$(printf "${AVAILABLE_LAYOUTS} Monocle\n")"
fi
# Grid
if [ "$LAYOUT_GRID" = "1" ]; then
AVAILABLE_LAYOUTS="$(printf "${AVAILABLE_LAYOUTS} Grid\n")"
fi
# Dwindle
if [ "$LAYOUT_DWINDLE" = "1" ]; then
AVAILABLE_LAYOUTS="$(printf "${AVAILABLE_LAYOUTS} Dwindle\n")"
fi
# Spiral
if [ "$LAYOUT_SPIRAL" = "1" ]; then
AVAILABLE_LAYOUTS="$(printf "${AVAILABLE_LAYOUTS} Spiral\n")"
fi
# Three Columns
if [ "$LAYOUT_TCL" = "1" ]; then
AVAILABLE_LAYOUTS="$(printf "${AVAILABLE_LAYOUTS} Three Columns\n")"
fi
# Bottom Stack
if [ "$LAYOUT_BSTACK" = "1" ]; then
AVAILABLE_LAYOUTS="$(printf "${AVAILABLE_LAYOUTS} Bottom Stack\n")"
fi
# Horizontal Bottom Stack
if [ "$LAYOUT_BSTACKH" = "1" ]; then
AVAILABLE_LAYOUTS="$(printf "${AVAILABLE_LAYOUTS} Horizontal Bottom Stack\n")"
fi
# Horizontal Grid
if [ "$LAYOUT_HGRID" = "1" ]; then
AVAILABLE_LAYOUTS="$(printf "${AVAILABLE_LAYOUTS} Horizontal Grid\n")"
fi
# Dynamic Grid
if [ "$LAYOUT_DGRID" = "1" ]; then
AVAILABLE_LAYOUTS="$(printf "${AVAILABLE_LAYOUTS} Dynamic Grid\n")"
fi
# Tatami
if [ "$LAYOUT_TATAMI" = "1" ]; then
AVAILABLE_LAYOUTS="$(printf "${AVAILABLE_LAYOUTS} Tatami\n")"
fi
# Tilewide
if [ "$LAYOUT_TW" = "1" ]; then
AVAILABLE_LAYOUTS="$(printf "${AVAILABLE_LAYOUTS} Tilewide\n")"
fi
# Centered Master
if [ "$LAYOUT_CM" = "1" ]; then
AVAILABLE_LAYOUTS="$(printf "${AVAILABLE_LAYOUTS} Centered Master\n")"
fi
# Centered Floating Master
if [ "$LAYOUT_CFM" = "1" ]; then
AVAILABLE_LAYOUTS="$(printf "${AVAILABLE_LAYOUTS} Centered Floating Master\n")"
fi
# Deck
if [ "$LAYOUT_DECK" = "1" ]; then
AVAILABLE_LAYOUTS="$(printf "${AVAILABLE_LAYOUTS} Deck\n")"
fi
# Columns
if [ "$LAYOUT_COL" = "1" ]; then
AVAILABLE_LAYOUTS="$(printf "${AVAILABLE_LAYOUTS} Columns\n")"
fi
# Stairs
if [ "$LAYOUT_STAIRS" = "1" ]; then
AVAILABLE_LAYOUTS="$(printf "${AVAILABLE_LAYOUTS} Stairs\n")"
fi
printf "\n\nAvailable layouts: $AVAILABLE_LAYOUTS\n\n"
# Copy .Xresources file
cp docs/example.Xresources /usr/share/example.Xresources
exit 0