X11 Configuration Files

Table of Contents

About

Xprofile

.xprofile

 1: # ~/.xprofile
 2: # user X session startup file.
 3: # <alexforsale@yahoo.com>
 4: 
 5: if [ -d "${HOME}/.config/xprofile.d" ]; then
 6:     for xfiles in "${HOME}"/.config/xprofile.d/*.sh; do
 7:         # shellcheck disable=1090
 8:         . "${xfiles}"
 9:     done
10:     unset xfiles
11: fi
12: 
13: # shellcheck disable=1091
14: [ -f "${XDG_CONFIG_HOME}"/xprofile.local ] && . "${XDG_CONFIG_HOME}"/xprofile.local
15: # shellcheck disable=1091
16: [ -f "${HOME}"/.xprofile.local ] && . "${HOME}"/.xprofile.local
  • Modules
    • 00-security.sh
       1: # various ui-related security settings
       2: # <alexforsale@yahoo.com>
       3: 
       4: if [ "$(command -v gnome-keyring-daemon)" ] &&
       5:        [ ! $(pgrep -u ${USER} -x gnome-keyring-d) ];then
       6:     eval "$(gnome-keyring-daemon --start --components=pkcs11,secrets,ssh)" >/dev/null 2>&1
       7:     export SSH_AUTH_SOCK GNOME_KEYRING_CONTROL
       8: fi
       9: case "${DISTRO}" in
      10:     gentoo)
      11:         [ -f /usr/bin/x11-ssh-askpass ] &&
      12:             export SSH_ASKPASS=/usr/bin/x11-ssh-askpass &&
      13:             export SUDO_ASKPASS=/usr/bin/x11-ssh-askpass
      14: 
      15:         # polkit
      16:         if [ ! "$(pgrep -u ${USER} -x polkit-gnome-au)" ];then
      17:             sleep 1 && /usr/libexec/polkit-gnome-authentication-agent-1 &
      18:         fi
      19:         ;;
      20:     arch)
      21:         if [ -f /usr/lib/ssh/x11-ssh-askpass ];then
      22:             [ ! -L ~/.local/bin/ssh-askpass ] &&
      23:                 ln -sf /usr/lib/ssh/x11-ssh-askpass ~/.local/bin/ssh-askpass
      24:             export SSH_ASKPASS=ssh-askpass
      25:             export SUDO_ASKPASS="${HOME}"/.local/bin/ssh-askpass
      26:         fi
      27:         # polkit
      28:         if [ ! "$(pgrep -u ${USER} -x polkit-gnome-authentication-agent-1)" ];then
      29:             sleep 1 && /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
      30:         fi
      31: 
      32:         # keyring
      33:         [ "$(command -v dbus-update-activation-environment)" ] &&
      34:             dbus-update-activation-environment --systemd DISPLAY
      35:         ;;
      36:     freebsd)
      37:         [ -f /usr/local/bin/x11-ssh-askpass  ] &&
      38:             export SSH_ASKPASS=/usr/local/bin/x11-ssh-askpass &&
      39:             export SUDO_ASKPASS=/usr/local/bin/x11-ssh-askpass
      40: 
      41:         # polkit
      42:         if [ ! "$(pgrep -u ${USER} -x polkit-gnome-authentication-agent-1)" ];then
      43:             sleep 1 && /usr/local/libexec/polkit-gnome-authentication-agent-1 &
      44:         fi
      45:         # keyring
      46:         [ "$(command -v dbus-update-activation-environment)" ] &&
      47:             dbus-update-activation-environment DISPLAY
      48:         ;;
      49: esac
      
    • 01-gtk-path.sh
       1: # ~/.config/xprofile.d/01-gtk-path.sh
       2: # set new location for GTK and GTK2
       3: # https://wiki.archlinux.org/title/XDG_Base_Directory
       4: # <alexforsale@yahoo.com>
       5: 
       6: export GTK_RC_FILES="${XDG_CONFIG_HOME}"/gtk-1.0/gtkrc
       7: [ -d "${GTK_RC_FILES%%/gtkrc}" ] && mkdir -p "${GTK_RC_FILES%%/gtkrc}"
       8: export GTK2_RC_FILES="${XDG_CONFIG_HOME}"/gtk-2.0/gtkrc
       9: [ -d "${GTK2_RC_FILES%%/gtkrc}" ] && mkdir -p "${GTK2_RC_FILES%%/gtkrc}"
      10: 
      11: [ -z "${GTK_THEME}" ] && export GTK_THEME=Breeze-Dark
      
    • 02-notification.sh
       1: # ~/.config/xprofile.d/02-notification.sh
       2: # notification settings
       3: # <alexforsale@yahoo.com>
       4: 
       5: # dunst
       6: if [ "$(command -v dunst)" ];then
       7:     case "${DISTRO}" in
       8:         arch)
       9:             if [ ! $(pgrep -u ${USER} dunst) ] &&
      10:                    [ -e ${XDG_CONFIG_HOME}/dunst/dunstrc ]; then
      11:                 dbus-launch --sh-syntax --exit-with-session dunst -conf ${XDG_CONFIG_HOME}/dunst/dunstrc &
      12:             fi
      13:             ;;
      14:     esac
      15: fi
      
    • 03-sxhkd.sh
       1: # ~/.config/xprofile.d/03-sxhkd.sh
       2: # sxhkd settings
       3: # <alexforsale@yahoo.com>
       4: 
       5: if [ -z "${_NO_SXHKD}" ] && [ ! $(pgrep -u ${USER} -x sxhkd) ] &&
       6:        [ $(command -v sxhkd) ]; then
       7:     if [ -e "${XDG_CONFIG_HOME}"/sxhkd/sxhkdrc.local ];then # per-user configuration
       8:         sxhkd -c "${XDG_CONFIG_HOME}"/sxhkd/sxhkdrc.local &
       9:     elif [ -e "${XDG_CONFIG_HOME}"/sxhkd/sxhkdrc-"${DISTRO}" ];then # per-distro configuration, i.e. sxhkdrc-arch
      10:         sxhkd -c "${XDG_CONFIG_HOME}"/sxhkd/sxhkdrc-"${DISTRO}" &
      11:     else
      12:         sxhkd -c "${XDG_CONFIG_HOME}"/sxhkd/sxhkdrc &
      13:     fi
      14: fi
      
    • 04-bluetooth.sh
      1: # ~/.config/xprofile.d/04-bluetooth.sh
      2: # bluetooth configuration
      3: 
      4: # blueman-tray
      5: if [ "$(command -v blueman-tray)" ] &&
      6:        [ ! $(pgrep -u ${USER} -x blueman-tray) ] &&
      7:        [ -z "${_NO_BLUEMAN_TRAY}" ]; then
      8:     blueman-tray &
      9: fi
      
    • 05-network.sh
      1: # ~/.config/xprofile.d/05-network.sh
      2: # various networking app
      
    • 06-ui.sh
       1: # ~/.config/xprofile.d/06-ui.sh
       2: # various ui settings
       3: # monitor
       4: _count=0
       5: for i in $(xrandr | grep " connected"| awk '{print $1}');do
       6:     _count=$((_count+1))
       7:     export MONITOR${_count}=${i}
       8: done
       9: unset _count
      10: 
      11: if [[ -z "${XCURSOR_THEME}" ]]; then
      12:     export XCURSOR_THEME="Bibata-Modern-Classic"
      13: fi
      14: 
      15: if [[ -z "${XCURSOR_SIZE}" ]]; then
      16:     export XCURSOR_SIZE=24
      17: fi
      18: 
      19: if [[ -z "${XCURSOR_PATH}" ]]; then
      20:     export XCURSOR_PATH=${XCURSOR_PATH}:/usr/share/icons:~/.local/share/icons
      21: fi
      22: 
      23: if [[ -x "${HOME}/.fehbg" ]]; then
      24:     "${HOME}/.fehbg"
      25: fi
      
    • 07-filemanager.sh
       1: # ~/.config/xprofile.d/07-filemanager.sh
       2: # file manager configuration
       3: 
       4: [ "$(command -v udiskie)" ] &&
       5:     udiskie &
       6: 
       7: [ "${_WM}" = "i3" ] &&
       8:     export _NO_PCMANFM=1
       9: 
      10: # pcmanfm
      11: if [ $(command -v pcmanfm) ] &&
      12:        [ -z ${_NO_PCMANFM} ]; then
      13:     pcmanfm --desktop -d &
      14: fi
      
    • 08-multimedia.sh
      1: # ~/.config/xprofile.d/08-multimedia.sh
      2: # various multimedia app
      3: 
      4: # mpd
      5: if [ $(command -v mpd) ] && [ ! $(pgrep -u ${USER} mpd) ];then
      6:     [ ! -e "${XDG_CONFIG_HOME}"/mpd/pid ] && mpd "${mpd_conf_file}" &
      7: fi
      
    • 09-x0vnc.sh
      # ~/.config/xprofile.d/09-x0vnc.sh
      # x0vnc
      
      case "${HOSTNAME}" in
          "tanzania")
              x0vncserver -rfbauth ~/.vnc/passwd -UseIPv6 -rfbport 5912 &
              ;;
      esac
      
    • 99-ddgr.sh
      # ~/.config/xprofile.d/99-ddgr.sh
      # duckduckgo rofi
      if [ $(command -v ddgr) ] && [ $(command -v rofi-search) ]; then
          export ROFI_SEARCH=ddgr
      fi
      

Xinit

.xinitrc

 1: # ~/.xinitrc
 2: # Configuration script for manual X session.
 3: # <alexforsale@yahoo.com>
 4: userresources=${HOME}/.Xresources
 5: usermodmap=${HOME}/.Xmodmap
 6: OS=$(uname -s)
 7: 
 8: case "${OS}" in
 9:     "Linux")
10:         if [ "${DISTRO}" = "ubuntu" ]; then
11:             sysresources=/etc/X11/xinit/Xresources
12:             sysmodmap=/etc/X11/xinit/Xmodmap
13:         else
14:             sysresources=/etc/X11/xinit/.Xresources
15:             sysmodmap=/etc/X11/xinit/.Xmodmap
16:         fi
17:         ;;
18:     "FreeBSD")
19:         sysresources=/usr/local/etc/X11/xinit/.Xresources
20:         sysmodmap=/usr/local/etc/X11/xinit/.Xmodmap
21:         ;;
22: esac
23: [ -f "${sysresources}" ] &&
24:     xrdb -merge "${sysresources}"
25: 
26: [ -f "${sysmodmap}" ] &&
27:     xmodmap "${sysmodmap}"
28: 
29: [ -f "${userresources}" ] &&
30:     xrdb -merge "${userresources}"
31: 
32: [ -f "${usermodmap}" ] &&
33:     xmodmap "${usermodmap}"
34: # shellcheck disable=1090
35: if [ -d /etc/X11/xinit/xinitrc.d ] ; then
36:     for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
37:         [ -x "${f}" ] && . "${f}"
38:     done
39:     unset f
40: fi
41: [ -f /etc/xprofile ] && . /etc/xprofile
42: [ -f "${HOME}"/.xprofile ] && . "${HOME}"/.xprofile
43: [ -z ${DESKTOP_SESSION} ] && export DESKTOP_SESSION=${1:-exwm}
44: # for archlinux
45: [ -d /usr/share/backgrounds/archlinux/ ] &&
46:     feh -zr --bg-fill /usr/share/backgrounds/archlinux/
47: # FreeBSD
48: [ -d /usr/local/share/wallpapers/freebsd-8k-wallpapers/ ] &&
49:     feh -zr --bg-fill /usr/local/share/wallpapers/freebsd-8k-wallpapers/
50: for chemacs_profile in ~/.emacs-profile ~/.config/chemacs/profile; do
51:     if [ -e ${chemacs_profile} ]; then
52:         export CHEMACS_PROFILE=`cat ${chemacs_profile}`
53:     fi
54: done
55: 
56: if [ -n "${CHEMACS_PROFILE}" ]; then
57:     _emacs_args="-s ${CHEMACS_PROFILE}"
58: fi
59: case $DESKTOP_SESSION in
60:     "exwm")
61:         exec emacs --debug-init -l ~/.exwm
62:         ;;
63:     "qtile")
64:         exec qtile start
65:         ;;
66:     "stumpwm")
67:         if [ $(command -v ros) ]; then
68:             exec ros run -- --load /usr/local/bin/startstumpwm
69:         elif [ $(command -v sbcl) ]; then
70:             exec sbcl --load /usr/local/bin/startstumpwm
71:         fi
72:         ;;
73: esac

Xresources

.Xresouces

 1: #include ".config/Xresources.d/xterm"
 2: #include ".config/Xresources.d/URxvt"
 3: #include ".config/Xresources.d/x11-ssh-askpass"
 4: #include ".config/Xresources.d/xcalc"
 5: #include ".config/Xresources.d/xclock"
 6: #include ".config/Xresources.d/xscreensaver"
 7: #include ".config/Xresources.d/colors"
 8: 
 9: ! cursor theme
10: Xcursor.theme: Bibata-Modern-Classic
11: Xcursor.size: 24
12: Xft.autohint: 0
13: Xft.lcdfilter: lcddefault
14: Xft.hintstyle: hintslight
15: Xft.hinting: 1
16: Xft.antialias: 1
17: Xft.rgba: rgb
18: Xft.dpi: 96

Modules

xterm

 1: xterm*termName: xterm-256color
 2: xterm.vt100.geometry: 80x24
 3: xterm*saveLines: 4096
 4: xterm*scrollBar: False
 5: xterm*.LoginShell: True
 6: xterm*rightScrollBar: False
 7: xterm*scrollTtyOutput: False
 8: xterm.selectToClipboard: true
 9: xterm.*backarrowKey: false
10: xterm*translations: #override \
11: Ctrl Shift <KeyPress> C: copy-selection(CLIPBOARD) \n\
12: Ctrl Shift <KeyPress> V: insert-selection(CLIPBOARD) \n\
13: Ctrl <Btn1Up>: exec-formatted("xdg-open '%t'", PRIMARY) \n\
14: ~Meta Shift<Key>Tab: string(\033[Z) \n\
15: Meta Shift<Key>Tab: string(\033\033[Z) \n\
16: Ctrl <Key> minus: smaller-vt-font() \n\
17: Ctrl <Key> plus: larger-vt-font() \n\
18: Ctrl <Key> 0: set-vt-font(d)
19: xterm*eightBitInput: false
20: xterm*metaSendsEscape: true
21: xterm*charClass: 33:48,37-38:48,45-47:48,64:48,58:48,126:48,61:48,63:48,43:48,35:48
22: xterm*renderFont: true
23: xterm*faceName: OverpassM Nerd Font Mono
24: xterm*faceSize: 12

URxvt

 1: xterm*termName: xterm-256color
 2: xterm.vt100.geometry: 80x24
 3: xterm*saveLines: 4096
 4: xterm*scrollBar: False
 5: xterm*.LoginShell: True
 6: xterm*rightScrollBar: False
 7: xterm*scrollTtyOutput: False
 8: xterm.selectToClipboard: true
 9: xterm.*backarrowKey: false
10: xterm*translations: #override \
11: Ctrl Shift <KeyPress> C: copy-selection(CLIPBOARD) \n\
12: Ctrl Shift <KeyPress> V: insert-selection(CLIPBOARD) \n\
13: Ctrl <Btn1Up>: exec-formatted("xdg-open '%t'", PRIMARY) \n\
14: ~Meta Shift<Key>Tab: string(\033[Z) \n\
15: Meta Shift<Key>Tab: string(\033\033[Z) \n\
16: Ctrl <Key> minus: smaller-vt-font() \n\
17: Ctrl <Key> plus: larger-vt-font() \n\
18: Ctrl <Key> 0: set-vt-font(d)
19: xterm*eightBitInput: false
20: xterm*metaSendsEscape: true
21: xterm*charClass: 33:48,37-38:48,45-47:48,64:48,58:48,126:48,61:48,63:48,43:48,35:48
22: xterm*renderFont: true
23: xterm*faceName: OverpassM Nerd Font Mono
24: xterm*faceSize: 12

x11-ssh-askpass

1: ! -*- eval (rainbow-mode 1) -*-
2: x11-ssh-askpass*background:             #000000
3: x11-ssh-askpass*foreground:             #ffffff
4: x11-ssh-askpass.Button*background:      #000000
5: x11-ssh-askpass.Indicator*foreground:   #ff9900
6: x11-ssh-askpass.Indicator*background:   #090909
7: x11-ssh-askpass*topShadowColor:         #000000
8: x11-ssh-askpass*bottomShadowColor:      #000000
9: x11-ssh-askpass.*borderWidth:           1

xcalc

 1: ! -*- eval (rainbow-mode 1) -*-
 2: xcalc*geometry:                        200x275
 3: xcalc.ti.bevel.background:             #111111
 4: xcalc.ti.bevel.screen.background:      #000000
 5: xcalc.ti.bevel.screen.DEG.background:  #000000
 6: xcalc.ti.bevel.screen.DEG.foreground:  LightSeaGreen
 7: xcalc.ti.bevel.screen.GRAD.background: #000000
 8: xcalc.ti.bevel.screen.GRAD.foreground: LightSeaGreen
 9: xcalc.ti.bevel.screen.RAD.background:  #000000
10: xcalc.ti.bevel.screen.RAD.foreground:  LightSeaGreen
11: xcalc.ti.bevel.screen.INV.background:  #000000
12: xcalc.ti.bevel.screen.INV.foreground:  Red
13: xcalc.ti.bevel.screen.LCD.background:  #000000
14: xcalc.ti.bevel.screen.LCD.foreground:  LightSeaGreen
15: xcalc.ti.bevel.screen.LCD.shadowWidth: 0
16: xcalc.ti.bevel.screen.M.background:    #000000
17: xcalc.ti.bevel.screen.M.foreground:    LightSeaGreen
18: xcalc.ti.bevel.screen.P.background:    #000000
19: xcalc.ti.bevel.screen.P.foreground:    Yellow
20: xcalc.ti.Command.foreground:  White
21: xcalc.ti.Command.background:  #777777
22: xcalc.ti.button5.background:  Orange3
23: xcalc.ti.button19.background: #611161
24: xcalc.ti.button18.background: #611161
25: xcalc.ti.button20.background: #611111
26: xcalc.ti.button25.background: #722222
27: xcalc.ti.button30.background: #833333
28: xcalc.ti.button35.background: #944444
29: xcalc.ti.button40.background: #a55555
30: xcalc.ti.button22.background: #222262
31: xcalc.ti.button23.background: #222262
32: xcalc.ti.button24.background: #222272
33: xcalc.ti.button27.background: #333373
34: xcalc.ti.button28.background: #333373
35: xcalc.ti.button29.background: #333373
36: xcalc.ti.button32.background: #444484
37: xcalc.ti.button33.background: #444484
38: xcalc.ti.button34.background: #444484
39: xcalc.ti.button37.background: #555595
40: xcalc.ti.button38.background: #555595
41: xcalc.ti.button39.background: #555595
42: XCalc*Cursor:                 hand2
43: XCalc*ShapeStyle:             rectangle

xclock

1: xclock*update:            1
2: xclock*analog:            false
3: xclock*Foreground:        white
4: xclock*background:        black

xscreensaver

 1: xscreensaver.Dialog.headingFont:        -*-dina-bold-r-*-*-12-*-*-*-*-*-*-*
 2: xscreensaver.Dialog.bodyFont:           -*-dina-medium-r-*-*-12-*-*-*-*-*-*-*
 3: xscreensaver.Dialog.labelFont:          -*-dina-medium-r-*-*-12-*-*-*-*-*-*-*
 4: xscreensaver.Dialog.unameFont:          -*-dina-medium-r-*-*-12-*-*-*-*-*-*-*
 5: xscreensaver.Dialog.buttonFont:         -*-dina-bold-r-*-*-12-*-*-*-*-*-*-*
 6: xscreensaver.Dialog.dateFont:           -*-dina-medium-r-*-*-12-*-*-*-*-*-*-*
 7: xscreensaver.passwd.passwdFont:         -*-dina-bold-r-*-*-12-*-*-*-*-*-*-*
 8: xscreensaver.Dialog.foreground:         #ffffff
 9: xscreensaver.Dialog.background:         #111111
10: xscreensaver.Dialog.topShadowColor:     #111111
11: xscreensaver.Dialog.bottomShadowColor:  #111111
12: xscreensaver.Dialog.Button.foreground:  #666666
13: xscreensaver.Dialog.Button.background:  #ffffff
14: !username/password input box and date text colour
15: xscreensaver.Dialog.text.foreground:    #666666
16: xscreensaver.Dialog.text.background:    #ffffff
17: xscreensaver.Dialog.internalBorderWidth:24
18: xscreensaver.Dialog.borderWidth:        20
19: xscreensaver.Dialog.shadowThickness:    2
20: xscreensaver.passwd.thermometer.foreground:  #ff0000
21: xscreensaver.passwd.thermometer.background:  #000000
22: xscreensaver.passwd.thermometer.width:       8
23: xscreensaver.dateFormat:    %I:%M%P %a %b %d, %Y

colors

 1: ! -*- eval (rainbow-mode 1) -*-
 2: ! X colors.
 3: ! Generated by 'wal'
 4: *foreground:        #fdf6e3
 5: *background:        #292d3e
 6: *.foreground:       #fdf6e3
 7: *.background:       #292d3e
 8: emacs*foreground:   #fdf6e3
 9: emacs*background:   #073642
10: URxvt*foreground:   #fdf6e3
11: XTerm*foreground:   #fdf6e3
12: UXTerm*foreground:  #fdf6e3
13: URxvt*background:   [100]#073642
14: XTerm*background:   #073642
15: UXTerm*background:  #073642
16: URxvt*cursorColor:  #dc322f
17: XTerm*cursorColor:  #dc322f
18: UXTerm*cursorColor: #dc322f
19: URxvt*borderColor:  [100]#073642
20: 
21: ! Colors 0-15.
22: *.color0: #073642
23: *color0:  #073642
24: *.color1: #dc322f
25: *color1:  #dc322f
26: *.color2: #859900
27: *color2:  #859900
28: *.color3: #b58900
29: *color3:  #b58900
30: *.color4: #268bd2
31: *color4:  #268bd2
32: *.color5: #d33682
33: *color5:  #d33682
34: *.color6: #2aa198
35: *color6:  #2aa198
36: *.color7: #eee8d5
37: *color7:  #eee8d5
38: *.color8: #6c7c80
39: *color8:  #6c7c80
40: *.color9: #dc322f
41: *color9:  #dc322f
42: *.color10: #859900
43: *color10:  #859900
44: *.color11: #b58900
45: *color11:  #b58900
46: *.color12: #268bd2
47: *color12:  #268bd2
48: *.color13: #d33682
49: *color13:  #d33682
50: *.color14: #2aa198
51: *color14:  #2aa198
52: *.color15: #eee8d5
53: *color15:  #eee8d5
54: 
55: ! Black color that will not be affected by bold highlighting.
56: *.color66: #073642
57: *color66:  #073642
58: 
59: ! Xclock colors.
60: XClock*foreground: #fdf6e3
61: XClock*background: #073642
62: XClock*majorColor:  rgba:ee/e8/d5/ff
63: XClock*minorColor:  rgba:ee/e8/d5/ff
64: XClock*hourColor:   rgba:ee/e8/d5/ff
65: XClock*minuteColor: rgba:ee/e8/d5/ff
66: XClock*secondColor: rgba:ee/e8/d5/ff
67: 
68: ! Set depth to make transparency work.
69: URxvt*depth: 32

Xsettingsd

 1: Gtk/CursorThemeName "Bibata-Modern-Classic"
 2: Net/CursorBlink 1
 3: Net/CursorBlinkTime 1200
 4: Net/DndDragThreshold 8
 5: Net/DoubleClickDistance 5
 6: Net/DoubleClickTime 250
 7: Net/EnableEventSounds 1
 8: Net/EnableInputFeedbackSounds 1
 9: Net/IconThemeName "Papirus"
10: Net/SoundThemeName "freedesktop"
11: Net/ThemeName "Breeze-dark"
12: Xft/Antialias 1
13: Xft/DPI -1
14: Xft/HintStyle "hintslight"
15: Xft/Hinting 1
16: Xft/RGBA "rgb"

Scripts

monitor-setup

 1: if [ "$(command -v hostnamectl)" ]; then
 2:     _HOSTNAME="$(hostnamectl hostname)"
 3: elif [ -n "${HOSTNAME}" ]; then
 4:     _HOSTNAME="${HOSTNAME}"
 5: elif [ -f /etc/hostname ]; then
 6:     _HOSTNAME="$(cat /etc/hostname)"
 7: fi
 8: 
 9: case ${_HOSTNAME} in
10:     somalia*)
11:         extern=HDMI-2
12:         intern=eDP-1
13:         if [ $(xrandr |grep -q "${extern} disconnected") ]; then
14:             xrandr --output "${extern}" --off output "${intern}" --auto
15:         else
16:             xrandr --output "${intern}" --auto --scale 1.25x1.25 --output "${extern}" --auto --left-of "${intern}"
17:         fi
18:         xrandr --output "${intern}" --scale 1.25x1.25
19:         ;;
20: esac

showclip

1: # Display contents of selection via dunst if running.
2: 
3: clip=$(xclip -o -selection clipboard)
4: prim=$(xclip -o -selection primary)
5: 
6: [ -n "$clip" ] && notify-send -t 1000 "Clipboard:" "$clip"
7: [ -n "$prim" ] && notify-send -t 1000 "Primary:" "$prim"

Date: 2024-03-12 Tue 00:00

Author: Kristian Alexander P

Created: 2024-03-24 Sun 08:59