#!/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