x11 and portage configs
This commit is contained in:
parent
88fbd8a47e
commit
4aa4c65933
2
.zshrc
2
.zshrc
|
@ -93,7 +93,7 @@ export AUDIO_FORMATS="mp3,ogg,vorbis,opus,aac,wav,3gp,mpg,flac"
|
|||
export VIDEOPLAYER="mpv"
|
||||
export AUDIOPLAYER="cmus-remote"
|
||||
export TERMINAL="st"
|
||||
export BROWSER="palemoon-bin"
|
||||
export BROWSER="firefox-bin"
|
||||
export MUSIC="$HOME/Music/music"
|
||||
export PASSWORD_STORE_DIR="$HOME/.password-store"
|
||||
export ANDROID_MOUNTPOINT="$HOME/Android"
|
||||
|
|
|
@ -0,0 +1,107 @@
|
|||
#!/bin/sh
|
||||
# $XConsortium: Xsession /main/10 1995/12/18 18:21:28 gildea $
|
||||
|
||||
case $# in
|
||||
1)
|
||||
case $1 in
|
||||
failsafe)
|
||||
exec xterm -geometry 80x24-0-0
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
|
||||
# redirect errors to a file in user's home directory if we can
|
||||
for errfile in "$HOME/.xsession-errors" "${TMPDIR-/tmp}/xses-$USER" "/tmp/xses-$USER"
|
||||
do
|
||||
if ( cp /dev/null "$errfile" 2> /dev/null )
|
||||
then
|
||||
chmod 600 "$errfile"
|
||||
exec > "$errfile" 2>&1
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
# clean up after xbanner
|
||||
if which freetemp 2> /dev/null ; then
|
||||
freetemp
|
||||
fi
|
||||
|
||||
startup=$HOME/.xsession
|
||||
|
||||
userresources=$HOME/.Xresources
|
||||
usermodmap=$HOME/.Xmodmap
|
||||
userxkbmap=$HOME/.Xkbmap
|
||||
|
||||
sysresources=/etc/X11/Xresources
|
||||
sysmodmap=/etc/X11/Xmodmap
|
||||
sysxkbmap=/etc/X11/Xkbmap
|
||||
|
||||
rh6sysresources=/etc/X11/xinit/Xresources
|
||||
rh6sysmodmap=/etc/X11/xinit/Xmodmap
|
||||
|
||||
|
||||
# merge in defaults
|
||||
if [ -f "$rh6sysresources" ]; then
|
||||
xrdb -merge "$rh6sysresources"
|
||||
fi
|
||||
|
||||
if [ -f "$sysresources" ]; then
|
||||
xrdb -merge "$sysresources"
|
||||
fi
|
||||
|
||||
if [ -f "$userresources" ]; then
|
||||
xrdb -merge "$userresources"
|
||||
fi
|
||||
|
||||
# merge in keymaps
|
||||
if [ -f "$sysxkbmap" ]; then
|
||||
setxkbmap `cat "$sysxkbmap"`
|
||||
XKB_IN_USE=yes
|
||||
fi
|
||||
|
||||
if [ -f "$userxkbmap" ]; then
|
||||
setxkbmap `cat "$userxkbmap"`
|
||||
XKB_IN_USE=yes
|
||||
fi
|
||||
|
||||
#
|
||||
# Eeek, this seems like too much magic here
|
||||
#
|
||||
if [ -z "$XKB_IN_USE" -a ! -L /etc/X11/X ]; then
|
||||
if grep '^exec.*/Xsun' /etc/X11/X > /dev/null 2>&1 && [ -f /etc/X11/XF86Config ]; then
|
||||
xkbsymbols=`sed -n -e 's/^[ ]*XkbSymbols[ ]*"\(.*\)".*$/\1/p' /etc/X11/XF86Config`
|
||||
if [ -n "$xkbsymbols" ]; then
|
||||
setxkbmap -symbols "$xkbsymbols"
|
||||
XKB_IN_USE=yes
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# xkb and xmodmap don't play nice together
|
||||
if [ -z "$XKB_IN_USE" ]; then
|
||||
if [ -f "$rh6sysmodmap" ]; then
|
||||
xmodmap "$rh6sysmodmap"
|
||||
fi
|
||||
|
||||
if [ -f "$sysmodmap" ]; then
|
||||
xmodmap "$sysmodmap"
|
||||
fi
|
||||
|
||||
if [ -f "$usermodmap" ]; then
|
||||
xmodmap "$usermodmap"
|
||||
fi
|
||||
fi
|
||||
|
||||
unset XKB_IN_USE
|
||||
|
||||
if [ -x "$startup" ]; then
|
||||
exec "$startup"
|
||||
elif [ -x "$HOME/.Xclients" ]; then
|
||||
exec "$HOME/.Xclients"
|
||||
elif [ -x /etc/X11/xinit/Xclients ]; then
|
||||
exec /etc/X11/xinit/Xclients
|
||||
elif [ -x /etc/X11/Xclients ]; then
|
||||
exec /etc/X11/Xclients
|
||||
else
|
||||
exec xsm
|
||||
fi
|
|
@ -0,0 +1,11 @@
|
|||
#!/bin/sh
|
||||
DIR=${HOME}/.dwm
|
||||
if [ -f "${DIR}"/dwmrc ]; then
|
||||
/bin/sh "${DIR}"/dwmrc &
|
||||
else
|
||||
while true; do
|
||||
xsetroot -name "`date`"
|
||||
sleep 1
|
||||
done &
|
||||
fi
|
||||
exec /usr/bin/dwm
|
|
@ -0,0 +1,51 @@
|
|||
#!/bin/sh
|
||||
# Copyright 1999-2004 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License, v2
|
||||
# Author: Martin Schlemmer <azarah@gentoo.org>
|
||||
|
||||
# Find a match for $XSESSION in /etc/X11/Sessions
|
||||
GENTOO_SESSION=""
|
||||
for x in /etc/X11/Sessions/* ; do
|
||||
if [ "`echo ${x##*/} | awk '{ print toupper($1) }'`" \
|
||||
= "`echo ${XSESSION} | awk '{ print toupper($1) }'`" ]; then
|
||||
GENTOO_SESSION=${x}
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
GENTOO_EXEC=""
|
||||
|
||||
if [ -n "${XSESSION}" ]; then
|
||||
if [ -f /etc/X11/Sessions/${XSESSION} ]; then
|
||||
if [ -x /etc/X11/Sessions/${XSESSION} ]; then
|
||||
GENTOO_EXEC="/etc/X11/Sessions/${XSESSION}"
|
||||
else
|
||||
GENTOO_EXEC="/bin/sh /etc/X11/Sessions/${XSESSION}"
|
||||
fi
|
||||
elif [ -n "${GENTOO_SESSION}" ]; then
|
||||
if [ -x "${GENTOO_SESSION}" ]; then
|
||||
GENTOO_EXEC="${GENTOO_SESSION}"
|
||||
else
|
||||
GENTOO_EXEC="/bin/sh ${GENTOO_SESSION}"
|
||||
fi
|
||||
else
|
||||
x=""
|
||||
y=""
|
||||
|
||||
for x in "${XSESSION}" \
|
||||
"`echo ${XSESSION} | awk '{ print toupper($1) }'`" \
|
||||
"`echo ${XSESSION} | awk '{ print tolower($1) }'`"
|
||||
do
|
||||
# Fall through ...
|
||||
if [ -x "`which ${x} 2>/dev/null`" ]; then
|
||||
GENTOO_EXEC="`which ${x} 2>/dev/null`"
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "${GENTOO_EXEC}"
|
||||
|
||||
|
||||
# vim:ts=4
|
|
@ -0,0 +1,31 @@
|
|||
#!/bin/sh
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License, v2
|
||||
|
||||
# We need to source /etc/profile for stuff like $LANG to work
|
||||
# bug #10190.
|
||||
. /etc/profile
|
||||
|
||||
. /lib/rc/sh/functions.sh
|
||||
|
||||
# Bail out early if on a non-OpenRC system:
|
||||
if [ ! -d /run/openrc ]; then
|
||||
eerror "$0 should only be used on OpenRC systems"
|
||||
fi
|
||||
|
||||
# baselayout-1 compat
|
||||
if ! type get_options >/dev/null 2>/dev/null ; then
|
||||
[ -r "${svclib}"/sh/rc-services.sh ] && . "${svclib}"/sh/rc-services.sh
|
||||
fi
|
||||
|
||||
export RC_SVCNAME=xdm
|
||||
EXEC="$(get_options service)"
|
||||
NAME="$(get_options name)"
|
||||
PIDFILE="$(get_options pidfile)"
|
||||
START_STOP_ARGS="$(get_options start_stop_args)"
|
||||
|
||||
start-stop-daemon --start --exec ${EXEC} \
|
||||
${NAME:+--name} ${NAME} ${PIDFILE:+--pidfile} ${PIDFILE} ${START_STOP_ARGS} || \
|
||||
eerror "ERROR: could not start the Display Manager"
|
||||
|
||||
# vim:ts=4
|
|
@ -0,0 +1,65 @@
|
|||
#!/bin/sh
|
||||
|
||||
userresources=$HOME/.Xresources
|
||||
usermodmap=$HOME/.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
|
||||
|
||||
# start some nice programs
|
||||
|
||||
if [ -n "`/etc/X11/chooser.sh`" ]; then
|
||||
command="`/etc/X11/chooser.sh`"
|
||||
else
|
||||
failsafe="yes"
|
||||
fi
|
||||
|
||||
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
|
||||
for f in /etc/X11/xinit/xinitrc.d/?* ; do
|
||||
[ -x "$f" ] && . "$f"
|
||||
done
|
||||
unset f
|
||||
fi
|
||||
|
||||
if [ -n "$failsafe" ]; then
|
||||
twm &
|
||||
xclock -geometry 50x50-1+1 &
|
||||
xterm -geometry 80x50+494+51 &
|
||||
xterm -geometry 80x20+494-0 &
|
||||
exec xterm -geometry 80x66+0+0 -name login
|
||||
else
|
||||
exec $command
|
||||
fi
|
|
@ -0,0 +1,7 @@
|
|||
#!/bin/sh
|
||||
# Allow all local connections from the current UID
|
||||
# This fixes issues with hostname changes (usually by dhcp clients)
|
||||
# see bug 287498 for more info
|
||||
|
||||
[ -x /usr/bin/xhost ] && [ -x /usr/bin/id ] &&
|
||||
xhost +si:localuser:`id -un` > /dev/null 2>&1
|
|
@ -0,0 +1,16 @@
|
|||
#!/bin/sh
|
||||
# to be sourced
|
||||
|
||||
case "$SESSION" in
|
||||
GNOME)
|
||||
# Done by gnome-settings-daemon
|
||||
;;
|
||||
*)
|
||||
if [ -z "$GTK_MODULES" ] ; then
|
||||
GTK_MODULES="canberra-gtk-module"
|
||||
else
|
||||
GTK_MODULES="$GTK_MODULES:canberra-gtk-module"
|
||||
fi
|
||||
export GTK_MODULES
|
||||
;;
|
||||
esac
|
|
@ -0,0 +1,13 @@
|
|||
#!/bin/bash
|
||||
|
||||
# launches a session dbus instance
|
||||
|
||||
dbuslaunch="`which dbus-launch 2>/dev/null`"
|
||||
if [ -n "$dbuslaunch" ] && [ -x "$dbuslaunch" ] && [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
|
||||
if [ -n "$command" ]; then
|
||||
command="$dbuslaunch --exit-with-session $command"
|
||||
else
|
||||
eval `$dbuslaunch --sh-syntax --exit-with-session`
|
||||
fi
|
||||
fi
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
# -*- sh -*-
|
||||
# Xsession.d script for ck-launch-session.
|
||||
#
|
||||
#
|
||||
# This file is sourced by Xsession(5), not executed.
|
||||
|
||||
CK_LAUNCH_SESSION=/usr/bin/ck-launch-session
|
||||
|
||||
is_on_console() {
|
||||
session=$(dbus-send --system --dest=org.freedesktop.ConsoleKit \
|
||||
--type=method_call --print-reply --reply-timeout=2000 \
|
||||
/org/freedesktop/ConsoleKit/Manager \
|
||||
org.freedesktop.ConsoleKit.Manager.GetCurrentSession \
|
||||
| grep path | awk '{print $3}' | sed s/\"//g)
|
||||
x11_display=$(dbus-send --system --dest=org.freedesktop.ConsoleKit \
|
||||
--type=method_call --print-reply --reply-timeout=2000 \
|
||||
$session org.freedesktop.ConsoleKit.Session.GetX11Display \
|
||||
| grep string | awk '{print $2}' | sed s/\"//g)
|
||||
|
||||
if [ -z "$x11_display" ] ; then
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# gdm already creates a CK session for us, so do not run the expensive D-Bus
|
||||
# calls if we have $GDMSESSION
|
||||
if [ -z "$GDMSESSION" ] && [ -x "$CK_LAUNCH_SESSION" ] && \
|
||||
( [ -z "$XDG_SESSION_COOKIE" ] || is_on_console ) ; then
|
||||
command="$CK_LAUNCH_SESSION $command"
|
||||
fi
|
|
@ -0,0 +1,6 @@
|
|||
#!/bin/sh
|
||||
if [ -z "$XDG_VTNR" ]; then
|
||||
exec /usr/bin/X -nolisten tcp "$@"
|
||||
else
|
||||
exec /usr/bin/X -nolisten tcp -keeptty "$@" "vt$XDG_VTNR"
|
||||
fi
|
|
@ -0,0 +1,84 @@
|
|||
Section "Files"
|
||||
FontPath "/usr/share/fonts/misc/"
|
||||
FontPath "/usr/share/fonts/TTF/"
|
||||
FontPath "/usr/share/fonts/OTF"
|
||||
FontPath "/usr/share/fonts/Type1/"
|
||||
FontPath "/usr/share/fonts/100dpi/"
|
||||
FontPath "/usr/share/fonts/75dpi/"
|
||||
EndSection
|
||||
|
||||
Section "Module"
|
||||
Load "dri"
|
||||
Load "dri2"
|
||||
EndSection
|
||||
|
||||
Section "InputDevice"
|
||||
Identifier "Keyboard"
|
||||
Driver "kbd"
|
||||
Option "XkbRules" "xorg"
|
||||
Option "XkbModel" "pc105"
|
||||
Option "XkbLayout" "us,ru"
|
||||
Option "XkbVariant" ",winkeys"
|
||||
Option "XkbOptions" "grp:caps_toggle,grp_led:caps,terminate:ctrl_alt_bksp"
|
||||
EndSection
|
||||
|
||||
Section "InputDevice"
|
||||
Identifier "TrackPoint"
|
||||
Driver "mouse"
|
||||
Option "Protocol" "auto"
|
||||
Option "Device" "/dev/input/mice"
|
||||
Option "EmulateWheel" "on"
|
||||
Option "EmulateWheelButton" "2"
|
||||
Option "XAxisMapping" "6 7"
|
||||
Option "YAxisMapping" "4 5"
|
||||
EndSection
|
||||
|
||||
Section "Monitor"
|
||||
Identifier "Internal LCD"
|
||||
DisplaySize 338.7 211.7 # 1280x800 @ 96 DPI
|
||||
Gamma 0.93 0.93 0.80
|
||||
Option "DPMS" "on"
|
||||
EndSection
|
||||
|
||||
Section "Monitor"
|
||||
Identifier "External LCD"
|
||||
Option "Disable" "True"
|
||||
Option "DPMS" "on"
|
||||
EndSection
|
||||
|
||||
Section "Device"
|
||||
Identifier "VideoCard"
|
||||
Driver "intel"
|
||||
VendorName "Intel Corporation"
|
||||
BoardName "4500MHD"
|
||||
Option "monitor-LVDS1" "Internal LCD"
|
||||
Option "monitor-HDMI2" "External LCD"
|
||||
Option "AccelMethod" "UXA"
|
||||
Option "SwapbuffersWait" "False"
|
||||
Option "Tiling" "True"
|
||||
EndSection
|
||||
|
||||
Section "Screen"
|
||||
Identifier "Screen0"
|
||||
Device "VideoCard"
|
||||
Monitor "Internal LCD"
|
||||
SubSectionSub "Display"
|
||||
Modes "1280x800"
|
||||
Virtual 3200 1200
|
||||
EndSubSection
|
||||
EndSection
|
||||
|
||||
Section "ServerLayout"
|
||||
Identifier "XServerLayout"
|
||||
Screen 0 "Screen0" 0 0
|
||||
InputDevice "TrackPoint" "CorePointer"
|
||||
InputDevice "Keyboard" "CoreKeyboard"
|
||||
Option "BlankTime" "0"
|
||||
Option "StandbyTime" "0"
|
||||
Option "SuspendTime" "0"
|
||||
Option "OffTime" "5"
|
||||
EndSection
|
||||
|
||||
Section "DRI"
|
||||
Mode 0666
|
||||
EndSection
|
|
@ -0,0 +1,40 @@
|
|||
#
|
||||
# Catch-all evdev loader for udev-based systems
|
||||
# We don't simply match on any device since that also adds accelerometers
|
||||
# and other devices that we don't really want to use. The list below
|
||||
# matches everything but joysticks.
|
||||
|
||||
Section "InputClass"
|
||||
Identifier "evdev pointer catchall"
|
||||
MatchIsPointer "on"
|
||||
MatchDevicePath "/dev/input/event*"
|
||||
Driver "evdev"
|
||||
EndSection
|
||||
|
||||
Section "InputClass"
|
||||
Identifier "evdev keyboard catchall"
|
||||
MatchIsKeyboard "on"
|
||||
MatchDevicePath "/dev/input/event*"
|
||||
Driver "evdev"
|
||||
EndSection
|
||||
|
||||
Section "InputClass"
|
||||
Identifier "evdev touchpad catchall"
|
||||
MatchIsTouchpad "on"
|
||||
MatchDevicePath "/dev/input/event*"
|
||||
Driver "evdev"
|
||||
EndSection
|
||||
|
||||
Section "InputClass"
|
||||
Identifier "evdev tablet catchall"
|
||||
MatchIsTablet "on"
|
||||
MatchDevicePath "/dev/input/event*"
|
||||
Driver "evdev"
|
||||
EndSection
|
||||
|
||||
Section "InputClass"
|
||||
Identifier "evdev touchscreen catchall"
|
||||
MatchIsTouchscreen "on"
|
||||
MatchDevicePath "/dev/input/event*"
|
||||
Driver "evdev"
|
||||
EndSection
|
|
@ -0,0 +1,38 @@
|
|||
# Collection of quirks and blacklist/whitelists for specific devices.
|
||||
|
||||
|
||||
# Accelerometer device, posts data through ABS_X/ABS_Y, making X unusable
|
||||
# http://bugs.freedesktop.org/show_bug.cgi?id=22442
|
||||
Section "InputClass"
|
||||
Identifier "ThinkPad HDAPS accelerometer blacklist"
|
||||
MatchProduct "ThinkPad HDAPS accelerometer data"
|
||||
Option "Ignore" "on"
|
||||
EndSection
|
||||
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=523914
|
||||
# Mouse does not move in PV Xen guest
|
||||
# Explicitly tell evdev to not ignore the absolute axes.
|
||||
Section "InputClass"
|
||||
Identifier "Xen Virtual Pointer axis blacklist"
|
||||
MatchProduct "Xen Virtual Pointer"
|
||||
Option "IgnoreAbsoluteAxes" "off"
|
||||
Option "IgnoreRelativeAxes" "off"
|
||||
EndSection
|
||||
|
||||
# https://bugs.freedesktop.org/show_bug.cgi?id=55867
|
||||
# Bug 55867 - Doesn't know how to tag XI_TRACKBALL
|
||||
Section "InputClass"
|
||||
Identifier "Tag trackballs as XI_TRACKBALL"
|
||||
MatchProduct "trackball"
|
||||
MatchDriver "evdev"
|
||||
Option "TypeName" "TRACKBALL"
|
||||
EndSection
|
||||
|
||||
# https://bugs.freedesktop.org/show_bug.cgi?id=62831
|
||||
# Bug 62831 - Mionix Naos 5000 mouse detected incorrectly
|
||||
Section "InputClass"
|
||||
Identifier "Tag Mionix Naos 5000 mouse XI_MOUSE"
|
||||
MatchProduct "La-VIEW Technology Naos 5000 Mouse"
|
||||
MatchDriver "evdev"
|
||||
Option "TypeName" "MOUSE"
|
||||
EndSection
|
|
@ -0,0 +1,2 @@
|
|||
Section "Files"
|
||||
EndSection
|
|
@ -0,0 +1,5 @@
|
|||
Section "Module"
|
||||
Load "dri"
|
||||
Load "dri2"
|
||||
# Load "dbe"
|
||||
EndSection
|
|
@ -0,0 +1,23 @@
|
|||
#Section "InputClass"
|
||||
Section "InputDevice"
|
||||
Identifier "keyboard-all"
|
||||
Driver "kbd"
|
||||
Option "XkbRules" "xorg"
|
||||
Option "XkbModel" "pc105"
|
||||
Option "XkbLayout" "gb,es"
|
||||
Option "XkbVariant" ",qwerty"
|
||||
Option "XkbOptions" "grp:shift_toggle,grp_led:caps,grp_led:num,terminate:ctrl_alt_bksp"
|
||||
# MatchIsKeyboard "on"
|
||||
EndSection
|
||||
|
||||
|
||||
Section "InputDevice"
|
||||
Identifier "TrackPoint"
|
||||
Driver "mouse"
|
||||
Option "Protocol" "auto"
|
||||
Option "Device" "/dev/input/mice"
|
||||
Option "EmulateWheel" "on"
|
||||
Option "EmulateWheelButton" "2"
|
||||
Option "XAxisMapping" "6 7"
|
||||
Option "YAxisMapping" "4 5"
|
||||
EndSection
|
|
@ -0,0 +1,52 @@
|
|||
# Match on all types of devices but joysticks
|
||||
#
|
||||
# If you want to configure your devices, do not copy this file.
|
||||
# Instead, use a config snippet that contains something like this:
|
||||
#
|
||||
# Section "InputClass"
|
||||
# Identifier "something or other"
|
||||
# MatchDriver "libinput"
|
||||
#
|
||||
# MatchIsTouchpad "on"
|
||||
# ... other Match directives ...
|
||||
# Option "someoption" "value"
|
||||
# EndSection
|
||||
#
|
||||
# This applies the option any libinput device also matched by the other
|
||||
# directives. See the xorg.conf(5) man page for more info on
|
||||
# matching devices.
|
||||
|
||||
Section "InputClass"
|
||||
Identifier "libinput pointer catchall"
|
||||
MatchIsPointer "on"
|
||||
MatchDevicePath "/dev/input/event*"
|
||||
Driver "libinput"
|
||||
EndSection
|
||||
|
||||
Section "InputClass"
|
||||
Identifier "libinput keyboard catchall"
|
||||
MatchIsKeyboard "on"
|
||||
MatchDevicePath "/dev/input/event*"
|
||||
Driver "libinput"
|
||||
EndSection
|
||||
|
||||
Section "InputClass"
|
||||
Identifier "libinput touchpad catchall"
|
||||
MatchIsTouchpad "on"
|
||||
MatchDevicePath "/dev/input/event*"
|
||||
Driver "libinput"
|
||||
EndSection
|
||||
|
||||
Section "InputClass"
|
||||
Identifier "libinput touchscreen catchall"
|
||||
MatchIsTouchscreen "on"
|
||||
MatchDevicePath "/dev/input/event*"
|
||||
Driver "libinput"
|
||||
EndSection
|
||||
|
||||
Section "InputClass"
|
||||
Identifier "libinput tablet catchall"
|
||||
MatchIsTablet "on"
|
||||
MatchDevicePath "/dev/input/event*"
|
||||
Driver "libinput"
|
||||
EndSection
|
|
@ -0,0 +1,27 @@
|
|||
Section "Device"
|
||||
Identifier "VideoCard"
|
||||
# Driver "modesetting"
|
||||
Driver "intel"
|
||||
VendorName "Intel Corporation"
|
||||
BoardName "4500MHD"
|
||||
Option "monitor-LVDS1" "Internal LCD"
|
||||
Option "monitor-HDMI2" "External LCD"
|
||||
Option "AccelMethod" "UXA"
|
||||
# Option "AccelMethod" "glamor"
|
||||
# Option "DRI" "3"
|
||||
Option "SwapbufferWait" "False"
|
||||
Option "Tiling" "True"
|
||||
EndSection
|
||||
|
||||
Section "Monitor"
|
||||
Identifier "Internal LCD"
|
||||
DisplaySize 338.7 211.7 # 1280x800 @ 96 DPI
|
||||
Gamma 0.90 0.90 0.80
|
||||
Option "DPMS" "on"
|
||||
EndSection
|
||||
|
||||
Section "Monitor"
|
||||
Identifier "External LCD"
|
||||
Option "Disable" "True"
|
||||
Option "DPMS" "on"
|
||||
EndSection
|
|
@ -0,0 +1,24 @@
|
|||
Section "Screen"
|
||||
Identifier "Screen0"
|
||||
Device "VideoCard"
|
||||
Monitor "Internal LCD"
|
||||
SubSection "Display"
|
||||
Modes "1280x800"
|
||||
Virtual 3200 1200
|
||||
EndSubSection
|
||||
EndSection
|
||||
|
||||
Section "ServerLayout"
|
||||
Identifier "XServerLayout"
|
||||
Screen 0 "Screen0" 0 0
|
||||
InputDevice "TrackPoint" "CorePointer"
|
||||
InputDevice "keyboard-all" "CoreKeyboard"
|
||||
Option "BlankTime" "0"
|
||||
Option "StandbyTime" "0"
|
||||
Option "SuspendTime" "0"
|
||||
Option "OffTime" "5"
|
||||
EndSection
|
||||
|
||||
Section "DRI"
|
||||
Mode 0666
|
||||
EndSection
|
|
@ -0,0 +1,40 @@
|
|||
#
|
||||
# Catch-all evdev loader for udev-based systems
|
||||
# We don't simply match on any device since that also adds accelerometers
|
||||
# and other devices that we don't really want to use. The list below
|
||||
# matches everything but joysticks.
|
||||
|
||||
Section "InputClass"
|
||||
Identifier "evdev pointer catchall"
|
||||
MatchIsPointer "on"
|
||||
MatchDevicePath "/dev/input/event*"
|
||||
Driver "evdev"
|
||||
EndSection
|
||||
|
||||
Section "InputClass"
|
||||
Identifier "evdev keyboard catchall"
|
||||
MatchIsKeyboard "on"
|
||||
MatchDevicePath "/dev/input/event*"
|
||||
Driver "evdev"
|
||||
EndSection
|
||||
|
||||
Section "InputClass"
|
||||
Identifier "evdev touchpad catchall"
|
||||
MatchIsTouchpad "on"
|
||||
MatchDevicePath "/dev/input/event*"
|
||||
Driver "evdev"
|
||||
EndSection
|
||||
|
||||
Section "InputClass"
|
||||
Identifier "evdev tablet catchall"
|
||||
MatchIsTablet "on"
|
||||
MatchDevicePath "/dev/input/event*"
|
||||
Driver "evdev"
|
||||
EndSection
|
||||
|
||||
Section "InputClass"
|
||||
Identifier "evdev touchscreen catchall"
|
||||
MatchIsTouchscreen "on"
|
||||
MatchDevicePath "/dev/input/event*"
|
||||
Driver "evdev"
|
||||
EndSection
|
|
@ -0,0 +1,38 @@
|
|||
# Collection of quirks and blacklist/whitelists for specific devices.
|
||||
|
||||
|
||||
# Accelerometer device, posts data through ABS_X/ABS_Y, making X unusable
|
||||
# http://bugs.freedesktop.org/show_bug.cgi?id=22442
|
||||
Section "InputClass"
|
||||
Identifier "ThinkPad HDAPS accelerometer blacklist"
|
||||
MatchProduct "ThinkPad HDAPS accelerometer data"
|
||||
Option "Ignore" "on"
|
||||
EndSection
|
||||
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=523914
|
||||
# Mouse does not move in PV Xen guest
|
||||
# Explicitly tell evdev to not ignore the absolute axes.
|
||||
Section "InputClass"
|
||||
Identifier "Xen Virtual Pointer axis blacklist"
|
||||
MatchProduct "Xen Virtual Pointer"
|
||||
Option "IgnoreAbsoluteAxes" "off"
|
||||
Option "IgnoreRelativeAxes" "off"
|
||||
EndSection
|
||||
|
||||
# https://bugs.freedesktop.org/show_bug.cgi?id=55867
|
||||
# Bug 55867 - Doesn't know how to tag XI_TRACKBALL
|
||||
Section "InputClass"
|
||||
Identifier "Tag trackballs as XI_TRACKBALL"
|
||||
MatchProduct "trackball"
|
||||
MatchDriver "evdev"
|
||||
Option "TypeName" "TRACKBALL"
|
||||
EndSection
|
||||
|
||||
# https://bugs.freedesktop.org/show_bug.cgi?id=62831
|
||||
# Bug 62831 - Mionix Naos 5000 mouse detected incorrectly
|
||||
Section "InputClass"
|
||||
Identifier "Tag Mionix Naos 5000 mouse XI_MOUSE"
|
||||
MatchProduct "La-VIEW Technology Naos 5000 Mouse"
|
||||
MatchDriver "evdev"
|
||||
Option "TypeName" "MOUSE"
|
||||
EndSection
|
|
@ -0,0 +1,2 @@
|
|||
Section "Files"
|
||||
EndSection
|
|
@ -0,0 +1,5 @@
|
|||
Section "Module"
|
||||
Load "dri"
|
||||
Load "dri2"
|
||||
# Load "dbe"
|
||||
EndSection
|
|
@ -0,0 +1,23 @@
|
|||
#Section "InputClass"
|
||||
Section "InputDevice"
|
||||
Identifier "keyboard-all"
|
||||
Driver "evdev"
|
||||
# Option "XkbRules" "xorg"
|
||||
Option "XkbModel" "pc105"
|
||||
Option "XkbLayout" "gb,es"
|
||||
Option "XkbVariant" ",qwerty"
|
||||
Option "XkbOptions" "grp:shift_toggle,grp_led:caps,grp_led:num,terminate:ctrl_alt_bksp"
|
||||
# MatchIsKeyboard "on"
|
||||
EndSection
|
||||
|
||||
|
||||
Section "InputDevice"
|
||||
Identifier "TrackPoint"
|
||||
Driver "mouse"
|
||||
Option "Protocol" "auto"
|
||||
Option "Device" "/dev/input/mice"
|
||||
Option "EmulateWheel" "on"
|
||||
Option "EmulateWheelButton" "2"
|
||||
Option "XAxisMapping" "6 7"
|
||||
Option "YAxisMapping" "4 5"
|
||||
EndSection
|
|
@ -0,0 +1,52 @@
|
|||
# Match on all types of devices but joysticks
|
||||
#
|
||||
# If you want to configure your devices, do not copy this file.
|
||||
# Instead, use a config snippet that contains something like this:
|
||||
#
|
||||
# Section "InputClass"
|
||||
# Identifier "something or other"
|
||||
# MatchDriver "libinput"
|
||||
#
|
||||
# MatchIsTouchpad "on"
|
||||
# ... other Match directives ...
|
||||
# Option "someoption" "value"
|
||||
# EndSection
|
||||
#
|
||||
# This applies the option any libinput device also matched by the other
|
||||
# directives. See the xorg.conf(5) man page for more info on
|
||||
# matching devices.
|
||||
|
||||
Section "InputClass"
|
||||
Identifier "libinput pointer catchall"
|
||||
MatchIsPointer "on"
|
||||
MatchDevicePath "/dev/input/event*"
|
||||
Driver "libinput"
|
||||
EndSection
|
||||
|
||||
Section "InputClass"
|
||||
Identifier "libinput keyboard catchall"
|
||||
MatchIsKeyboard "on"
|
||||
MatchDevicePath "/dev/input/event*"
|
||||
Driver "libinput"
|
||||
EndSection
|
||||
|
||||
Section "InputClass"
|
||||
Identifier "libinput touchpad catchall"
|
||||
MatchIsTouchpad "on"
|
||||
MatchDevicePath "/dev/input/event*"
|
||||
Driver "libinput"
|
||||
EndSection
|
||||
|
||||
Section "InputClass"
|
||||
Identifier "libinput touchscreen catchall"
|
||||
MatchIsTouchscreen "on"
|
||||
MatchDevicePath "/dev/input/event*"
|
||||
Driver "libinput"
|
||||
EndSection
|
||||
|
||||
Section "InputClass"
|
||||
Identifier "libinput tablet catchall"
|
||||
MatchIsTablet "on"
|
||||
MatchDevicePath "/dev/input/event*"
|
||||
Driver "libinput"
|
||||
EndSection
|
|
@ -0,0 +1,27 @@
|
|||
Section "Device"
|
||||
Identifier "VideoCard"
|
||||
# Driver "modesetting"
|
||||
Driver "intel"
|
||||
VendorName "Intel Corporation"
|
||||
BoardName "4500MHD"
|
||||
Option "monitor-LVDS1" "Internal LCD"
|
||||
Option "monitor-HDMI2" "External LCD"
|
||||
Option "AccelMethod" "UXA"
|
||||
# Option "AccelMethod" "glamor"
|
||||
# Option "DRI" "3"
|
||||
Option "SwapbufferWait" "False"
|
||||
Option "Tiling" "True"
|
||||
EndSection
|
||||
|
||||
Section "Monitor"
|
||||
Identifier "Internal LCD"
|
||||
DisplaySize 338.7 211.7 # 1280x800 @ 96 DPI
|
||||
Gamma 0.90 0.90 0.80
|
||||
Option "DPMS" "on"
|
||||
EndSection
|
||||
|
||||
Section "Monitor"
|
||||
Identifier "External LCD"
|
||||
Option "Disable" "True"
|
||||
Option "DPMS" "on"
|
||||
EndSection
|
|
@ -0,0 +1,24 @@
|
|||
Section "Screen"
|
||||
Identifier "Screen0"
|
||||
Device "VideoCard"
|
||||
Monitor "Internal LCD"
|
||||
SubSection "Display"
|
||||
Modes "1280x800"
|
||||
Virtual 3200 1200
|
||||
EndSubSection
|
||||
EndSection
|
||||
|
||||
Section "ServerLayout"
|
||||
Identifier "XServerLayout"
|
||||
Screen 0 "Screen0" 0 0
|
||||
InputDevice "TrackPoint" "CorePointer"
|
||||
InputDevice "keyboard-all" "CoreKeyboard"
|
||||
Option "BlankTime" "0"
|
||||
Option "StandbyTime" "0"
|
||||
Option "SuspendTime" "0"
|
||||
Option "OffTime" "5"
|
||||
EndSection
|
||||
|
||||
Section "DRI"
|
||||
Mode 0666
|
||||
EndSection
|
|
@ -0,0 +1,50 @@
|
|||
# These settings were set by the catalyst build script that automatically
|
||||
# built this stage.
|
||||
# Please consult /usr/share/portage/config/make.conf.example for a more
|
||||
# detailed example.
|
||||
COMMON_FLAGS="-O2 -march=native -pipe"
|
||||
CHOST="x86_64-pc-linux-gnu"
|
||||
|
||||
CFLAGS="${COMMON_FLAGS}"
|
||||
CXXFLAGS="${COMMON_FLAGS}"
|
||||
FCFLAGS="${COMMON_FLAGS}"
|
||||
FFLAGS="${COMMON_FLAGS}"
|
||||
|
||||
# NOTE: This stage was built with the bindist Use flag enabled
|
||||
PORTDIR="/usr/portage"
|
||||
DISTDIR="/usr/portage/distfiles"
|
||||
PKGDIR="/usr/portage/packages"
|
||||
|
||||
# This sets the language of build output to English.
|
||||
# Please keep this setting intact when reporting bugs.
|
||||
LC_MESSAGES=C
|
||||
|
||||
# All licenses are FREE
|
||||
ACCEPT_LICENSE="-* @FREE"
|
||||
|
||||
# Parallel compilations
|
||||
MAKEOPTS="-j2"
|
||||
|
||||
# Hardware specific flags
|
||||
ALSA_PCM_PLUGINS="*"
|
||||
VIDEO_CARD="intel i965"
|
||||
INPUT_DEVICES="libinput mouse keyboard evdev"
|
||||
|
||||
SANE_BACKENDS="hp hp3500 hp3900 hp4200 hp5400 hp5590 hpljm1005 hpsj5s hs2p"
|
||||
|
||||
LINGUAS="en"
|
||||
|
||||
GRUB_PLATFORMS="coreboot multiboot pc efi-32 efi-64 emu"
|
||||
|
||||
# CCACHE support
|
||||
FEATURES="ccache"
|
||||
CCACHE_DIR="/var/cache/ccache"
|
||||
|
||||
L10N="en-US en_US en es es_ES es-ES eu eu_ES eu-ES"
|
||||
USE="\
|
||||
-systemd -amdgpu -nouveau -radeon -radeonsi -video_cards_nouveau \
|
||||
-video_cards_amdgpu -video_cards_radeon -video_cards_radeonsi \
|
||||
sqlite mmx mmxext sse sse2 sse3 sse4_1 ssse3 i965 glamor savedconfig \
|
||||
udisks ffmpeg jack pulseaudio dmenu zsh-completion fish-completion man"
|
||||
|
||||
GENTOO_MIRRORS="ftp://ftp.free.fr/mirrors/ftp.gentoo.org/ http://ftp.free.fr/mirrors/ftp.gentoo.org/ http://gentoo.modulix.net/gentoo/ http://gentoo.mirrors.ovh.net/gentoo-distfiles/ https://mirrors.soeasyto.com/distfiles.gentoo.org/ http://mirrors.soeasyto.com/distfiles.gentoo.org/ ftp://mirrors.soeasyto.com/distfiles.gentoo.org/ https://mirror.eu.oneandone.net/linux/distributions/gentoo/gentoo/ http://mirror.eu.oneandone.net/linux/distributions/gentoo/gentoo/ rsync://mirror.eu.oneandone.net/gentoo/ ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo ftp://mirror.netcologne.de/gentoo/ https://mirror.netcologne.de/gentoo/ http://mirror.netcologne.de/gentoo/ rsync://mirror.netcologne.de/gentoo/ https://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ https://ftp.halifax.rwth-aachen.de/gentoo/ http://ftp.halifax.rwth-aachen.de/gentoo/ ftp://ftp.halifax.rwth-aachen.de/gentoo/ rsync://ftp.halifax.rwth-aachen.de/gentoo/ https://ftp.fau.de/gentoo http://ftp.fau.de/gentoo ftp://ftp.fau.de/gentoo rsync://ftp.fau.de/gentoo https://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/ http://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/ rsync://ftp-stud.hs-esslingen.de/gentoo/ https://ftp.rnl.tecnico.ulisboa.pt/pub/gentoo/gentoo-distfiles/ http://ftp.rnl.tecnico.ulisboa.pt/pub/gentoo/gentoo-distfiles/ ftp://ftp.rnl.tecnico.ulisboa.pt/pub/gentoo/gentoo-distfiles/ rsync://ftp.rnl.tecnico.ulisboa.pt/pub/gentoo/gentoo-distfiles/ ftp://ftp.dei.uc.pt/pub/linux/gentoo/ http://ftp.dei.uc.pt/pub/linux/gentoo/"
|
|
@ -0,0 +1 @@
|
|||
../../usr/portage/profiles/default/linux/amd64/17.1/desktop
|
|
@ -0,0 +1,50 @@
|
|||
# required by nyancat (argument)
|
||||
=games-misc/nyancat-1.5.1 ~amd64
|
||||
app-laptop/tlp
|
||||
sys-power/linux-x86-power-tools
|
||||
# required by x11-misc/sxhkd (argument)
|
||||
=x11-misc/sxhkd-0.6.0 ~amd64
|
||||
x11-misc/tabbed ~amd64
|
||||
www-client/qutebrowser ~amd64
|
||||
=dev-python/pypeg2-2.15.2 ~amd64
|
||||
app-shells/ksh ~amd64
|
||||
app-admin/entr ~amd64
|
||||
# required by net-p2p/transmission-remote-cli (argument)
|
||||
>=net-p2p/transmission-remote-cli-1.7.1 ~amd64
|
||||
# required by net-p2p/transmission-cli-2.94::sabayon-distro
|
||||
# required by net-p2p/transmission-cli (argument)
|
||||
>=net-p2p/transmission-base-2.94 ~amd64
|
||||
# required by net-p2p/transmission-cli (argument)
|
||||
>=net-p2p/transmission-cli-2.94 ~amd64
|
||||
# required by net-p2p/transmission-daemon (argument)
|
||||
>=net-p2p/transmission-daemon-2.94 ~amd64
|
||||
# required by app-office/libreoffice-bin (argument)
|
||||
>=app-office/libreoffice-bin-6.2.4.2 ~amd64
|
||||
# required by app-admin/qtpass (argument)
|
||||
=app-admin/qtpass-1.2.3 ~amd64
|
||||
# required by app-admin/pass-import (argument)
|
||||
=app-admin/pass-import-2.3 ~amd64
|
||||
# required by x11-terms/termite (argument)
|
||||
=x11-terms/termite-13 ~amd64
|
||||
# required by x11-terms/termite-13::eroen
|
||||
# required by x11-terms/termite (argument)
|
||||
=x11-libs/vte-0.48.4 ~amd64
|
||||
# required by net-im/signal-desktop-bin (argument)
|
||||
=net-im/signal-desktop-bin-1.25.1 ~amd64
|
||||
# required by sys-fs/archivemount (argument)
|
||||
=sys-fs/archivemount-0.8.12 ~amd64
|
||||
# required by sys-fs/fuse-zip (argument)
|
||||
=sys-fs/fuse-zip-0.4.5 ~amd64
|
||||
# required by app-text/docx2txt (argument)
|
||||
=app-text/docx2txt-1.4 ~amd64
|
||||
>=x11-wm/dwm-6.2 ~amd64
|
||||
# required by app-misc/powerline (argument)
|
||||
=app-misc/powerline-2.7 ~amd64
|
||||
# required by app-misc/powerline-2.7::raiagent[fonts]
|
||||
# required by app-misc/powerline (argument)
|
||||
=media-fonts/powerline-fonts-9999-r2 ~amd64
|
||||
# required by app-misc/powerline-2.7::raiagent[vim]
|
||||
# required by app-misc/powerline (argument)
|
||||
=app-vim/powerline-vim-2.7 ~amd64
|
||||
# required by net-im/telegram-desktop-bin (argument)
|
||||
>=net-im/telegram-desktop-bin-1.8.1 ~amd64
|
|
@ -0,0 +1,5 @@
|
|||
# x11-drivers/xf86* requiered 1.20.4
|
||||
#=x11-base/xorg-server-1.20.5
|
||||
# ffmpeg conflics
|
||||
#=media-video/vlc-3.0.7.1
|
||||
>=dev-qt/qtwebengine-5.12.3
|
|
@ -0,0 +1 @@
|
|||
dev-python/PyQt5 declarative sql multimedia webengine webkit webchannel
|
|
@ -0,0 +1,4 @@
|
|||
# required by media-sound/pulseaudio-12.2-r1::gentoo[alsa-plugin,alsa]
|
||||
# required by www-client/firefox-bin-67.0.2::gentoo[pulseaudio]
|
||||
# required by firefox-bin (argument)
|
||||
>=media-plugins/alsa-plugins-1.1.8 pulseaudio
|
|
@ -0,0 +1 @@
|
|||
app-shells/bash bashlogger mem-scramble afs
|
|
@ -0,0 +1 @@
|
|||
media-sound/cmus jack opus wavpack ffmpeg
|
|
@ -0,0 +1 @@
|
|||
media-gfx/feh curl
|
|
@ -0,0 +1,2 @@
|
|||
media-video/ffmpeg bzip2 encode opus vaapi vorbis vpx x264 x265 xvid theora pulseaudio
|
||||
virtual/ffmpegbzip2 opus vaapi theora pulseaudio
|
|
@ -0,0 +1 @@
|
|||
app-shells/fzf vim neovim zsh-completion
|
|
@ -0,0 +1 @@
|
|||
sys-devel/gcc go
|
|
@ -0,0 +1 @@
|
|||
media-libs/gd fontconfig
|
|
@ -0,0 +1 @@
|
|||
media-gfx/gimp vector-icons
|
|
@ -0,0 +1,3 @@
|
|||
# required by net-mail/notmuch-0.24.2::gentoo[crypt]
|
||||
# required by net-mail/notmuch (argument)
|
||||
>=dev-libs/gmime-2.6.23:2.6 smime
|
|
@ -0,0 +1 @@
|
|||
dev-lang/go
|
|
@ -0,0 +1 @@
|
|||
>=media-libs/harfbuzz-2.3.1 icu
|
|
@ -0,0 +1 @@
|
|||
net-print/hplip scanner
|
|
@ -0,0 +1 @@
|
|||
dev-java/icedtea-bin big-endian multilib nsplugin # headless-awt
|
|
@ -0,0 +1,5 @@
|
|||
# required by dev-java/icedtea-bin-3.12.0-r1::gentoo[nsplugin]
|
||||
# required by virtual/jdk-1.8.0-r3::gentoo
|
||||
# required by @selected
|
||||
# required by @world (argument)
|
||||
>=dev-java/icedtea-web-1.6.2 nsplugin javascript
|
|
@ -0,0 +1 @@
|
|||
sys-apps/kmod lzma zlib
|
|
@ -0,0 +1 @@
|
|||
x11-misc/ktsuss sudo
|
|
@ -0,0 +1 @@
|
|||
app-portage/layman git subversion bazaar cvs mercurial
|
|
@ -0,0 +1 @@
|
|||
media-video/libav aac bzip2 encode opus theora vorbis vaapi x264 x265 xvid
|
|
@ -0,0 +1,3 @@
|
|||
# required by app-shells/fish-3.0.2::gentoo
|
||||
# required by app-shells/fish (argument)
|
||||
>=dev-libs/libpcre2-10.32 pcre32
|
|
@ -0,0 +1 @@
|
|||
sys-apps/lm_sensors contrib
|
|
@ -0,0 +1 @@
|
|||
media-sound/mpd jack opus wavpack ffmpeg audiofile soundcloud recorder pipe
|
|
@ -0,0 +1 @@
|
|||
media-video/mpv jack vaapi libmpv zsh-completion ffmpeg
|
|
@ -0,0 +1 @@
|
|||
mail-mta/msmtp vim-syntax daemon
|
|
@ -0,0 +1 @@
|
|||
mail-client/neomutt gpgme lmdb sasl
|
|
@ -0,0 +1 @@
|
|||
net-mail/notmuch mutt python
|
|
@ -0,0 +1 @@
|
|||
media-fonts/noto cjk
|
|
@ -0,0 +1 @@
|
|||
app-misc/powerline bash dash doc fish fonts man mksh vim zsh
|
|
@ -0,0 +1 @@
|
|||
media-fonts/powerline-fonts dejavusansmono hack inconsolata notomono ubuntumono
|
|
@ -0,0 +1 @@
|
|||
dev-python/pyyaml libyaml
|
|
@ -0,0 +1 @@
|
|||
dev-qt/qtsql mysql
|
|
@ -0,0 +1 @@
|
|||
x11-misc/rofi windowmode
|
|
@ -0,0 +1 @@
|
|||
x11-terms/rxvt-unicode 256-color xft blink unicode3
|
|
@ -0,0 +1 @@
|
|||
app-text/texlive extra graphics luatex science xetex
|
|
@ -0,0 +1 @@
|
|||
app-text/texlive-core xetex
|
|
@ -0,0 +1 @@
|
|||
app-laptop/tlp tlp_suggests tpacpi-bat
|
|
@ -0,0 +1 @@
|
|||
app-laptop/tp_smapi hdaps
|
|
@ -0,0 +1 @@
|
|||
net-p2p/transmission-cli daemon
|
|
@ -0,0 +1 @@
|
|||
net-p2p/transmission-remote-cli daemon
|
|
@ -0,0 +1 @@
|
|||
app-misc/vifm vim vim-syntax
|
|
@ -0,0 +1,4 @@
|
|||
# required by app-vim/powerline-vim-2.7::raiagent
|
||||
# required by app-misc/powerline-2.7::raiagent[vim]
|
||||
# required by app-misc/powerline (argument)
|
||||
>=app-editors/vim-8.1.1486 python
|
|
@ -0,0 +1 @@
|
|||
media-video/vlc qt5 gnutls live lua matroska rtsp theora upnp vcdx vorbis vpx flac kate mtp opus opencv x265 x264
|
|
@ -0,0 +1 @@
|
|||
net-irc/weechat guile lua ruby man
|
|
@ -0,0 +1 @@
|
|||
app-misc/workrave doc
|
|
@ -0,0 +1 @@
|
|||
x11-base/xorg-server -suid
|
|
@ -0,0 +1 @@
|
|||
>=sys-libs/zlib-1.2.11-r2 minizip
|
|
@ -0,0 +1,30 @@
|
|||
# package.use# required by app-misc/neofetch-6.0.0::gentoo[X]
|
||||
# required by app-misc/neofetch (argument)
|
||||
>=www-client/w3m-0.5.3_p20180125 imlib
|
||||
# required by dev-python/PyQt5-5.10.1-r1::gentoo[multimedia]
|
||||
# required by www-client/qutebrowser-1.6.2::gentoo
|
||||
# required by www-client/qutebrowser (argument)
|
||||
>=dev-qt/qtmultimedia-5.12.3 widgets
|
||||
# required by dev-python/PyQt5-5.10.1-r1::gentoo[webengine]
|
||||
# required by www-client/qutebrowser-1.6.2::gentoo
|
||||
# required by www-client/qutebrowser (argument)
|
||||
>=dev-qt/qtwebengine-5.12.3 widgets
|
||||
# required by dev-qt/qtwebengine-5.12.3::gentoo
|
||||
# required by dev-python/PyQt5-5.10.1-r1::gentoo[webengine]
|
||||
# required by www-client/qutebrowser-1.6.2::gentoo
|
||||
# required by www-client/qutebrowser (argument)
|
||||
>=dev-qt/qtwebchannel-5.12.3 qml
|
||||
# required by dev-qt/qtwebengine-5.12.3::gentoo
|
||||
# required by dev-python/PyQt5-5.10.1-r1::gentoo[webengine]
|
||||
# required by www-client/qutebrowser-1.6.2::gentoo
|
||||
# required by www-client/qutebrowser (argument)
|
||||
>=dev-libs/libxml2-2.9.9-r1 icu
|
||||
# required by sys-power/suspend-1.0_p20150810-r1::gentoo[crypt]
|
||||
# required by sys-power/suspend (argument)
|
||||
>=dev-libs/libgcrypt-1.8.3 static-libs
|
||||
# required by sys-power/suspend-1.0_p20150810-r1::gentoo[crypt]
|
||||
# required by sys-power/suspend (argument)
|
||||
>=dev-libs/libgpg-error-1.36 static-libs
|
||||
# required by sys-power/suspend-1.0_p20150810-r1::gentoo[lzo]
|
||||
# required by sys-power/suspend (argument)
|
||||
>=dev-libs/lzo-2.10 static-libs
|
|
@ -0,0 +1,259 @@
|
|||
From 20967685d6879bd611a856ade154df19da9ddc7b Mon Sep 17 00:00:00 2001
|
||||
From: Stein Gunnar Bakkeby <bakkeby@gmail.com>
|
||||
Date: Wed, 8 May 2019 08:07:14 +0200
|
||||
Subject: [PATCH] Vanity gaps - allows control of both inner and outer gaps
|
||||
between windows and screen edge
|
||||
|
||||
---
|
||||
config.def.h | 21 +++++++++
|
||||
dwm.c | 150 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
|
||||
2 files changed, 161 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/config.def.h b/config.def.h
|
||||
index 1c0b587..0927c2d 100644
|
||||
--- a/config.def.h
|
||||
+++ b/config.def.h
|
||||
@@ -3,6 +3,11 @@
|
||||
/* appearance */
|
||||
static const unsigned int borderpx = 1; /* border pixel of windows */
|
||||
static const unsigned int snap = 32; /* snap pixel */
|
||||
+static const unsigned int gappih = 10; /* horiz inner gap between windows */
|
||||
+static const unsigned int gappiv = 10; /* vert inner gap between windows */
|
||||
+static const unsigned int gappoh = 10; /* horiz outer gap between windows and screen edge */
|
||||
+static const unsigned int gappov = 10; /* vert outer gap between windows and screen edge */
|
||||
+static const int smartgaps = 0; /* 1 means no outer gap when there is only one window */
|
||||
static const int showbar = 1; /* 0 means no bar */
|
||||
static const int topbar = 1; /* 0 means bottom bar */
|
||||
static const char *fonts[] = { "monospace:size=10" };
|
||||
@@ -70,6 +75,22 @@ static Key keys[] = {
|
||||
{ MODKEY, XK_d, incnmaster, {.i = -1 } },
|
||||
{ MODKEY, XK_h, setmfact, {.f = -0.05} },
|
||||
{ MODKEY, XK_l, setmfact, {.f = +0.05} },
|
||||
+ { MODKEY|Mod4Mask, XK_h, incrgaps, {.i = +1 } },
|
||||
+ { MODKEY|Mod4Mask, XK_l, incrgaps, {.i = -1 } },
|
||||
+ { MODKEY|Mod4Mask|ShiftMask, XK_h, incrogaps, {.i = +1 } },
|
||||
+ { MODKEY|Mod4Mask|ShiftMask, XK_l, incrogaps, {.i = -1 } },
|
||||
+ { MODKEY|Mod4Mask|ControlMask, XK_h, incrigaps, {.i = +1 } },
|
||||
+ { MODKEY|Mod4Mask|ControlMask, XK_l, incrigaps, {.i = -1 } },
|
||||
+ { MODKEY|Mod4Mask, XK_0, togglegaps, {0} },
|
||||
+ { MODKEY|Mod4Mask|ShiftMask, XK_0, defaultgaps, {0} },
|
||||
+ { MODKEY, XK_y, incrihgaps, {.i = +1 } },
|
||||
+ { MODKEY, XK_o, incrihgaps, {.i = -1 } },
|
||||
+ { MODKEY|ControlMask, XK_y, incrivgaps, {.i = +1 } },
|
||||
+ { MODKEY|ControlMask, XK_o, incrivgaps, {.i = -1 } },
|
||||
+ { MODKEY|Mod4Mask, XK_y, incrohgaps, {.i = +1 } },
|
||||
+ { MODKEY|Mod4Mask, XK_o, incrohgaps, {.i = -1 } },
|
||||
+ { MODKEY|ShiftMask, XK_y, incrovgaps, {.i = +1 } },
|
||||
+ { MODKEY|ShiftMask, XK_o, incrovgaps, {.i = -1 } },
|
||||
{ MODKEY, XK_Return, zoom, {0} },
|
||||
{ MODKEY, XK_Tab, view, {0} },
|
||||
{ MODKEY|ShiftMask, XK_c, killclient, {0} },
|
||||
diff --git a/dwm.c b/dwm.c
|
||||
index 4465af1..88f3e04 100644
|
||||
--- a/dwm.c
|
||||
+++ b/dwm.c
|
||||
@@ -119,6 +119,10 @@ struct Monitor {
|
||||
int by; /* bar geometry */
|
||||
int mx, my, mw, mh; /* screen size */
|
||||
int wx, wy, ww, wh; /* window area */
|
||||
+ int gappih; /* horizontal gap between windows */
|
||||
+ int gappiv; /* vertical gap between windows */
|
||||
+ int gappoh; /* horizontal outer gaps */
|
||||
+ int gappov; /* vertical outer gaps */
|
||||
unsigned int seltags;
|
||||
unsigned int sellt;
|
||||
unsigned int tagset[2];
|
||||
@@ -199,6 +203,16 @@ static void sendmon(Client *c, Monitor *m);
|
||||
static void setclientstate(Client *c, long state);
|
||||
static void setfocus(Client *c);
|
||||
static void setfullscreen(Client *c, int fullscreen);
|
||||
+static void setgaps(int oh, int ov, int ih, int iv);
|
||||
+static void incrgaps(const Arg *arg);
|
||||
+static void incrigaps(const Arg *arg);
|
||||
+static void incrogaps(const Arg *arg);
|
||||
+static void incrohgaps(const Arg *arg);
|
||||
+static void incrovgaps(const Arg *arg);
|
||||
+static void incrihgaps(const Arg *arg);
|
||||
+static void incrivgaps(const Arg *arg);
|
||||
+static void togglegaps(const Arg *arg);
|
||||
+static void defaultgaps(const Arg *arg);
|
||||
static void setlayout(const Arg *arg);
|
||||
static void setmfact(const Arg *arg);
|
||||
static void setup(void);
|
||||
@@ -240,6 +254,7 @@ static char stext[256];
|
||||
static int screen;
|
||||
static int sw, sh; /* X display screen geometry width, height */
|
||||
static int bh, blw = 0; /* bar geometry */
|
||||
+static int enablegaps = 1; /* enables gaps, used by togglegaps */
|
||||
static int lrpad; /* sum of left and right padding for text */
|
||||
static int (*xerrorxlib)(Display *, XErrorEvent *);
|
||||
static unsigned int numlockmask = 0;
|
||||
@@ -638,6 +653,10 @@ createmon(void)
|
||||
m->nmaster = nmaster;
|
||||
m->showbar = showbar;
|
||||
m->topbar = topbar;
|
||||
+ m->gappih = gappih;
|
||||
+ m->gappiv = gappiv;
|
||||
+ m->gappoh = gappoh;
|
||||
+ m->gappov = gappov;
|
||||
m->lt[0] = &layouts[0];
|
||||
m->lt[1] = &layouts[1 % LENGTH(layouts)];
|
||||
strncpy(m->ltsymbol, layouts[0].symbol, sizeof m->ltsymbol);
|
||||
@@ -1498,6 +1517,111 @@ setfullscreen(Client *c, int fullscreen)
|
||||
}
|
||||
|
||||
void
|
||||
+setgaps(int oh, int ov, int ih, int iv)
|
||||
+{
|
||||
+ if (oh < 0) oh = 0;
|
||||
+ if (ov < 0) ov = 0;
|
||||
+ if (ih < 0) ih = 0;
|
||||
+ if (iv < 0) iv = 0;
|
||||
+
|
||||
+ selmon->gappoh = oh;
|
||||
+ selmon->gappov = ov;
|
||||
+ selmon->gappih = ih;
|
||||
+ selmon->gappiv = iv;
|
||||
+ arrange(selmon);
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+togglegaps(const Arg *arg)
|
||||
+{
|
||||
+ enablegaps = !enablegaps;
|
||||
+ arrange(selmon);
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+defaultgaps(const Arg *arg)
|
||||
+{
|
||||
+ setgaps(gappoh, gappov, gappih, gappiv);
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+incrgaps(const Arg *arg)
|
||||
+{
|
||||
+ setgaps(
|
||||
+ selmon->gappoh + arg->i,
|
||||
+ selmon->gappov + arg->i,
|
||||
+ selmon->gappih + arg->i,
|
||||
+ selmon->gappiv + arg->i
|
||||
+ );
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+incrigaps(const Arg *arg)
|
||||
+{
|
||||
+ setgaps(
|
||||
+ selmon->gappoh,
|
||||
+ selmon->gappov,
|
||||
+ selmon->gappih + arg->i,
|
||||
+ selmon->gappiv + arg->i
|
||||
+ );
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+incrogaps(const Arg *arg)
|
||||
+{
|
||||
+ setgaps(
|
||||
+ selmon->gappoh + arg->i,
|
||||
+ selmon->gappov + arg->i,
|
||||
+ selmon->gappih,
|
||||
+ selmon->gappiv
|
||||
+ );
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+incrohgaps(const Arg *arg)
|
||||
+{
|
||||
+ setgaps(
|
||||
+ selmon->gappoh + arg->i,
|
||||
+ selmon->gappov,
|
||||
+ selmon->gappih,
|
||||
+ selmon->gappiv
|
||||
+ );
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+incrovgaps(const Arg *arg)
|
||||
+{
|
||||
+ setgaps(
|
||||
+ selmon->gappoh,
|
||||
+ selmon->gappov + arg->i,
|
||||
+ selmon->gappih,
|
||||
+ selmon->gappiv
|
||||
+ );
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+incrihgaps(const Arg *arg)
|
||||
+{
|
||||
+ setgaps(
|
||||
+ selmon->gappoh,
|
||||
+ selmon->gappov,
|
||||
+ selmon->gappih + arg->i,
|
||||
+ selmon->gappiv
|
||||
+ );
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+incrivgaps(const Arg *arg)
|
||||
+{
|
||||
+ setgaps(
|
||||
+ selmon->gappoh,
|
||||
+ selmon->gappov,
|
||||
+ selmon->gappih,
|
||||
+ selmon->gappiv + arg->i
|
||||
+ );
|
||||
+}
|
||||
+
|
||||
+void
|
||||
setlayout(const Arg *arg)
|
||||
{
|
||||
if (!arg || !arg->v || arg->v != selmon->lt[selmon->sellt])
|
||||
@@ -1673,26 +1797,32 @@ tagmon(const Arg *arg)
|
||||
void
|
||||
tile(Monitor *m)
|
||||
{
|
||||
- unsigned int i, n, h, mw, my, ty;
|
||||
+ unsigned int i, n, h, r, oe = enablegaps, ie = enablegaps, mw, my, ty;
|
||||
Client *c;
|
||||
|
||||
for (n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++);
|
||||
if (n == 0)
|
||||
return;
|
||||
|
||||
+ if (smartgaps == n) {
|
||||
+ oe = 0; // outer gaps disabled
|
||||
+ }
|
||||
+
|
||||
if (n > m->nmaster)
|
||||
- mw = m->nmaster ? m->ww * m->mfact : 0;
|
||||
+ mw = m->nmaster ? (m->ww + m->gappiv*ie) * m->mfact : 0;
|
||||
else
|
||||
- mw = m->ww;
|
||||
- for (i = my = ty = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++)
|
||||
+ mw = m->ww - 2*m->gappov*oe + m->gappiv*ie;
|
||||
+ for (i = 0, my = ty = m->gappoh*oe, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++)
|
||||
if (i < m->nmaster) {
|
||||
- h = (m->wh - my) / (MIN(n, m->nmaster) - i);
|
||||
- resize(c, m->wx, m->wy + my, mw - (2*c->bw), h - (2*c->bw), 0);
|
||||
- my += HEIGHT(c);
|
||||
+ r = MIN(n, m->nmaster) - i;
|
||||
+ h = (m->wh - my - m->gappoh*oe - m->gappih*ie * (r - 1)) / r;
|
||||
+ resize(c, m->wx + m->gappov*oe, m->wy + my, mw - (2*c->bw) - m->gappiv*ie, h - (2*c->bw), 0);
|
||||
+ my += HEIGHT(c) + m->gappih*ie;
|
||||
} else {
|
||||
- h = (m->wh - ty) / (n - i);
|
||||
- resize(c, m->wx + mw, m->wy + ty, m->ww - mw - (2*c->bw), h - (2*c->bw), 0);
|
||||
- ty += HEIGHT(c);
|
||||
+ r = n - i;
|
||||
+ h = (m->wh - ty - m->gappoh*oe - m->gappih*ie * (r - 1)) / r;
|
||||
+ resize(c, m->wx + mw + m->gappov*oe, m->wy + ty, m->ww - mw - (2*c->bw) - 2*m->gappov*oe, h - (2*c->bw), 0);
|
||||
+ ty += HEIGHT(c) + m->gappih*ie;
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.7.4
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
#!/bin/sh
|
||||
# Example /etc/portage/repo.postsync.d script. Make it executable (chmod +x) for
|
||||
# Portage to process it.
|
||||
#
|
||||
# With portage-2.2.16 and newer, all repo.postsync.d hooks will be called multiple
|
||||
# times after syncing each repository.
|
||||
#
|
||||
# Older versions of Portage support syncing only one repository.
|
||||
# In those versions, the postsync.d hooks will be called only once,
|
||||
# and they will not be passed any parameters.
|
||||
|
||||
# On a repo.postsync.d hook call, positional parameters contain
|
||||
# information about the just-synced repository.
|
||||
|
||||
# Your hook can control it's actions depending on any of the three
|
||||
# parameters passed in to it.
|
||||
#
|
||||
# They are as follows:
|
||||
#
|
||||
# The repository name.
|
||||
repository_name=${1}
|
||||
# The URI to which the repository was synced.
|
||||
sync_uri=${2}
|
||||
# The path to the repository.
|
||||
repository_path=${3}
|
||||
|
||||
# Portage assumes that a hook succeeded if it exits with 0 code. If no
|
||||
# explicit exit is done, the exit code is the exit code of last spawned
|
||||
# command. Since our script is a bit more complex, we want to control
|
||||
# the exit code explicitly.
|
||||
ret=0
|
||||
|
||||
if [ -n "${repository_name}" ]; then
|
||||
# Repository name was provided, so we're in a post-repository hook.
|
||||
echo "* In post-repository hook for ${repository_name}"
|
||||
echo "** synced from remote repository ${sync_uri}"
|
||||
echo "** synced into ${repository_path}"
|
||||
|
||||
# Gentoo comes with pregenerated cache but the other repositories
|
||||
# usually don't. Generate them to improve performance.
|
||||
if [ "${repository_name}" != "gentoo" ]; then
|
||||
if ! egencache --update --repo="${repository_name}" --jobs=4
|
||||
then
|
||||
echo "!!! egencache failed!"
|
||||
ret=1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Return explicit status.
|
||||
exit "${ret}"
|
|
@ -0,0 +1,10 @@
|
|||
#!/bin/sh
|
||||
|
||||
repository_name=$1
|
||||
repository_path=$3
|
||||
|
||||
if [ -n "${repository_name}" ]; then
|
||||
q ${PORTAGE_QUIET:+-q} --reinitialize="${repository_path}"
|
||||
fi
|
||||
|
||||
:
|
|
@ -0,0 +1,21 @@
|
|||
[DEFAULT]
|
||||
main-repo = gentoo
|
||||
|
||||
[gentoo]
|
||||
location = /usr/portage
|
||||
sync-type = rsync
|
||||
sync-uri = rsync://rsync.gentoo.org/gentoo-portage
|
||||
auto-sync = yes
|
||||
sync-rsync-verify-jobs = 1
|
||||
sync-rsync-verify-metamanifest = yes
|
||||
sync-rsync-verify-max-age = 24
|
||||
sync-openpgp-key-path = /usr/share/openpgp-keys/gentoo-release.asc
|
||||
sync-openpgp-key-refresh-retry-count = 40
|
||||
sync-openpgp-key-refresh-retry-overall-timeout = 1200
|
||||
sync-openpgp-key-refresh-retry-delay-exp-base = 2
|
||||
sync-openpgp-key-refresh-retry-delay-max = 60
|
||||
sync-openpgp-key-refresh-retry-delay-mult = 4
|
||||
|
||||
# for daily squashfs snapshots
|
||||
#sync-type = squashdelta
|
||||
#sync-uri = mirror://gentoo/../snapshots/squashfs
|
|
@ -0,0 +1,42 @@
|
|||
[tlp]
|
||||
priority = 50
|
||||
location = /var/lib/layman/tlp
|
||||
layman-type = git
|
||||
auto-sync = No
|
||||
|
||||
[go-overlay]
|
||||
priority = 50
|
||||
location = /var/lib/layman/go-overlay
|
||||
layman-type = git
|
||||
auto-sync = No
|
||||
|
||||
[sabayon-distro]
|
||||
priority = 50
|
||||
location = /var/lib/layman/sabayon-distro
|
||||
layman-type = git
|
||||
auto-sync = No
|
||||
|
||||
[wjn-overlay]
|
||||
priority = 50
|
||||
location = /var/lib/layman/wjn-overlay
|
||||
layman-type = git
|
||||
auto-sync = No
|
||||
|
||||
[eroen]
|
||||
priority = 50
|
||||
location = /var/lib/layman/eroen
|
||||
layman-type = git
|
||||
auto-sync = No
|
||||
|
||||
[palemoon]
|
||||
priority = 50
|
||||
location = /var/lib/layman/palemoon
|
||||
layman-type = git
|
||||
auto-sync = No
|
||||
|
||||
[raiagent]
|
||||
priority = 50
|
||||
location = /var/lib/layman/raiagent
|
||||
layman-type = git
|
||||
auto-sync = No
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,166 @@
|
|||
/* modifier 0 means no modifier */
|
||||
static int surfuseragent = 1; /* Append Surf version to default WebKit user agent */
|
||||
static char *fulluseragent = ""; /* Or override the whole user agent string */
|
||||
static char *scriptfile = "~/.surf/script.js";
|
||||
static char *styledir = "~/.surf/styles/";
|
||||
static char *cachedir = "~/.surf/cache/";
|
||||
static char *cookiefile = "~/.surf/cookies.txt";
|
||||
|
||||
/* Webkit default features */
|
||||
static Parameter defconfig[ParameterLast] = {
|
||||
SETB(AcceleratedCanvas, 1),
|
||||
SETB(CaretBrowsing, 0),
|
||||
SETV(CookiePolicies, "@Aa"),
|
||||
SETB(DiskCache, 1),
|
||||
SETB(DNSPrefetch, 0),
|
||||
SETI(FontSize, 12),
|
||||
SETB(FrameFlattening, 0),
|
||||
SETB(Geolocation, 0),
|
||||
SETB(HideBackground, 0),
|
||||
SETB(Inspector, 0),
|
||||
SETB(JavaScript, 1),
|
||||
SETB(KioskMode, 0),
|
||||
SETB(LoadImages, 1),
|
||||
SETB(MediaManualPlay, 0),
|
||||
SETB(Plugins, 1),
|
||||
SETV(PreferredLanguages, ((char *[]){ NULL })),
|
||||
SETB(RunInFullscreen, 0),
|
||||
SETB(ScrollBars, 1),
|
||||
SETB(ShowIndicators, 1),
|
||||
SETB(SiteQuirks, 1),
|
||||
SETB(SpellChecking, 0),
|
||||
SETV(SpellLanguages, ((char *[]){ "en_US", NULL })),
|
||||
SETB(StrictSSL, 0),
|
||||
SETB(Style, 1),
|
||||
SETF(ZoomLevel, 1.0),
|
||||
};
|
||||
|
||||
static UriParameters uriparams[] = {
|
||||
{ "(://|\\.)suckless\\.org(/|$)", {
|
||||
FSETB(JavaScript, 0),
|
||||
FSETB(Plugins, 0),
|
||||
}, },
|
||||
};
|
||||
|
||||
static WebKitFindOptions findopts = WEBKIT_FIND_OPTIONS_CASE_INSENSITIVE |
|
||||
WEBKIT_FIND_OPTIONS_WRAP_AROUND;
|
||||
|
||||
#define SETPROP(p, q) { \
|
||||
.v = (const char *[]){ "/bin/sh", "-c", \
|
||||
"prop=\"`xprop -id $2 $0 " \
|
||||
"| sed \"s/^$0(STRING) = \\(\\\\\"\\?\\)\\(.*\\)\\1$/\\2/\" " \
|
||||
"| xargs -0 printf %b | dmenu`\" &&" \
|
||||
"xprop -id $2 -f $1 8s -set $1 \"$prop\"", \
|
||||
p, q, winid, NULL \
|
||||
} \
|
||||
}
|
||||
|
||||
/* DOWNLOAD(URI, referer) */
|
||||
#define DOWNLOAD(d, r) { \
|
||||
.v = (const char *[]){ "/bin/sh", "-c", \
|
||||
"st -e /bin/sh -c \"curl -g -L -J -O --user-agent '$1'" \
|
||||
" --referer '$2' -b $3 -c $3 '$0';" \
|
||||
" sleep 5;\"", \
|
||||
d, useragent, r, cookiefile, NULL \
|
||||
} \
|
||||
}
|
||||
|
||||
/* PLUMB(URI) */
|
||||
/* This called when some URI which does not begin with "about:",
|
||||
* "http://" or "https://" should be opened.
|
||||
*/
|
||||
#define PLUMB(u) {\
|
||||
.v = (const char *[]){ "/bin/sh", "-c", \
|
||||
"xdg-open \"$0\"", u, NULL \
|
||||
} \
|
||||
}
|
||||
|
||||
/* VIDEOPLAY(URI) */
|
||||
#define VIDEOPLAY(u) {\
|
||||
.v = (const char *[]){ "/bin/sh", "-c", \
|
||||
"mpv --really-quiet \"$0\"", u, NULL \
|
||||
} \
|
||||
}
|
||||
|
||||
/* styles */
|
||||
/*
|
||||
* The iteration will stop at the first match, beginning at the beginning of
|
||||
* the list.
|
||||
*/
|
||||
static SiteStyle styles[] = {
|
||||
/* regexp file in $styledir */
|
||||
{ ".*", "default.css" },
|
||||
};
|
||||
|
||||
#define MODKEY GDK_CONTROL_MASK
|
||||
|
||||
/* hotkeys */
|
||||
/*
|
||||
* If you use anything else but MODKEY and GDK_SHIFT_MASK, don't forget to
|
||||
* edit the CLEANMASK() macro.
|
||||
*/
|
||||
static Key keys[] = {
|
||||
/* modifier keyval function arg */
|
||||
{ MODKEY, GDK_KEY_g, spawn, SETPROP("_SURF_URI", "_SURF_GO") },
|
||||
{ MODKEY, GDK_KEY_f, spawn, SETPROP("_SURF_FIND", "_SURF_FIND") },
|
||||
{ MODKEY, GDK_KEY_slash, spawn, SETPROP("_SURF_FIND", "_SURF_FIND") },
|
||||
|
||||
{ 0, GDK_KEY_Escape, stop, { 0 } },
|
||||
{ MODKEY, GDK_KEY_c, stop, { 0 } },
|
||||
|
||||
{ MODKEY|GDK_SHIFT_MASK, GDK_KEY_r, reload, { .b = 1 } },
|
||||
{ MODKEY, GDK_KEY_r, reload, { .b = 0 } },
|
||||
|
||||
{ MODKEY, GDK_KEY_l, navigate, { .i = +1 } },
|
||||
{ MODKEY, GDK_KEY_h, navigate, { .i = -1 } },
|
||||
|
||||
/* Currently we have to use scrolling steps that WebKit2GTK+ gives us
|
||||
* d: step down, u: step up, r: step right, l:step left
|
||||
* D: page down, U: page up */
|
||||
{ MODKEY, GDK_KEY_j, scroll, { .i = 'd' } },
|
||||
{ MODKEY, GDK_KEY_k, scroll, { .i = 'u' } },
|
||||
{ MODKEY, GDK_KEY_b, scroll, { .i = 'U' } },
|
||||
{ MODKEY, GDK_KEY_space, scroll, { .i = 'D' } },
|
||||
{ MODKEY, GDK_KEY_i, scroll, { .i = 'r' } },
|
||||
{ MODKEY, GDK_KEY_u, scroll, { .i = 'l' } },
|
||||
|
||||
|
||||
{ MODKEY|GDK_SHIFT_MASK, GDK_KEY_j, zoom, { .i = -1 } },
|
||||
{ MODKEY|GDK_SHIFT_MASK, GDK_KEY_k, zoom, { .i = +1 } },
|
||||
{ MODKEY|GDK_SHIFT_MASK, GDK_KEY_q, zoom, { .i = 0 } },
|
||||
{ MODKEY, GDK_KEY_minus, zoom, { .i = -1 } },
|
||||
{ MODKEY, GDK_KEY_plus, zoom, { .i = +1 } },
|
||||
|
||||
{ MODKEY, GDK_KEY_p, clipboard, { .b = 1 } },
|
||||
{ MODKEY, GDK_KEY_y, clipboard, { .b = 0 } },
|
||||
|
||||
{ MODKEY, GDK_KEY_n, find, { .i = +1 } },
|
||||
{ MODKEY|GDK_SHIFT_MASK, GDK_KEY_n, find, { .i = -1 } },
|
||||
|
||||
{ MODKEY|GDK_SHIFT_MASK, GDK_KEY_p, print, { 0 } },
|
||||
|
||||
{ MODKEY|GDK_SHIFT_MASK, GDK_KEY_a, togglecookiepolicy, { 0 } },
|
||||
{ 0, GDK_KEY_F11, togglefullscreen, { 0 } },
|
||||
{ MODKEY|GDK_SHIFT_MASK, GDK_KEY_o, toggleinspector, { 0 } },
|
||||
|
||||
{ MODKEY|GDK_SHIFT_MASK, GDK_KEY_c, toggle, { .i = CaretBrowsing } },
|
||||
{ MODKEY|GDK_SHIFT_MASK, GDK_KEY_f, toggle, { .i = FrameFlattening } },
|
||||
{ MODKEY|GDK_SHIFT_MASK, GDK_KEY_g, toggle, { .i = Geolocation } },
|
||||
{ MODKEY|GDK_SHIFT_MASK, GDK_KEY_s, toggle, { .i = JavaScript } },
|
||||
{ MODKEY|GDK_SHIFT_MASK, GDK_KEY_i, toggle, { .i = LoadImages } },
|
||||
{ MODKEY|GDK_SHIFT_MASK, GDK_KEY_v, toggle, { .i = Plugins } },
|
||||
{ MODKEY|GDK_SHIFT_MASK, GDK_KEY_b, toggle, { .i = ScrollBars } },
|
||||
{ MODKEY|GDK_SHIFT_MASK, GDK_KEY_m, toggle, { .i = Style } },
|
||||
};
|
||||
|
||||
/* button definitions */
|
||||
/* target can be OnDoc, OnLink, OnImg, OnMedia, OnEdit, OnBar, OnSel, OnAny */
|
||||
static Button buttons[] = {
|
||||
/* target event mask button function argument stop event */
|
||||
{ OnLink, 0, 2, clicknewwindow, { .b = 0 }, 1 },
|
||||
{ OnLink, MODKEY, 2, clicknewwindow, { .b = 1 }, 1 },
|
||||
{ OnLink, MODKEY, 1, clicknewwindow, { .b = 1 }, 1 },
|
||||
{ OnAny, 0, 8, clicknavigate, { .i = -1 }, 1 },
|
||||
{ OnAny, 0, 9, clicknavigate, { .i = +1 }, 1 },
|
||||
{ OnMedia, MODKEY, 1, clickexternplayer, { 0 }, 1 },
|
||||
};
|
|
@ -0,0 +1,23 @@
|
|||
/* See LICENSE file for copyright and license details. */
|
||||
/* Default settings; can be overriden by command line. */
|
||||
|
||||
static int topbar = 1; /* -b option; if 0, dmenu appears at bottom */
|
||||
/* -fn option overrides fonts[0]; default X11 font or font set */
|
||||
static const char *fonts[] = {
|
||||
"monospace:size=10"
|
||||
};
|
||||
static const char *prompt = NULL; /* -p option; prompt to the left of input field */
|
||||
static const char *colors[SchemeLast][2] = {
|
||||
/* fg bg */
|
||||
[SchemeNorm] = { "#bbbbbb", "#222222" },
|
||||
[SchemeSel] = { "#eeeeee", "#005577" },
|
||||
[SchemeOut] = { "#000000", "#00ffff" },
|
||||
};
|
||||
/* -l option; if nonzero, dmenu uses vertical list with given number of lines */
|
||||
static unsigned int lines = 0;
|
||||
|
||||
/*
|
||||
* Characters not considered part of a word while deleting words
|
||||
* for example: " /?\"&[]"
|
||||
*/
|
||||
static const char worddelimiters[] = " ";
|
|
@ -0,0 +1 @@
|
|||
dmenu-4.8
|
|
@ -0,0 +1,58 @@
|
|||
/* See LICENSE file for copyright and license details. */
|
||||
|
||||
/* appearance */
|
||||
static const char font[] = "-*-*-medium-*-*-*-14-*-*-*-*-*-*-*";
|
||||
static const char* normbgcolor = "#222222";
|
||||
static const char* normfgcolor = "#cccccc";
|
||||
static const char* selbgcolor = "#555555";
|
||||
static const char* selfgcolor = "#ffffff";
|
||||
static const char before[] = "<";
|
||||
static const char after[] = ">";
|
||||
static const int tabwidth = 200;
|
||||
static const Bool foreground = True;
|
||||
|
||||
/*
|
||||
* Where to place a new tab when it is opened. When npisrelative is True,
|
||||
* then the current position is changed + newposition. If npisrelative
|
||||
* is False, then newposition is an absolute position.
|
||||
*/
|
||||
static int newposition = 0;
|
||||
static Bool npisrelative = False;
|
||||
|
||||
#define SETPROP(p) { \
|
||||
.v = (char *[]){ "/bin/sh", "-c", \
|
||||
"prop=\"`xwininfo -children -id $1 | grep '^ 0x' | sed -e's@^ *\\(0x[0-9a-f]*\\) \"\\([^\"]*\\)\".*@\\1 \\2@' | xargs -0 printf %b | dmenu -l 10`\" &&" \
|
||||
"xprop -id $1 -f $0 8s -set $0 \"$prop\"", \
|
||||
p, winid, NULL \
|
||||
} \
|
||||
}
|
||||
|
||||
#define MODKEY ControlMask
|
||||
static Key keys[] = { \
|
||||
/* modifier key function argument */
|
||||
{ MODKEY|ShiftMask, XK_Return, focusonce, { 0 } },
|
||||
{ MODKEY|ShiftMask, XK_Return, spawn, { 0 } },
|
||||
{ MODKEY, XK_t, spawn, SETPROP("_TABBED_SELECT_TAB") },
|
||||
|
||||
{ MODKEY|ShiftMask, XK_l, rotate, { .i = +1 } },
|
||||
{ MODKEY|ShiftMask, XK_h, rotate, { .i = -1 } },
|
||||
{ MODKEY|ShiftMask, XK_j, movetab, { .i = -1 } },
|
||||
{ MODKEY|ShiftMask, XK_k, movetab, { .i = +1 } },
|
||||
{ MODKEY, XK_Tab, rotate, { .i = 0 } },
|
||||
|
||||
{ MODKEY, XK_1, move, { .i = 0 } },
|
||||
{ MODKEY, XK_2, move, { .i = 1 } },
|
||||
{ MODKEY, XK_3, move, { .i = 2 } },
|
||||
{ MODKEY, XK_4, move, { .i = 3 } },
|
||||
{ MODKEY, XK_5, move, { .i = 4 } },
|
||||
{ MODKEY, XK_6, move, { .i = 5 } },
|
||||
{ MODKEY, XK_7, move, { .i = 6 } },
|
||||
{ MODKEY, XK_8, move, { .i = 7 } },
|
||||
{ MODKEY, XK_9, move, { .i = 8 } },
|
||||
{ MODKEY, XK_0, move, { .i = 9 } },
|
||||
|
||||
{ MODKEY, XK_q, killclient, { 0 } },
|
||||
|
||||
{ 0, XK_F11, fullscreen, { 0 } },
|
||||
};
|
||||
|
|
@ -0,0 +1 @@
|
|||
/etc/portage/savedconfig/x11-terms/st-0.8.1
|
|
@ -0,0 +1,136 @@
|
|||
/* See LICENSE file for copyright and license details. */
|
||||
|
||||
/* appearance */
|
||||
static const char *fonts[] = {
|
||||
"monospace:size=10"
|
||||
};
|
||||
static const char dmenufont[] = "monospace:size=10";
|
||||
static const char normbordercolor[] = "#444444";
|
||||
static const char normbgcolor[] = "#222222";
|
||||
static const char normfgcolor[] = "#bbbbbb";
|
||||
static const char selbordercolor[] = "#005577";
|
||||
static const char selbgcolor[] = "#005577";
|
||||
static const char selfgcolor[] = "#eeeeee";
|
||||
static const unsigned int borderpx = 2; /* border pixel of windows */
|
||||
static const unsigned int snap = 32; /* snap pixel */
|
||||
static const unsigned int gappih = 10; /* horiz inner gap between windows */
|
||||
static const unsigned int gappiv = 10; /* vert inner gap between windows */
|
||||
static const unsigned int gappoh = 10; /* horiz outer gap between windows and screen edge */
|
||||
static const unsigned int gappov = 10; /* vert outer gap between windows and screen edge */
|
||||
static const int smartgaps = 1; /* 1 means no outer gap when there is only one window */
|
||||
static const int showbar = 1; /* 0 means no bar */
|
||||
static const int topbar = 1; /* 0 means bottom bar */
|
||||
|
||||
/* tagging */
|
||||
static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
|
||||
|
||||
static const Rule rules[] = {
|
||||
/* xprop(1):
|
||||
* WM_CLASS(STRING) = instance, class
|
||||
* WM_NAME(STRING) = title
|
||||
*/
|
||||
/* class instance title tags mask isfloating monitor */
|
||||
{ "Gimp", NULL, NULL, 0, 1, -1 },
|
||||
{ "Firefox", NULL, NULL, 1 << 8, 0, -1 },
|
||||
{ "TelegramDesktop", NULL, NULL, 1 << 6, 0, -1 },
|
||||
{ "Workrave", NULL, NULL, ~0, 1, -1 },
|
||||
};
|
||||
|
||||
/* layout(s) */
|
||||
static const float mfact = 0.55; /* factor of master area size [0.05..0.95] */
|
||||
static const int nmaster = 1; /* number of clients in master area */
|
||||
static const int resizehints = 1; /* 1 means respect size hints in tiled resizals */
|
||||
|
||||
static const Layout layouts[] = {
|
||||
/* symbol arrange function */
|
||||
{ "[]=", tile }, /* first entry is default */
|
||||
{ "><>", NULL }, /* no layout function means floating behavior */
|
||||
{ "[M]", monocle },
|
||||
};
|
||||
|
||||
/* key definitions */
|
||||
#define MODKEY Mod1Mask
|
||||
#define TAGKEYS(KEY,TAG) \
|
||||
{ MODKEY, KEY, view, {.ui = 1 << TAG} }, \
|
||||
{ MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \
|
||||
{ MODKEY|ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \
|
||||
{ MODKEY|ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} },
|
||||
|
||||
/* helper for spawning shell commands in the pre dwm-5.0 fashion */
|
||||
#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
|
||||
|
||||
/* commands */
|
||||
static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */
|
||||
static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", normbgcolor, "-nf", normfgcolor, "-sb", selbgcolor, "-sf", selfgcolor, NULL };
|
||||
static const char *termcmd[] = { "st", NULL };
|
||||
|
||||
static Key keys[] = {
|
||||
/* modifier key function argument */
|
||||
{ MODKEY, XK_p, spawn, {.v = dmenucmd } },
|
||||
{ MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } },
|
||||
{ MODKEY, XK_b, togglebar, {0} },
|
||||
{ MODKEY, XK_j, focusstack, {.i = +1 } },
|
||||
{ MODKEY, XK_k, focusstack, {.i = -1 } },
|
||||
{ MODKEY, XK_i, incnmaster, {.i = +1 } },
|
||||
{ MODKEY, XK_d, incnmaster, {.i = -1 } },
|
||||
{ MODKEY, XK_h, setmfact, {.f = -0.05} },
|
||||
{ MODKEY, XK_l, setmfact, {.f = +0.05} },
|
||||
{ MODKEY|Mod4Mask, XK_h, incrgaps, {.i = +1 } },
|
||||
{ MODKEY|Mod4Mask, XK_l, incrgaps, {.i = -1 } },
|
||||
{ MODKEY|Mod4Mask|ShiftMask, XK_h, incrogaps, {.i = +1 } },
|
||||
{ MODKEY|Mod4Mask|ShiftMask, XK_l, incrogaps, {.i = -1 } },
|
||||
{ MODKEY|Mod4Mask|ControlMask, XK_h, incrigaps, {.i = +1 } },
|
||||
{ MODKEY|Mod4Mask|ControlMask, XK_l, incrigaps, {.i = -1 } },
|
||||
{ MODKEY|Mod4Mask, XK_0, togglegaps, {0} },
|
||||
{ MODKEY|Mod4Mask|ShiftMask, XK_0, defaultgaps, {0} },
|
||||
{ MODKEY, XK_y, incrihgaps, {.i = +1 } },
|
||||
{ MODKEY, XK_o, incrihgaps, {.i = -1 } },
|
||||
{ MODKEY|ControlMask, XK_y, incrivgaps, {.i = +1 } },
|
||||
{ MODKEY|ControlMask, XK_o, incrivgaps, {.i = -1 } },
|
||||
{ MODKEY|Mod4Mask, XK_y, incrohgaps, {.i = +1 } },
|
||||
{ MODKEY|Mod4Mask, XK_o, incrohgaps, {.i = -1 } },
|
||||
{ MODKEY|ShiftMask, XK_y, incrovgaps, {.i = +1 } },
|
||||
{ MODKEY|ShiftMask, XK_o, incrovgaps, {.i = -1 } },
|
||||
{ MODKEY, XK_Return, zoom, {0} },
|
||||
{ MODKEY, XK_Tab, view, {0} },
|
||||
{ MODKEY|ShiftMask, XK_c, killclient, {0} },
|
||||
{ MODKEY, XK_t, setlayout, {.v = &layouts[0]} },
|
||||
{ MODKEY, XK_f, setlayout, {.v = &layouts[1]} },
|
||||
{ MODKEY, XK_m, setlayout, {.v = &layouts[2]} },
|
||||
{ MODKEY, XK_space, setlayout, {0} },
|
||||
{ MODKEY|ShiftMask, XK_space, togglefloating, {0} },
|
||||
{ MODKEY, XK_0, view, {.ui = ~0 } },
|
||||
{ MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } },
|
||||
{ MODKEY, XK_comma, focusmon, {.i = -1 } },
|
||||
{ MODKEY, XK_period, focusmon, {.i = +1 } },
|
||||
{ MODKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } },
|
||||
{ MODKEY|ShiftMask, XK_period, tagmon, {.i = +1 } },
|
||||
TAGKEYS( XK_1, 0)
|
||||
TAGKEYS( XK_2, 1)
|
||||
TAGKEYS( XK_3, 2)
|
||||
TAGKEYS( XK_4, 3)
|
||||
TAGKEYS( XK_5, 4)
|
||||
TAGKEYS( XK_6, 5)
|
||||
TAGKEYS( XK_7, 6)
|
||||
TAGKEYS( XK_8, 7)
|
||||
TAGKEYS( XK_9, 8)
|
||||
{ MODKEY|ShiftMask, XK_q, quit, {0} },
|
||||
};
|
||||
|
||||
/* button definitions */
|
||||
/* click can be ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */
|
||||
static Button buttons[] = {
|
||||
/* click event mask button function argument */
|
||||
{ ClkLtSymbol, 0, Button1, setlayout, {0} },
|
||||
{ ClkLtSymbol, 0, Button3, setlayout, {.v = &layouts[2]} },
|
||||
{ ClkWinTitle, 0, Button2, zoom, {0} },
|
||||
{ ClkStatusText, 0, Button2, spawn, {.v = termcmd } },
|
||||
{ ClkClientWin, MODKEY, Button1, movemouse, {0} },
|
||||
{ ClkClientWin, MODKEY, Button2, togglefloating, {0} },
|
||||
{ ClkClientWin, MODKEY, Button3, resizemouse, {0} },
|
||||
{ ClkTagBar, 0, Button1, view, {0} },
|
||||
{ ClkTagBar, 0, Button3, toggleview, {0} },
|
||||
{ ClkTagBar, MODKEY, Button1, tag, {0} },
|
||||
{ ClkTagBar, MODKEY, Button3, toggletag, {0} },
|
||||
};
|
||||
|
|
@ -0,0 +1 @@
|
|||
/etc/portage/savedconfig/x11-wm/dwm-6.1-r1
|
|
@ -0,0 +1,139 @@
|
|||
/* See LICENSE file for copyright and license details. */
|
||||
|
||||
/* appearance */
|
||||
static const unsigned int borderpx = 2; /* border pixel of windows */
|
||||
static const unsigned int snap = 32; /* snap pixel */
|
||||
static const unsigned int gappih = 6; /* horiz inner gap between windows */
|
||||
static const unsigned int gappiv = 6; /* vert inner gap between windows */
|
||||
static const unsigned int gappoh = 6; /* horiz outer gap between windows and screen edge */
|
||||
static const unsigned int gappov = 6; /* vert outer gap between windows and screen edge */
|
||||
static const int smartgaps = 1; /* 1 means no outer gap when there is only one window */
|
||||
static const int showbar = 1; /* 0 means no bar */
|
||||
static const int topbar = 1; /* 0 means bottom bar */
|
||||
static const char *fonts[] = { "monospace:size=10" };
|
||||
static const char dmenufont[] = "monospace:size=10";
|
||||
static const char col_gray1[] = "#222222";
|
||||
static const char col_gray2[] = "#444444";
|
||||
static const char col_gray3[] = "#bbbbbb";
|
||||
static const char col_gray4[] = "#eeeeee";
|
||||
static const char col_cyan[] = "#005577";
|
||||
static const char col_green[] = "#28ef36";
|
||||
static const char *colors[][3] = {
|
||||
/* fg bg border */
|
||||
[SchemeNorm] = { col_gray3, col_gray1, col_gray2 },
|
||||
[SchemeSel] = { col_gray4, col_cyan, col_cyan },
|
||||
};
|
||||
|
||||
/* tagging */
|
||||
static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
|
||||
|
||||
static const Rule rules[] = {
|
||||
/* xprop(1):
|
||||
* WM_CLASS(STRING) = instance, class
|
||||
* WM_NAME(STRING) = title
|
||||
*/
|
||||
/* class instance title tags mask isfloating monitor */
|
||||
{ "Gimp", NULL, NULL, 0, 1, -1 },
|
||||
{ "Firefox", NULL, NULL, 1 << 8, 0, -1 },
|
||||
{ "TelegramDesktop", NULL, NULL, 1 << 6, 0, -1 },
|
||||
{ "Workrave", NULL, NULL, ~0, 1, -1 },
|
||||
};
|
||||
|
||||
/* layout(s) */
|
||||
static const float mfact = 0.55; /* factor of master area size [0.05..0.95] */
|
||||
static const int nmaster = 1; /* number of clients in master area */
|
||||
static const int resizehints = 1; /* 1 means respect size hints in tiled resizals */
|
||||
|
||||
static const Layout layouts[] = {
|
||||
/* symbol arrange function */
|
||||
{ "[]=", tile }, /* first entry is default */
|
||||
{ "><>", NULL }, /* no layout function means floating behavior */
|
||||
{ "[M]", monocle },
|
||||
};
|
||||
|
||||
/* key definitions */
|
||||
#define MODKEY Mod1Mask
|
||||
#define TAGKEYS(KEY,TAG) \
|
||||
{ MODKEY, KEY, view, {.ui = 1 << TAG} }, \
|
||||
{ MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \
|
||||
{ MODKEY|ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \
|
||||
{ MODKEY|ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} },
|
||||
|
||||
/* helper for spawning shell commands in the pre dwm-5.0 fashion */
|
||||
#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
|
||||
|
||||
/* commands */
|
||||
static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */
|
||||
static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL };
|
||||
static const char *termcmd[] = { "st", NULL };
|
||||
|
||||
static Key keys[] = {
|
||||
/* modifier key function argument */
|
||||
{ MODKEY, XK_p, spawn, {.v = dmenucmd } },
|
||||
{ MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } },
|
||||
{ MODKEY, XK_b, togglebar, {0} },
|
||||
{ MODKEY, XK_j, focusstack, {.i = +1 } },
|
||||
{ MODKEY, XK_k, focusstack, {.i = -1 } },
|
||||
{ MODKEY, XK_i, incnmaster, {.i = +1 } },
|
||||
{ MODKEY, XK_d, incnmaster, {.i = -1 } },
|
||||
{ MODKEY, XK_h, setmfact, {.f = -0.05} },
|
||||
{ MODKEY, XK_l, setmfact, {.f = +0.05} },
|
||||
{ MODKEY|Mod4Mask, XK_h, incrgaps, {.i = +1 } },
|
||||
{ MODKEY|Mod4Mask, XK_l, incrgaps, {.i = -1 } },
|
||||
{ MODKEY|Mod4Mask|ShiftMask, XK_h, incrogaps, {.i = +1 } },
|
||||
{ MODKEY|Mod4Mask|ShiftMask, XK_l, incrogaps, {.i = -1 } },
|
||||
{ MODKEY|Mod4Mask|ControlMask, XK_h, incrigaps, {.i = +1 } },
|
||||
{ MODKEY|Mod4Mask|ControlMask, XK_l, incrigaps, {.i = -1 } },
|
||||
{ MODKEY|Mod4Mask, XK_0, togglegaps, {0} },
|
||||
{ MODKEY|Mod4Mask|ShiftMask, XK_0, defaultgaps, {0} },
|
||||
{ MODKEY, XK_y, incrihgaps, {.i = +1 } },
|
||||
{ MODKEY, XK_o, incrihgaps, {.i = -1 } },
|
||||
{ MODKEY|ControlMask, XK_y, incrivgaps, {.i = +1 } },
|
||||
{ MODKEY|ControlMask, XK_o, incrivgaps, {.i = -1 } },
|
||||
{ MODKEY|Mod4Mask, XK_y, incrohgaps, {.i = +1 } },
|
||||
{ MODKEY|Mod4Mask, XK_o, incrohgaps, {.i = -1 } },
|
||||
{ MODKEY|ShiftMask, XK_y, incrovgaps, {.i = +1 } },
|
||||
{ MODKEY|ShiftMask, XK_o, incrovgaps, {.i = -1 } },
|
||||
{ MODKEY, XK_Return, zoom, {0} },
|
||||
{ MODKEY, XK_Tab, view, {0} },
|
||||
{ MODKEY|ShiftMask, XK_c, killclient, {0} },
|
||||
{ MODKEY, XK_t, setlayout, {.v = &layouts[0]} },
|
||||
{ MODKEY, XK_f, setlayout, {.v = &layouts[1]} },
|
||||
{ MODKEY, XK_m, setlayout, {.v = &layouts[2]} },
|
||||
{ MODKEY, XK_space, setlayout, {0} },
|
||||
{ MODKEY|ShiftMask, XK_space, togglefloating, {0} },
|
||||
{ MODKEY, XK_0, view, {.ui = ~0 } },
|
||||
{ MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } },
|
||||
{ MODKEY, XK_comma, focusmon, {.i = -1 } },
|
||||
{ MODKEY, XK_period, focusmon, {.i = +1 } },
|
||||
{ MODKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } },
|
||||
{ MODKEY|ShiftMask, XK_period, tagmon, {.i = +1 } },
|
||||
TAGKEYS( XK_1, 0)
|
||||
TAGKEYS( XK_2, 1)
|
||||
TAGKEYS( XK_3, 2)
|
||||
TAGKEYS( XK_4, 3)
|
||||
TAGKEYS( XK_5, 4)
|
||||
TAGKEYS( XK_6, 5)
|
||||
TAGKEYS( XK_7, 6)
|
||||
TAGKEYS( XK_8, 7)
|
||||
TAGKEYS( XK_9, 8)
|
||||
{ MODKEY|ShiftMask, XK_q, quit, {0} },
|
||||
};
|
||||
|
||||
/* button definitions */
|
||||
/* click can be ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */
|
||||
static Button buttons[] = {
|
||||
/* click event mask button function argument */
|
||||
{ ClkLtSymbol, 0, Button1, setlayout, {0} },
|
||||
{ ClkLtSymbol, 0, Button3, setlayout, {.v = &layouts[2]} },
|
||||
{ ClkWinTitle, 0, Button2, zoom, {0} },
|
||||
{ ClkStatusText, 0, Button2, spawn, {.v = termcmd } },
|
||||
{ ClkClientWin, MODKEY, Button1, movemouse, {0} },
|
||||
{ ClkClientWin, MODKEY, Button2, togglefloating, {0} },
|
||||
{ ClkClientWin, MODKEY, Button3, resizemouse, {0} },
|
||||
{ ClkTagBar, 0, Button1, view, {0} },
|
||||
{ ClkTagBar, 0, Button3, toggleview, {0} },
|
||||
{ ClkTagBar, MODKEY, Button1, tag, {0} },
|
||||
{ ClkTagBar, MODKEY, Button3, toggletag, {0} },
|
||||
};
|
||||
|
|
@ -0,0 +1 @@
|
|||
/etc/portage/savedconfig/x11-wm/dwm-6.2
|
|
@ -3,7 +3,9 @@
|
|||
# Not working if there is no navigation bar
|
||||
xdotool key ctrl+l
|
||||
xdotool key ctrl+c
|
||||
# xdotool type yy
|
||||
|
||||
# link="$(xclip -o -selection clipboard | sed -E 's|([^&]*)(&)(.*)|\1|')"
|
||||
link="$(xclip -o | sed -E 's|([^&]*)(&)(.*)|\1|')"
|
||||
|
||||
dash $SCRIPTS/tube.sh "$link"
|
||||
|
|
Loading…
Reference in New Issue