Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE
emacs.7839
emacs.sh
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File emacs.sh of Package emacs.7839
#!/bin/bash # # Launch a GNU Emacs # # The environment variable EMACS_TOOLKIT is used to determine # the prefered GUI. Possible values/types of EMACS_TOOLKIT are # # nox -- for pure console based GNU Emacs # gtk -- for full GTK2/3 based GNU Emacs # x11 -- for full LUCID based GNU Emacs (used Xaw3d) # # Should work but remember history # bnc#345669 -- Emacs doesn't un-maximize in KDE/KWin # bnc#342385 -- Emacs doesn't keep the iconic information in KDE/KWin # # if test -z "$EMACS_TOOLKIT" ; then # EMACS_TOOLKIT=gtk # KDE_FULL_SESSION=$(xprop -root KDE_FULL_SESSION 2>/dev/null) # case "$KDE_FULL_SESSION" in # *true*) EMACS_TOOLKIT=x11 # esac # fi # : ${EMACS_TOOLKIT:=gtk} if test "$EMACS_TOOLKIT" = gtk; then # Currently (2013/05/24) the parser of the GNOME libs # are broken that is it is not independent from locale LC_NUMERIC=POSIX XLIB_SKIP_ARGB_VISUALS=1 GDK_RGBA=0 export LC_NUMERIC XLIB_SKIP_ARGB_VISUALS GDK_RGBA fi arg0=$0 argv=("$@") if test -x ${arg0}-${EMACS_TOOLKIT} then set -- ${arg0}-${EMACS_TOOLKIT} elif test -x ${arg0}-x11 then set -- ${arg0}-x11 elif test -x ${arg0}-nox then set -- ${arg0}-nox else echo "no emacs binary found" exit 1 fi dbusdaemon=$(type -p dbus-daemon 2>/dev/null) # # Now check for valid dbus, e.g. after su/sudo/slogin # if test -n "$dbusdaemon" ; then # # Currently (2013/05/24) the option --autolaunch for scanning for an # already existing session is an internal option of dbus-launch(1). # if test -s /var/lib/dbus/machine-id ; then read -t1 mid < /var/lib/dbus/machine-id elif test -s /etc/machine-id ; then read -t1 mid < /etc/machine-id else mid= fi if test -n "$DBUS_SESSION_BUS_ADDRESS" ; then # Determine dbus identifier for guid in ${DBUS_SESSION_BUS_ADDRESS//,/ } ; do case "$guid" in guid=*) break esac done # Check if dbus-daemon is active dpid= for suid in "${HOME}/.dbus/session-bus/"${mid}* ; do test -e "$suid" || break grep -q $guid "$suid" || continue dpid=$(grep -E '^DBUS_SESSION_BUS_PID=[[:digit:]]+' "$suid") test /proc/${dpid#*=}/exe -ef $dbusdaemon && continue unset DBUS_SESSION_BUS_ADDRESS break done if test -z "$dpid" ; then case ":$DBUS_SESSION_BUS_ADDRESS" in *:path=/run/user/${UID}/bus*) ;; *) unset DBUS_SESSION_BUS_ADDRESS esac fi fi # Find a valid dbus-daemon if active if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then for suid in "${HOME}/.dbus/session-bus/"${mid}* ; do test -e "$suid" || break dpid=$(grep -E '^DBUS_SESSION_BUS_PID=[[:digit:]]+' "$suid") test /proc/${dpid#*=}/exe -ef $dbusdaemon || continue dadd=$(grep -E '^DBUS_SESSION_BUS_ADDRESS=' "$suid") DBUS_SESSION_BUS_ADDRESS=${dadd#*=} export DBUS_SESSION_BUS_ADDRESS done if test -z "$DBUS_SESSION_BUS_ADDRESS" -a -S "${XDG_RUNTIME_DIR}/bus" ; then DBUS_SESSION_BUS_ADDRESS="unix:path=${XDG_RUNTIME_DIR}/bus" export DBUS_SESSION_BUS_ADDRESS fi fi unset mid guid suid dadd # Oops ... no dbus-daemon then launch a new session if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then dbuslaunch=$(type -p dbus-launch 2>/dev/null) dbusession=$(type -p dbus-run-session 2>/dev/null) if test -z "$dbusession" -a -n "$dbuslaunch" ; then set -- $dbuslaunch --sh-syntax --close-stderr --exit-with-session ${1+"$@"} arg0=$dbuslaunch elif test -n "$dbusession" ; then set -- $dbusession -- ${1+"$@"} arg0=$dbusession else arg0=emacs fi elif test -S "${XDG_RUNTIME_DIR}/bus" ; then dbusupdate=$(type -p dbus-update-activation-environment 2>/dev/null) dbusstatus=$(systemctl --user is-active dbus.service 2>/dev/null) if test -n "$dbusupdate" -a "$dbusstatus" != active ; then $dbusupdate --systemd DBUS_SESSION_BUS_ADDRESS="unix:path=${XDG_RUNTIME_DIR}/bus" fi fi unset dbuslaunch dbusdaemon fi # # Disable AT bridge if not accessible # if test -z "NO_AT_BRIDGE" ; then gsettings=$(gsettings get org.gnome.desktop.interface toolkit-accessibility 2>/dev/null) if test -z "$gsettings" -o "$gsettings" = false ; then NO_AT_BRIDGE=1 export NO_AT_BRIDGE fi unset gsettings fi unset G_MESSAGES_DEBUG G_DEBUG G_MESSAGES_PREFIXED exec -a $arg0 ${1+"$@"} "${argv[@]}"
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor