You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
125 lines
3.5 KiB
125 lines
3.5 KiB
#!/bin/sh
|
|
# Start an X11 session
|
|
|
|
# Variable definitions
|
|
STARTW_ROOT=${HOME}/.local/share/startw
|
|
DOTS_ROOT=${STARTW_ROOT}/conf
|
|
STARTX_LOG_FILE=${STARTW_ROOT}/"err-x11-$(date +%F).log"
|
|
userresources=${HOME}/.Xresources
|
|
usermodmap=${HOME}/.Xmodmap
|
|
sysresources=/etc/X11/xinit/.Xresources
|
|
sysmodmap=/etc/X11/xinit/.Xmodmap
|
|
|
|
# Boilerplate for systemd-less systems
|
|
if test -z "${XDG_RUNTIME_DIR}"; then
|
|
XDG_RUNTIME_DIR=/tmp/$(id -u)-runtime-dir
|
|
export XDG_RUNTIME_DIR
|
|
if ! test -d "${XDG_RUNTIME_DIR}"; then
|
|
mkdir "${XDG_RUNTIME_DIR}"
|
|
chmod 0700 "${XDG_RUNTIME_DIR}"
|
|
fi
|
|
fi
|
|
|
|
#
|
|
# XORG CONFIGURATION
|
|
#
|
|
|
|
# merge in defaults and keymaps
|
|
if [ -f $sysresources ]; then xrdb -merge $sysresources; fi
|
|
if [ -f $sysmodmap ]; then xmodmap $sysmodmap; fi
|
|
if [ -f "$userresources" ]; then xrdb -merge "$userresources"; fi
|
|
if [ -f "$usermodmap" ]; then xmodmap "$usermodmap"; fi
|
|
|
|
xsetroot -cursor_name left_ptr &
|
|
setxkbmap it
|
|
xrandr --dpi 157
|
|
|
|
#
|
|
# USER CONFIGURATION
|
|
#
|
|
|
|
# Remove broken links
|
|
find -L "$HOME" -maxdepth 1 -type l -delete
|
|
find -L "$HOME/.config" -maxdepth 1 -type l -delete
|
|
|
|
# The conf folder contains two subfolders home
|
|
# and config, everything in the home folder will
|
|
# be symlinked to $HOME as a hidden file/folder,
|
|
# whereas everything in the config folder will be
|
|
# symlinked to $HOME/.config as-is
|
|
# Dotfiles in these folder will be ignored
|
|
|
|
for f in "$DOTS_ROOT"/home/* ; do
|
|
# If the filename already exists and it is not a link override it
|
|
if [ -e "$HOME/.$(basename "$f")" ]; then
|
|
if [ ! -L "$HOME/.$(basename "$f")" ]; then
|
|
rm -rf "$HOME/.$(basename "$f")"
|
|
fi
|
|
fi
|
|
ln -sf "$f" "$HOME/.$(basename "$f")"
|
|
done
|
|
|
|
for f in "$DOTS_ROOT"/config/* ; do
|
|
# If the filename already exists and it is not a link override it
|
|
if [ -e "$HOME/.config/$(basename "$f")" ]; then
|
|
if [ ! -L "$HOME/.config/$(basename "$f")" ]; then
|
|
rm -rf "$HOME/.config/$(basename "$f")"
|
|
fi
|
|
fi
|
|
ln -sf "$f" "$HOME/.config/"
|
|
done
|
|
|
|
#
|
|
# SET ENVIRONMENT VARIABLES
|
|
#
|
|
|
|
# Fix java applications for tiling WMs
|
|
export _JAVA_AWT_WM_NONREPARENTING=1
|
|
# Set the hardware acceleration driver
|
|
export LIBVA_DRIVER_NAME=radeonsi
|
|
export VDPAU_DRIVER=radeonsi
|
|
# Set the default interface used by wpa_cli
|
|
export WPA_CLI_INTERFACE=wlp2s0
|
|
# Set the editor
|
|
export EDITOR=vis
|
|
export VISUAL=vis
|
|
# Application compatibility
|
|
export GIO_USE_VFS="local"
|
|
export GIO_USE_VOLUME_MONITOR="unix"
|
|
# XDG specification variables
|
|
export XDG_DATA_HOME=$HOME/.local/share
|
|
export XDG_CACHE_HOME=$HOME/.cache
|
|
export XDG_CONFIG_HOME=$HOME/.config
|
|
export XDG_DOCUMENTS_DIR="$HOME/Documents"
|
|
export XDG_DOWNLOAD_DIR="$HOME/Downloads"
|
|
export XDG_MUSIC_DIR="$HOME/Music"
|
|
export XDG_PICTURES_DIR="$HOME/Pictures"
|
|
export XDG_VIDEOS_DIR="$HOME/Videos"
|
|
# Clean home directory
|
|
export GTK2_RC_FILES="$XDG_CONFIG_HOME"/gtk-2.0/gtkrc
|
|
export ATOM_HOME="$XDG_DATA_HOME"/atom
|
|
export BASH_COMPLETION_USER_FILE="$XDG_CONFIG_HOME"/bash-completion/bash_completion
|
|
export CARGO_HOME="$XDG_DATA_HOME"/cargo
|
|
# Set user script dir
|
|
export SCRIPT_DIR="$XDG_CONFIG_HOME"/scripts
|
|
# Wallpaer
|
|
export WALLPAPER="$HOME/Pictures/walls/waves.jpg"
|
|
|
|
#
|
|
# LAUNCH APPLICATIONS
|
|
#
|
|
|
|
if ! pgrep -x "devmon" > /dev/null
|
|
then
|
|
devmon 2>&1 | "$STARTW_ROOT"/addts >> "$STARTX_LOG_FILE" &
|
|
fi
|
|
./.fehbg
|
|
polybar -r vantagev1 2>&1 | "$STARTW_ROOT"/addts >> "$STARTX_LOG_FILE" &
|
|
#dhcpcd-gtk &
|
|
|
|
#
|
|
# START WINDOW MANAGER
|
|
#
|
|
|
|
#exec bspwm 2>&1 | "$STARTW_ROOT"/addts >> "$STARTX_LOG_FILE"
|
|
exec bspwm
|
|
|