#!/bin/sh # File: /etc/stackrpms-thinkpad-p50s/fluxbox.startup # Location: stackrpms-thinkpad-p50s package # Author: bgstack15 # Startdate: 2019-12-26 # SPDX-License-Identifier: GPL-3.0 # Title: Common fluxbox startup file for Thinkpad P50s platform # Package: stackrpms-thinkpad-p50s # Purpose: standardize fluxbox config across systems # History: # 2019-12-26 started on ltb-018 from fluxbox startup example # 2022-11-03 adapted for this package # 2023-12-12 revised to be consistent across bgconf and stackrpms-thinkpad-p50s # Usage: # symlink your ~/.fluxbox/startup to this file with: # ln -sf /etc/stackrpms-thinkpad-p50s/fluxbox.startup ~/.fluxbox/startup # Reference: # ltb-018:~/.fluxbox/startup # Improve: # Documentation: # last modified: 2022-11-03-5 14:28 # Change your keymap: test -f /etc/stackrpms-thinkpad-p50s/Xmodmap && xmodmap /etc/stackrpms-thinkpad-p50s/Xmodmap test -f .Xmodmap && xmodmap ".Xmodmap" echo "${PATH}" | grep -q "${HOME}/bin" 1>/dev/null 2>&1 && export PATH="${HOME}/bin:${PATH}" # for vlc on hidpi screens export QT_AUTO_SCREEN_SCALE_FACTOR=0 export QT_SCREEN_SCALE_FACTORS=1 # Applications you want to run with fluxbox. which fbautostart > /dev/null if [ $? -eq 0 ]; then fbautostart fi # for desktop icons. Because I use xfe for a file manager, spacefm would only be installed for xdg desktop icons spacefm --desktop & start-pulseaudio-x11 & volumeicon & copyq & xscreensaver -nosplash & # This might be redundant if /usr/share/services/com.example.Notifications.service but will not hurt. /usr/lib/notification-daemon/notification-daemon & telegram-desktop & alttab -w 1 -s 1 -theme Numix-Circle & # It is expected to only use one of: cbatticon powerkit cbatticon -i symbolic & DESKTOP_SESSION=gnome powerkit & sudo mount -a & # Obviously should not be installed on physical systems spice-vdagent 1>/dev/null 2>&1 & # Fallback: #xdgmenumaker -f fluxbox -i > ~/.fluxbox/xdg-menu & xdgmenumaker-user fluxbox & keyboard-leds-trayicons & xscreensaver-watch & logout-manager-trayicon & # probably only one of these will be used: wicd-client -t & connman-gtk & myautomountd & myautomount-trayicon & netmounts-trayicon & # vpn-trayicon is only useful on demand. #vpn-trayicon & # If fbxkb is installed, set up us(qwerty) and us(dvorak) which fbxkb 1>/dev/null 2>&1 && test -f /etc/use-fbxkb && { setxkbmap -option grp:switch,grp:shifts_toggle 'us,us(dvorak)' & fbxkb & } KRB5_AUTH_DIALOG_DEBUG="no-persistence,no-app-menu,no-header-bar" gtk3-nocsd krb5-auth-dialog & /usr/bin/printf "" | sudo tee /var/lib/dbus/machine-id 1>/dev/null 2>&1 & # set wallpaper # use by symlinking /etc/wallpaper to whatever you want fbsetbg -a /etc/wallpaper # Mask weird button presses 8, 9 on scroll-up, scroll-down xinput set-button-map "$( xinput | awk -F'[=]' '/ouse/{print $2}' | awk '{print $1}' | head -n1 )" 1 2 3 4 5 6 7 0 0 & # Make this extensible so I do not have to customize ~/.fluxbox/startup on each system test -f "${HOME}/.fluxbox/startup-local" && . "${HOME}/.fluxbox/startup-local" & # And last but not least we start fluxbox. # Because it is the last app you have to run it with ''exec'' before it. exec fluxbox # or if you want to keep a log: # exec fluxbox -log ~/fluxbox/log