Скрипт

#!/bin/bash -x

# Скрипт запускается по нажатию горячих клавиш и открывает файл с названием заголовка активного окна из своей директории.




bdir="$HOME/scripts/context_notes"

#notify-send "$(xprop -id $(xdotool getactivewindow)|grep _NET_STARTUP)" -t 9000

cd $bdir


view=""

if [ -z "$1" ]; then

if [ ! "$1" == "view" ]; then

view="view"

fi

wid="$(xdotool getactivewindow)"

else


wid="$1"

echo $wid

fi


#notify-send "$wid" -t 2000


pid="$(xprop -id $wid |grep "_NET_WM_PID(CARDINAL)" |grep -o "[0-9]*")"


#title="$(xwininfo -id $wid |grep xwininfo | grep -o "\".*\"" )"

#title="${title//\"/}" #удалить кавычки

comm="$(ps -q $pid -o comm=)"

args="$(ps -q $pid -o args=)"


#notify-send "$args" -t 9000


#notify-send "$title w:$wid pid:$pid comm:$comm" -t 9000


if [ -e "$comm" ]; then

echo "Ok";

else

mkdir "$comm"

fi

cd $comm


if [ "$comm" = "firefox" ]; then

s="$(xwininfo -id $wid |grep xwininfo | grep xwininfo | grep -o "\".*\*\/;\*")"

title="${s:1:(-4)}"

url="$(xwininfo -id $wid |grep xwininfo | grep -o "\*\/;\*.*\ Mozilla" | cut -d" " -f 2)"

# notify-send $url -t 9000

elif [ "$comm" = "zathura" ]; then

title="$(xwininfo -id $wid |grep xwininfo | sed -e "s/[^\"]*\"\([^[]*\).*/\1/" )"

url="$(xwininfo -id $wid| grep xwininfo | sed -e "s/.*\[\(.*\)\]\"/\1/")"

notify-send "title:$title url:$url" -t 9000


elif [ "$comm" = "viewnior" ]; then

title="$(xwininfo -id $wid |grep xwininfo | sed -e "s/[^\"]*\"\([^\"]*\)\"/\1/" |rev | sed -e "s/%[0-9]*\ -\ [0-9]*\/[0-9]*\ -\ \(.*\)/\1/" |rev )"

url="$(xwininfo -id $wid |grep xwininfo | sed -e "s/[^\"]*\"\([^\"]*\)\"/\1/" |rev | sed -e "s/\(%[0-9]*\ -\ [0-9]*\/[0-9]*\)\ -\ .*/\1/" |rev )"

#notify-send "title:$title url:$url" -t 9000


else

title="$(xwininfo -id $wid |grep xwininfo | grep -o "\".*\"" )"

title="${title//\"/}" #удалить кавычки

url=""

fi


cur="command:\"$args\" url:\"$url\""

#Нужно проверить последнюю запись и если изменений нет, то не добавлять.

last="$(cat "$title" |grep "command")"


if [ "$view" = "view" ]; then


notify-send "$(cat "$title")" -t 10000


else


touch "$title"

if [ "$last" == "$cur" ]; then

notify-send "Равно" -t 9000

echo

else

echo "$cur" >> "$title"

fi

gvim --role context_notes -geometry 58x21+792-90 "$title"


fi


#cur="pid:$pid wid:$wid url:$url"


#notify-send "$(lsof -w -p $pid |grep home)" -t 9000

#notify-send "$(ps -q $pid -o comm=)" -t 9000

#Заголовок, win_id, нужно бы имя файла


#Структура -- pdir / имя приложения / заголовок=имя файла, дописать в файл всю информацию и открыть её в gvim, в плавающем окнежен

# disown


+++++++++++++++++++++++

Если прилепить поиск grep+dmenu будет совсем кошаладно
на фарефокс нужен плагин, шоб url в title /выводил
разделитель */;* или типа того. zathura eтоже и страницы правится в config/

GNU/Linux

1.2K постов15.6K подписчиков

Правила сообщества

Все дистрибутивы хороши.

Будьте людьми.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества