#!/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 xdg-user-dirs-update 2>&1 | "$STARTW_ROOT"/addts >> "$STARTX_LOG_FILE" & # 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