diff --git a/overlay/rootfs/etc/locale.conf b/overlay/rootfs/etc/locale.conf new file mode 100644 index 0000000..f9c983c --- /dev/null +++ b/overlay/rootfs/etc/locale.conf @@ -0,0 +1 @@ +LANG=C.UTF-8 diff --git a/overlay/rootfs/etc/profile b/overlay/rootfs/etc/profile index 8b00b73..3c8d08c 100644 --- a/overlay/rootfs/etc/profile +++ b/overlay/rootfs/etc/profile @@ -4,6 +4,11 @@ export EDITOR=nano export VISUAL=nano export PAGER="less -RXF" export LESS="-RXF" +export TERM=xterm-256color +export CHARSET=UTF-8 +export LANG=C.UTF-8 +export LC_ALL=C.UTF-8 +export LC_COLLATE=C.UTF-8 umask 022 # use nicer PS1 for bash and busybox ash diff --git a/overlay/rootfs/etc/profile.d/20locale.sh b/overlay/rootfs/etc/profile.d/20locale.sh new file mode 100644 index 0000000..101b261 --- /dev/null +++ b/overlay/rootfs/etc/profile.d/20locale.sh @@ -0,0 +1,4 @@ +export CHARSET=UTF-8 +export LANG=C.UTF-8 +export LC_ALL=C.UTF-8 +export LC_COLLATE=C.UTF-8 diff --git a/overlay/rootfs/etc/profile.d/sxmo_init.sh b/overlay/rootfs/etc/profile.d/sxmo_init.sh index 2c08117..c5944db 100644 --- a/overlay/rootfs/etc/profile.d/sxmo_init.sh +++ b/overlay/rootfs/etc/profile.d/sxmo_init.sh @@ -109,6 +109,11 @@ _sxmo_load_environments() { export VISUAL="${VISUAL:-nano}" export PAGER="less -RXF" export LESS="-RXF" + export TERM=xterm-256color + export CHARSET=UTF-8 + export LANG=C.UTF-8 + export LC_ALL=C.UTF-8 + export LC_COLLATE=C.UTF-8 export BROWSER="${BROWSER:-firefox}" export SHELL="${SHELL:-/bin/sh}" diff --git a/overlay/rootfs/etc/skel/.Xresources b/overlay/rootfs/etc/skel/.Xresources index b15c5cb..4f477d6 100644 --- a/overlay/rootfs/etc/skel/.Xresources +++ b/overlay/rootfs/etc/skel/.Xresources @@ -16,6 +16,7 @@ dwm.selbordercolor: #005577 dwm.selfgcolor: #ffffff st.font: Fira Code:pixelsize=18:style=Regular:antialias=true:autohint=true +st.termname: xterm-256color st.background: #1c1c1c st.foreground: #e5e5e5 st.cursorColor: #cccccc diff --git a/overlay/rootfs/etc/skel/.config/sxmo/profile b/overlay/rootfs/etc/skel/.config/sxmo/profile index 3991864..4047777 100755 --- a/overlay/rootfs/etc/skel/.config/sxmo/profile +++ b/overlay/rootfs/etc/skel/.config/sxmo/profile @@ -75,6 +75,11 @@ export EDITOR="nano" export VISUAL="nano" export PAGER="less -RXF" export LESS="-RXF" +export TERM="xterm-256color" +export CHARSET="UTF-8" +export LANG="C.UTF-8" +export LC_ALL="C.UTF-8" +export LC_COLLATE="C.UTF-8" export SXMO_WM="dwm" export SXMO_MENU="dmenu" export SXMO_TERMINAL="st" diff --git a/overlay/rootfs/etc/skel/.profile b/overlay/rootfs/etc/skel/.profile index fe4e327..207f7c6 100644 --- a/overlay/rootfs/etc/skel/.profile +++ b/overlay/rootfs/etc/skel/.profile @@ -4,6 +4,11 @@ export EDITOR=nano export VISUAL=nano export PAGER="less -RXF" export LESS="-RXF" +export TERM=xterm-256color +export CHARSET=UTF-8 +export LANG=C.UTF-8 +export LC_ALL=C.UTF-8 +export LC_COLLATE=C.UTF-8 export SXMO_WM=dwm export SXMO_MENU=dmenu export SXMO_TERMINAL=st diff --git a/overlay/rootfs/home/user/.Xresources b/overlay/rootfs/home/user/.Xresources index b15c5cb..4f477d6 100644 --- a/overlay/rootfs/home/user/.Xresources +++ b/overlay/rootfs/home/user/.Xresources @@ -16,6 +16,7 @@ dwm.selbordercolor: #005577 dwm.selfgcolor: #ffffff st.font: Fira Code:pixelsize=18:style=Regular:antialias=true:autohint=true +st.termname: xterm-256color st.background: #1c1c1c st.foreground: #e5e5e5 st.cursorColor: #cccccc diff --git a/overlay/rootfs/home/user/.config/sxmo/profile b/overlay/rootfs/home/user/.config/sxmo/profile index 3991864..4047777 100755 --- a/overlay/rootfs/home/user/.config/sxmo/profile +++ b/overlay/rootfs/home/user/.config/sxmo/profile @@ -75,6 +75,11 @@ export EDITOR="nano" export VISUAL="nano" export PAGER="less -RXF" export LESS="-RXF" +export TERM="xterm-256color" +export CHARSET="UTF-8" +export LANG="C.UTF-8" +export LC_ALL="C.UTF-8" +export LC_COLLATE="C.UTF-8" export SXMO_WM="dwm" export SXMO_MENU="dmenu" export SXMO_TERMINAL="st" diff --git a/overlay/rootfs/home/user/.profile b/overlay/rootfs/home/user/.profile index fe4e327..207f7c6 100644 --- a/overlay/rootfs/home/user/.profile +++ b/overlay/rootfs/home/user/.profile @@ -4,6 +4,11 @@ export EDITOR=nano export VISUAL=nano export PAGER="less -RXF" export LESS="-RXF" +export TERM=xterm-256color +export CHARSET=UTF-8 +export LANG=C.UTF-8 +export LC_ALL=C.UTF-8 +export LC_COLLATE=C.UTF-8 export SXMO_WM=dwm export SXMO_MENU=dmenu export SXMO_TERMINAL=st diff --git a/overlay/rootfs/usr/bin/bananarchy-x11-session.sh b/overlay/rootfs/usr/bin/bananarchy-x11-session.sh index 380057f..d077b21 100755 --- a/overlay/rootfs/usr/bin/bananarchy-x11-session.sh +++ b/overlay/rootfs/usr/bin/bananarchy-x11-session.sh @@ -21,6 +21,11 @@ export EDITOR=nano export VISUAL=nano export PAGER="less -RXF" export LESS="-RXF" +export TERM=xterm-256color +export CHARSET=UTF-8 +export LANG=C.UTF-8 +export LC_ALL=C.UTF-8 +export LC_COLLATE=C.UTF-8 export SXMO_DISABLE_LEDS=1 export SXMO_NO_VIRTUAL_KEYBOARD=1 export NO_AT_BRIDGE=1 diff --git a/overlay/rootfs/usr/bin/st b/overlay/rootfs/usr/bin/st index c275395..2e57535 100755 Binary files a/overlay/rootfs/usr/bin/st and b/overlay/rootfs/usr/bin/st differ diff --git a/overlay/rootfs/usr/bin/sxmo_terminal.sh b/overlay/rootfs/usr/bin/sxmo_terminal.sh index 43aadb6..73e8060 100755 --- a/overlay/rootfs/usr/bin/sxmo_terminal.sh +++ b/overlay/rootfs/usr/bin/sxmo_terminal.sh @@ -3,6 +3,11 @@ # Copyright 2022 Sxmo Contributors # shellcheck disable=SC2086 +export TERM=xterm-256color +export CHARSET=UTF-8 +export LANG=C.UTF-8 +export LC_ALL=C.UTF-8 + SXMO_TERMINAL="${SXMO_TERMINAL:-st}" if [ -z "$*" ]; then diff --git a/overlay/rootfs/usr/share/sxmo/appcfg/Xresources b/overlay/rootfs/usr/share/sxmo/appcfg/Xresources index b15c5cb..4f477d6 100644 --- a/overlay/rootfs/usr/share/sxmo/appcfg/Xresources +++ b/overlay/rootfs/usr/share/sxmo/appcfg/Xresources @@ -16,6 +16,7 @@ dwm.selbordercolor: #005577 dwm.selfgcolor: #ffffff st.font: Fira Code:pixelsize=18:style=Regular:antialias=true:autohint=true +st.termname: xterm-256color st.background: #1c1c1c st.foreground: #e5e5e5 st.cursorColor: #cccccc diff --git a/overlay/rootfs/usr/share/sxmo/appcfg/profile_template b/overlay/rootfs/usr/share/sxmo/appcfg/profile_template index 3991864..4047777 100755 --- a/overlay/rootfs/usr/share/sxmo/appcfg/profile_template +++ b/overlay/rootfs/usr/share/sxmo/appcfg/profile_template @@ -75,6 +75,11 @@ export EDITOR="nano" export VISUAL="nano" export PAGER="less -RXF" export LESS="-RXF" +export TERM="xterm-256color" +export CHARSET="UTF-8" +export LANG="C.UTF-8" +export LC_ALL="C.UTF-8" +export LC_COLLATE="C.UTF-8" export SXMO_WM="dwm" export SXMO_MENU="dmenu" export SXMO_TERMINAL="st" diff --git a/overlay/rootfs/usr/share/sxmo/default_hooks/sxmo_hook_contextmenu.sh b/overlay/rootfs/usr/share/sxmo/default_hooks/sxmo_hook_contextmenu.sh index 0be8b43..90a70a1 100755 --- a/overlay/rootfs/usr/share/sxmo/default_hooks/sxmo_hook_contextmenu.sh +++ b/overlay/rootfs/usr/share/sxmo/default_hooks/sxmo_hook_contextmenu.sh @@ -191,7 +191,7 @@ case "$WMCLASS" in " WINNAME=St ;; - st|st-*|*terminal*|org.gnome.vte.application|org.gnome.vte.app.gtk4|*alacritty*) + st|st-*|xterm*|*terminal*|org.gnome.vte.application|org.gnome.vte.app.gtk4|*alacritty*) # These git commands only launch the editor. case "$WMNAME" in diff --git a/prebuilt/sxmo-x11/usr/bin/st b/prebuilt/sxmo-x11/usr/bin/st index c275395..2e57535 100755 Binary files a/prebuilt/sxmo-x11/usr/bin/st and b/prebuilt/sxmo-x11/usr/bin/st differ diff --git a/scripts/configure-rootfs-from-scratch.sh b/scripts/configure-rootfs-from-scratch.sh index 73d30f6..37c3b73 100755 --- a/scripts/configure-rootfs-from-scratch.sh +++ b/scripts/configure-rootfs-from-scratch.sh @@ -214,7 +214,7 @@ ff02::2 ipv6-allrouters ff02::3 ipv6-allhosts EOF - echo "LANG=en_US.UTF-8" > "$ROOTFS/etc/locale.conf" + echo "LANG=C.UTF-8" > "$ROOTFS/etc/locale.conf" if [ -f "$ROOTFS/usr/share/zoneinfo/UTC" ]; then cp "$ROOTFS/usr/share/zoneinfo/UTC" "$ROOTFS/etc/localtime" echo "UTC" > "$ROOTFS/etc/timezone" diff --git a/src/sxmo-st/config.def.h b/src/sxmo-st/config.def.h index 11df9d1..5cfc1e6 100644 --- a/src/sxmo-st/config.def.h +++ b/src/sxmo-st/config.def.h @@ -74,7 +74,7 @@ static unsigned int cursorthickness = 2; static int bellvolume = 0; /* default TERM value */ -char *termname = "st-256color"; +char *termname = "xterm-256color"; /* * spaces per tab diff --git a/src/sxmo-st/config.h b/src/sxmo-st/config.h index 11df9d1..5cfc1e6 100644 --- a/src/sxmo-st/config.h +++ b/src/sxmo-st/config.h @@ -74,7 +74,7 @@ static unsigned int cursorthickness = 2; static int bellvolume = 0; /* default TERM value */ -char *termname = "st-256color"; +char *termname = "xterm-256color"; /* * spaces per tab diff --git a/src/sxmo-st/st.c b/src/sxmo-st/st.c index 1bb5b37..38e41d3 100644 --- a/src/sxmo-st/st.c +++ b/src/sxmo-st/st.c @@ -715,6 +715,14 @@ execsh(char *cmd, char **args) setenv("SHELL", sh, 1); setenv("HOME", pw->pw_dir, 1); setenv("TERM", termname, 1); + setenv("CHARSET", "UTF-8", 1); + setenv("LANG", "C.UTF-8", 1); + setenv("LC_ALL", "C.UTF-8", 1); + setenv("LC_COLLATE", "C.UTF-8", 1); + setenv("EDITOR", "nano", 0); + setenv("VISUAL", "nano", 0); + setenv("PAGER", "less -RXF", 0); + setenv("LESS", "-RXF", 0); signal(SIGCHLD, SIG_DFL); signal(SIGHUP, SIG_DFL); diff --git a/src/sxmo-st/x.c b/src/sxmo-st/x.c index c399523..376b59a 100644 --- a/src/sxmo-st/x.c +++ b/src/sxmo-st/x.c @@ -881,8 +881,8 @@ xclear(int x1, int y1, int x2, int y2) void xhints(void) { - XClassHint class = {opt_name ? opt_name : termname, - opt_class ? opt_class : termname}; + XClassHint class = {opt_name ? opt_name : "st-256color", + opt_class ? opt_class : "st-256color"}; XWMHints wm = {.flags = InputHint, .input = 1}; XSizeHints *sizeh;