LINUX.ORG.RU

хочу сделать особые лаунчеры для gnome2


0

1

Пытаюсь сделать себе спец. лаунчеры для некоторых програм. (терминал, файл-браузер, веб-браузер) Суть в том чтобы добавить лаунчер на панельку и задать в качестве программы свой скрипт, котрый если прога не запущена - запустит прогу, если прога запущена - активирует окно.

Вообщем при помощи bash и wmctrl я сделал это для mate-terminal, у него заголовок окна не меняется Terminal поэтому всё просто:

!#/bin/bash

if ps -C mate-terminal
then
    wmctrl -F -R Terminal
else 
    mate-terminal &
    sleep 1
    wmctrl -F -r Terminal -b add,skip_taskbar
    wmctrl -F -r Terminal -b add,maximized_horz,maximized_vert
fi
для веб и файл браузеров сложнее так как у них заголовки меняются. Внимание вопрос

как сделать



Последнее исправление: mantar (всего исправлений: 1)

cat ~bin/firefox 

#!/bin/sh

PATH=/bin:/usr/bin

CMD=`xlsclients -l | awk '$1 == "Name:" {n=$0; sub(" *Name: *", "", n)}; $1 == "Command:" && $2 == "firefox-bin" {print "wmctrl -a \""n"\""}'`

if [ -z "$CMD" ]; then
   # start new instance 
        iceweasel "$@"
else
  # activate exits one
        echo $CMD | $SHELL
fi

Это упрощенный рабочий вариант для дебиана с его iceweasel

sdio ★★★★★
()
Ответ на: комментарий от sdio

cat ~/bin/firefox

исправлено, хоть это и не принципально

sdio ★★★★★
()

для веб и файл браузеров сложнее так как у них заголовки меняются

wmctrl -x

GotF ★★★★★
()

по классу окна нужно детектить

lazyklimm ★★★★★
()

если прога не запущена - запустит прогу, если прога запущена - активирует окно.

То, что тебе нужно, называется док. Переходи уже на юнити.

lyset ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.