WIP: attempt to detect DE on remote sessions
When connecting with ssh to a machine that has an X11 session running, try to find which DISPLAY we can query. It only detects the DE for now.
This commit is contained in:
parent
ccd5d9f526
commit
a51003e89f
1 changed files with 11 additions and 1 deletions
12
neofetch
12
neofetch
|
@ -1833,7 +1833,7 @@ get_de() {
|
||||||
# the desktop variables are sometimes also set to the
|
# the desktop variables are sometimes also set to the
|
||||||
# window manager name. This checks to see if WM == DE
|
# window manager name. This checks to see if WM == DE
|
||||||
# and discards the DE value.
|
# and discards the DE value.
|
||||||
[[ $de == "$wm" ]] && { unset -v de; return; }
|
[[ -n "$wm" && ( $de == "$wm" ) ]] && { unset -v de; return; }
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
@ -1841,9 +1841,19 @@ get_de() {
|
||||||
[[ $DISPLAY && -z $de ]] && type -p xprop &>/dev/null && \
|
[[ $DISPLAY && -z $de ]] && type -p xprop &>/dev/null && \
|
||||||
de=$(xprop -root | awk '/KDE_SESSION_VERSION|^_MUFFIN|xfce4|xfce5/')
|
de=$(xprop -root | awk '/KDE_SESSION_VERSION|^_MUFFIN|xfce4|xfce5/')
|
||||||
|
|
||||||
|
# Fallback to exploring displays with xprop for remote sessions.
|
||||||
|
if [[ -z $DISPLAY && -z $de ]]; then
|
||||||
|
for display in `seq 0 9`; do
|
||||||
|
type -p xprop &>/dev/null && \
|
||||||
|
de=$(xprop -display ":$display" -root | awk '/KDE_SESSION_VERSION|_KDE_NET_WM_|^_MUFFIN|xfce4|xfce5/')
|
||||||
|
[[ -n "$de" ]] && break
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
# Format strings.
|
# Format strings.
|
||||||
case $de in
|
case $de in
|
||||||
KDE_SESSION_VERSION*) de=KDE${de/* = } ;;
|
KDE_SESSION_VERSION*) de=KDE${de/* = } ;;
|
||||||
|
*_KDE_NET_WM_*) de=KDE ;;
|
||||||
*xfce4*) de=Xfce4 ;;
|
*xfce4*) de=Xfce4 ;;
|
||||||
*xfce5*) de=Xfce5 ;;
|
*xfce5*) de=Xfce5 ;;
|
||||||
*xfce*) de=Xfce ;;
|
*xfce*) de=Xfce ;;
|
||||||
|
|
Loading…
Reference in a new issue