summaryrefslogtreecommitdiff
path: root/src/etc/stackrpms-thinkpad-p50s/fluxbox.startup
blob: ca38336f3933152d5f7c68ce28ca6f627332d58b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#!/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
bgstack15