From ad435991787d13d2415621f4ed0868f1216fbc8e Mon Sep 17 00:00:00 2001 From: Alessandro Mauri Date: Mon, 11 May 2020 14:03:03 +0200 Subject: [PATCH] much better xinit (like startw) --- conf/home/xinitrc | 135 +++++++++++++++++++++++++++++++++++++--------- 1 file changed, 110 insertions(+), 25 deletions(-) diff --git a/conf/home/xinitrc b/conf/home/xinitrc index 61d13c8..8b0a08c 100644 --- a/conf/home/xinitrc +++ b/conf/home/xinitrc @@ -1,43 +1,128 @@ #!/bin/sh +# Start an X11 session -userresources=$HOME/.Xresources -usermodmap=$HOME/.Xmodmap +# Variable definitions +STARTW_ROOT=${HOME}/.local/share/startw +DOTS_ROOT=${STARTW_ROOT}/conf +STARTX_LOG_FILE=${STARTW_ROOT}/"err-$(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 -if [ -f $sysresources ]; then - xrdb -merge $sysresources -fi +# +# USER CONFIGURATION +# -if [ -f $sysmodmap ]; then - xmodmap $sysmodmap -fi +# Remove broken links +find -L "$HOME" -maxdepth 1 -type l -delete +find -L "$HOME/.config" -maxdepth 1 -type l -delete -if [ -f "$userresources" ]; then - xrdb -merge "$userresources" -fi +# 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 -if [ -f "$usermodmap" ]; then - xmodmap "$usermodmap" -fi +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" -# start some nice programs +# +# LAUNCH APPLICATIONS +# -if [ -d /etc/X11/xinit/xinitrc.d ] ; then - for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do - [ -x "$f" ] && . "$f" - done - unset f +if ! pgrep -x "devmon" > /dev/null +then + devmon 2>&1 | "$STARTW_ROOT"/addts >> "$STARTX_LOG_FILE" & fi +./.fehbg +polybar -r vantagev1 & +#dhcpcd-gtk & xsetroot -cursor_name left_ptr & setxkbmap it # set in xresources xrandr --dpi 157 -./.fehbg -polybar -r vantagev1 & -#dhcpcd-gtk & -devmon & -exec bspwm \ No newline at end of file + +# +# START COMPOSITOR +# + +# create a log file +touch "$STARTX_LOG_FILE" + +exec bspwm 2>&1 | "$STARTW_ROOT"/addts >> "$STARTX_LOG_FILE" \ No newline at end of file