]> gitweb.fluxo.info Git - wrappers.git/commitdiff
Restore window name as mc forgets to do it
authorSilvio Rhatto <rhatto@riseup.net>
Sat, 16 Jun 2018 12:12:14 +0000 (09:12 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Sat, 16 Jun 2018 12:12:14 +0000 (09:12 -0300)
mc

diff --git a/mc b/mc
index 9079704ac2a50c7bfa8fb1cafaa200ced9710f52..96ec17c4a8267bc24bde560305e54daf02b6b0e9 100755 (executable)
--- a/mc
+++ b/mc
@@ -9,9 +9,26 @@ MC="/usr/bin/mc"
 INI="$HOME/.config/mc/ini"
 CONF="`readlink $INI || echo $INI`"
 
+# Get the current window name
+# Thanks http://www.shelldorado.com/scripts/cmds/xtitle
+function mc_window_name {
+  if [ ! -z "$WINDOWID" ]; then
+    xprop -id $WINDOWID | grep ^WM_NAME | sed 's/.*=[         "]*\([^"]*\)["]*$/\1/'
+  fi
+}
+
 # Dispatch
 if [ ! -z "$DISPLAY" ]; then
+  WINDOWNAME="`mc_window_name`"
   TERM=xterm-256color $MC $*
+  NEWWINDOWNAME="`mc_window_name`"
+
+  # Restore window name as mc forgets to do it
+  if [ "$WINDOWNAME" != "$NEWWINDOWNAME" ]; then
+    if echo $NEWWINDOWNAME | grep -q '^mc \['; then
+      xtitle $WINDOWNAME
+    fi
+  fi
 else
   $MC $*
 fi