我正在编写一个小脚本,允许我在Xournal的笔(CTRL + SHIFT + P)和荧光笔(CTRL + SHIFT + H)之间切换。我编写了一个脚本,使用配置文件记录手写笔的最后状态,读取该状态,并将其更改为备用手写笔状态;然后,所有这些都可以映射到一个键。我已经使用命令行(在终端中)彻底测试了这个脚本,它运行正常。但是,当我指定快捷键来触发脚本时,切换不起作用。
配置文件“Last Modified”时间戳更新我是通过终端还是通过快捷键运行脚本。
我一直绞尽脑汁想要让它发挥作用。脚本已附上。
#/bin/bash
# Script to make stylus tips toggle between pen and highlighter as well as color
TOGGLE_FILE=/home/mustafa/bin/toggle.config
source $TOGGLE_FILE
HIGHLIGHTER_KEYWORD="hi"
PEN_KEYWORD="pen"
# Conditions to switch toggle state from highligther to pen or vice versa
if [ $TOGGLE_STATE = $PEN_KEYWORD ]; then
xdotool key "control+shift+H"
TOGGLE_STATE=$HIGHLIGHTER_KEYWORD
else
xdotool key "control+shift+P"
TOGGLE_STATE=$PEN_KEYWORD
fi
# Replaces the toggle file with new toggle state
echo "TOGGLE_STATE=\"$TOGGLE_STATE\"" > $TOGGLE_FILE
notify-send "$(echo $(cat $TOGGLE_FILE))"
答案 0 :(得分:0)
你能在这里加上引用:
if [ "$TOGGLE_STATE" = "$PEN_KEYWORD" ]; then
还有: " $ TOGGLE_FILE"
full/path/here/xdotool
同样快速阅读xdotool文档给我的印象是,如果事件不是在终端中生成的,系统可能会忽略这些事件。我不确定你是否可以通过调用终端运行以" xdotool"开头的行来解决这个问题。如果是gnome-terminal,那就是:
gnome-terminal -e 'what-ever-command'