LINUX.ORG.RU

История изменений

Исправление den73, (текущая версия) :

Ты главное от важности не лопни. Эклава является обломком проекта «Яр», который был написан на CL и Tcl/tk и работал как под виндой, так и под Линуксом. В эту совместимость было вложено немало усилий. То, что под виндой нет xdotool, я понимаю ничуть не хуже тебя. Однако BOM там скорее всего был для чего-то нужен. Если я его сейчас уберу, а потом вдруг захочу, чтобы эклава работала и под виндой, мне чинить на одну вещь больше. Создать 4 процесса - это не страшно, компьютер на то и железный/кремниевый, чтобы работать вместо человека. Линукс же славится дешевизной своих процессов, верно? Вот пусть и трудится. А так-то вообще можно не делать экранную клавиатуру, а вставлять значки из «средства просмотра символов» или из веба. Так что говорить о том, что какой-то там подход странный - само по себе странно.

Задача решена. Все твои замечания по существу я учёл и большинство из них даже поправил, т.к. они были справедливы. А шебанг в данном случае - несущественная техническая деталь. Кроме того, меня смущал и то, что когда он как бы работал, в каких-то случаях после аварийного завершения процесса tcl код на tcl отправлялся в баш и вызывал у того разрыв шаблона. Это значит, что технология сама по себе дурная, неважно, от BOM ли это получилось или нет. Линукс ведь сам изначально сделан дцать лет назад на коленке, и во многом таким же и остался. Поэтому надо не следовать его стандартам во всём, а обходить мутные места. Таковым мутным местом и оказался шебанг для tcl. То, что я его выкинул, правильно и так и надо делать.

Само по себе трёхстрочное начало, которое нужно для запуска wish-скриптов через шебанг, а именно:

#!/bin/sh
# Tcl ignores the next line -*- tcl -*- \
exec wish "$0" -- "$@"

Является, очевидно, каким-то мутным костылём. Нахрен такое. Кроме того, за счёт обёртки я могу выводить логи, если это нужно:

SCRIPT_PATH="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
mkdir -p ~/.config/эклава

# можно включить вывод в лог, если есть какие-то проблемы
Vyvod_v_log=1

if [[ $Vyvod_v_log == 1 ]]; then
  wish $SCRIPT_PATH/эклава.tcl > ~/.config/эклава/эклава.log 2>&1
else
  wish $SCRIPT_PATH/эклава.tcl 
fi

В случае использования шебанга я не знаю, как это можно было бы осуществить. Кстати, тут ошибка - вывод в лог включён, а надо бы его выключить. И это тоже поправил.

Исправление den73, :

Ты главное от важности не лопни. Эклава является обломком проекта «Яр», который был написан на CL и Tcl/tk и работал как под виндой, так и под Линуксом. В эту совместимость было вложено немало усилий. То, что под виндой нет xdotool, я понимаю ничуть не хуже тебя. Однако BOM там скорее всего был для чего-то нужен. Если я его сейчас уберу, а потом вдруг захочу, чтобы эклава работала и под виндой, мне чинить на одну вещь больше. Создать 4 процесса - это не страшно, компьютер на то и железный/кремниевый, чтобы работать вместо человека. Линукс же славится дешевизной своих процессов, верно? Вот пусть и трудится. А так-то вообще можно не делать экранную клавиатуру, а вставлять значки из «средства просмотра символов» или из веба. Так что говорить о том, что какой-то там подход странный - само по себе странно.

Задача решена. Все твои замечания по существу я учёл и большинство из них даже поправил, т.к. они были справедливы. А шебанг в данном случае - несущественная техническая деталь. Кроме того, меня смущал и то, что когда он как бы работал, в каких-то случаях после аварийного завершения процесса tcl код на tcl отправлялся в баш и вызывал у того разрыв шаблона. Это значит, что технология сама по себе дурная, неважно, от BOM ли это получилось или нет. Линукс ведь сам изначально сделан дцать лет назад на коленке, и во многом таким же и остался. Поэтому надо не следовать его стандартам во всём, а обходить мутные места. Таковым мутным местом и оказался шебанг для tcl. То, что я его выкинул, правильно и так и надо делать.

Само по себе трёхстрочное начало, которое нужно для запуска wish-скриптов через шебанг, а именно:

#!/bin/sh
# Tcl ignores the next line -*- tcl -*- \
exec wish "$0" -- "$@"

Является, очевидно, каким-то мутным костылём. Нахрен такое. Кроме того, за счёт обёртки я могу выводить логи, если это нужно:

SCRIPT_PATH="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
mkdir -p ~/.config/эклава

# можно включить вывод в лог, если есть какие-то проблемы
Vyvod_v_log=1

if [[ $Vyvod_v_log == 1 ]]; then
  wish $SCRIPT_PATH/эклава.tcl > ~/.config/эклава/эклава.log 2>&1
else
  wish $SCRIPT_PATH/эклава.tcl 
fi

В случае использования шебанга я не знаю, как это можно было бы осуществить.

Исправление den73, :

Ты главное от важности не лопни. Эклава является обломком проекта «Яр», который был написан на CL и Tcl/tk и работал как под виндой, так и под Линуксом. В эту совместимость было вложено немало усилий. То, что под виндой нет xdotool, я понимаю ничуть не хуже тебя. Однако BOM там скорее всего был для чего-то нужен. Если я его сейчас уберу, а потом вдруг захочу, чтобы эклава работала и под виндой, мне чинить на одну вещь больше. Создать 4 процесса - это не страшно, компьютер на то и железный/кремниевый, чтобы работать вместо человека. Линукс же славится дешевизной своих процессов, верно? Вот пусть и трудится. А так-то вообще можно не делать экранную клавиатуру, а вставлять значки из «средства просмотра символов» или из веба. Так что говорить о том, что какой-то там подход странный - само по себе странно.

Задача решена. Все твои замечания по существу я учёл и большинство из них даже поправил, т.к. они были справедливы. А шебанг в данном случае - несущественная техническая деталь. Кроме того, меня смущал и то, что когда он как бы работал, в каких-то случаях после аварийного завершения процесса tcl код на tcl отправлялся в баш и вызывал у того разрыв шаблона. Это значит, что технология сама по себе дурная, неважно, от BOM ли это получилось или нет. Линукс ведь сам изначально сделан дцать лет назад на коленке, и во многом таким же и остался. Поэтому надо не следовать его стандартам во всём, а обходить мутные места. Таковым мутным местом и оказался шебанг для tcl. То, что я его выкинул, правильно и так и надо делать.

Исходная версия den73, :

Ты главное от важности не лопни. Эклава является обломком проекта «Яр», который был написан на CL и Tcl/tk и работал как под виндой, так и под Линуксом. В эту совместимость было вложено немало усилий. То, что под виндой нет xdotool, я понимаю ничуть не хуже тебя. Однако BOM там скорее всего был для чего-то нужен. Если я его сейчас уберу, а потом вдруг захочу, чтобы эклава работала и под виндой, мне чинить на одну вещь больше. Создать 4 процесса - это не страшно, компьютер на то и железный/кремниевый, чтобы работать вместо человека. Линукс же славится дешевизной своих процессов, верно? Вот пусть и трудится. А так-то вообще можно не делать экранную клавиатуру, а вставлять значки из «средства просмотра символов» или из веба. Так что говорить о том, что какой-то там подход странный - само по себе странно.