[X] Unify xresources, xdg, fontconfig modules

Removed modules for xdg folders and fontconfig setup, and unified it all
under the X heading, which now also houses the xresources module.
This commit is contained in:
Marty Oehme 2020-06-05 22:22:16 +02:00
parent 6ac0b683a3
commit a2ea57ad98
No known key found for this signature in database
GPG key ID: 0CCB0526EFB9611A
7 changed files with 1 additions and 0 deletions

View file

@ -0,0 +1,61 @@
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<!-- Replacements from http://bohoomil.com/doc/05-fonts/ (until ibfonts-meta-extended) -->
<alias>
<family>serif</family>
<prefer><family>Heuristica</family></prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer><family>Noto Sans</family></prefer>
</alias>
<alias>
<family>monospace</family>
<prefer><family>Iosevka</family></prefer>
</alias>
<alias>
<family>fantasy</family>
<prefer><family>Signika</family></prefer>
</alias>
<alias>
<family>cursive</family>
<prefer><family>Comic Neue</family></prefer>
</alias>
<!-- more advanced replacements (replacing many fonts with open alternatives) see spark/fonts/local.conf -->
<match target="font">
<edit name="antialias" mode="assign">
<bool>true</bool>
</edit>
</match>
<match target="font">
<edit name="rgba" mode="assign">
<const>rgb</const>
</edit>
</match>
<match target="font">
<edit name="lcdfilter" mode="assign">
<const>lcddefault</const>
</edit>
</match>
<match target="font">
<edit name="hinting" mode="assign">
<bool>true</bool>
</edit>
</match>
<match target="font">
<edit name="hintstyle" mode="assign">
<const>hintfull</const>
</edit>
</match>
<match target="font">
<edit name="autohint" mode="assign">
<bool>false</bool>
</edit>
</match>
<match target="pattern">
<edit name="dpi" mode="assign">
<double>92</double>
</edit>
</match>
</fontconfig>

16
X/.config/user-dirs.dirs Normal file
View file

@ -0,0 +1,16 @@
# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run.
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
#
XDG_DESKTOP_DIR="$HOME/desktop"
XDG_DOCUMENTS_DIR="$HOME/documents"
XDG_DOWNLOAD_DIR="$HOME/downloads"
XDG_MUSIC_DIR="$HOME/music"
XDG_PICTURES_DIR="$HOME/pictures"
XDG_PROJECTS_DIR="$HOME/projects"
XDG_PUBLICSHARE_DIR="$HOME/public"
XDG_TEMPLATES_DIR="$HOME/templates"
XDG_VIDEOS_DIR="$HOME/videos"

View file

@ -0,0 +1 @@
en_US

View file

@ -0,0 +1,12 @@
! ~/.Xresources
! Setting up commonly changed vars
#define myfontsize 11
#define myfont Iosevka Mono
#define myOpacity 90
! Font settings
#include "Xresources.d/fonts"
! Colorscheme
#include "Xresources.d/colorscheme"

View file

@ -0,0 +1,7 @@
Xft.antialias: 1
Xft.autohint: 0
Xft.dpi: 92
Xft.hinting: true
Xft.hintstyle: hintslight
Xft.lcdfilter: lcddefault
Xft.rgba: rgb

View file

@ -0,0 +1,81 @@
#!/bin/sh
userresources=$XDG_CONFIG_HOME/xresources/Xresources
usermodmap=$XDG_CONFIG_HOME/xresources/Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap
# 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 [ -d /etc/X11/xinit/xinitrc.d ]; then
for f in /etc/X11/xinit/xinitrc.d/?*.sh; do
# shellcheck disable=1090
[ -x "$f" ] && . "$f"
done
unset f
fi
# Remaps Capslock key to control.
# (only works for x environment - I haven't needed it for non-x yet)
setxkbmap -option ctrl:nocaps
# sets default to EURkey layout, with possibility to switch to german
# sets german layout to be default for the only pc I have with a german keyboard
if [ "$HOST" = "marty-desk" ]; then
setxkbmap -layout de,eu
else
setxkbmap -layout eu,de
fi
# allows switching layouts with alt+space
setxkbmap -option grp:alt_shift_toggle
# Makes Capslock behave as escape - when ONLY capslock is pressed and released
# this only works when we already substitute a ctrl for caps with the lines above,
# otherwise control itself will act as escape.
# Needs xcape package installed. https://github.com/alols/xcape
# set a timeout of 500ms, if pressed longer it will ignore esc
type xcape >/dev/null 2>&1 && xcape -e 'Control_L=Escape' -t 500
# unclutter is a program to hide your mouse cursor when it is not moved
type unclutter >/dev/null 2>&1 && unclutter &
# picom is the maintained version of desktop compositor compton
type picom >/dev/null 2>&1 && picom &
# flashfocus 'flashes' windows as they gain focus
type flashfocus >/dev/null 2>&1 && flashfocus -l never &
# redshift removes blue light from display as it gets dark outside
type redshift >/dev/null 2>&1 && redshift &
# if sxhkd - the key-binding daemon is installed, start it up
type sxhkd >/dev/null 2>&1 && sxhkd-piped &
# if greenclip - a clipboard manager, integrated with rofi, is installed, start it up
type greenclip >/dev/null 2>&1 && greenclip daemon &
# if nextcloud-client exists, start it up
type nextcloud >/dev/null 2>&1 && nextcloud --background &
# load nm-applet, to allow easy vpn setting/switching from x interface
# TODO this should over time be replaced with a custom polybar interface
type nm-applet >/dev/null 2>&1 && nm-applet &
# additional config options for Touchpad devices ONLY
if [ "$(dmesg | grep -c "Touchpad")" -gt 0 ]; then
# enable touch tapping for XPS13 touchpad - for different devices get the touchpad name with xinput list-prop <TAB>
xinput set-prop "DLL075B:01 06CB:76AF Touchpad" "libinput Tapping Enabled" 1
fi
type i3 >/dev/null 2>&1 && exec i3

36
X/.local/bin/clip Executable file
View file

@ -0,0 +1,36 @@
#!/usr/bin/env sh
# clip -- easy copying to x clipboard manager with xclip
#
# clips the first argument to the clipboard
# or stdin if stdin is passed
# will copy png/jpg as image files
#
# idea ~~stolen~~ creatively borrowed from
# https://github.com/kyazdani42/dotfiles/blob/master/bin/copy
if ! exist xclip normal; then exit 1; fi
# if we are in a pipe, read from stdin
if [ ! -t 0 ]; then
xclip -i -selection clipboard /dev/stdin
exit 0
fi
if [ $# != 1 ] || [ ! -f "$1" ]; then
printf "No file argument passed to xclip to clip: %s" "$1"
exit 1
fi
options=""
if grep -qE '.png$' "$1"; then
options="-target image/png"
elif grep -qE '.jpe\?g$' "$1"; then
options="-target image/jpeg"
fi
if [ -n "$options" ]; then
xclip -selection clipboard "$options" "$1"
else
xclip -selection clipboard "$1"
fi