логин: 
<< предыдущая заметкаследующая заметка >>
20 января 2009
(...)

Вопрос знатокам Линукс (UNIX):

Дано: X11, KDE, число десктопов 1. Необходимо сделать демона, который следил, окно какого приложения является в данную секунду активными (в фокусе). Если более N минут активным остается не окно с гениальным романом, а почта, интернет, ICQ, Skype и т.п., выдавать пользователю информационный сигнал (к примеру, пискнуть динамиком или подать ток на рукоятки кресла). Вопрос в том, как определять окно фокуса на десктопе. Вероятно, это как-то можно сделать через dcop или есть специальные средства. Идеи (а лучше примеры на shell) приветствуются.

Думаю, этот опыт пригодится не только писателям, работающим дома, но и руководителям, в чьем подчинении находятся сотрудники. Извините, сотрудники.


UPD: Спасибо всем откликнувшимся! Во-первых, dcop, увы, не работает — он просто не видит окно Microsoft Word под cxoffice. В итоге решение получилось таким:

spy.sh
#!/bin/bash

# возможно придется: apt-get install xwininfo

PROG=«Microsoft Word»

while : ; do

WIN_ID=`xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)" | cut -d ' ' -f 5`
NAME=`xwininfo -id $WIN_ID |awk 'BEGIN {FS="\""}/xwininfo: Window id/{print $2}' | sed 's/[^-]* — //g'`
WIDTH=`xwininfo -id $WIN_ID | grep «Width:" | cut -d ' ' -f 4`
HEIGHT=`xwininfo -id $WIN_ID | grep «Height:" | cut -d ' ' -f 4`

if [[ "$NAME» != "$PROG» || $(($WIDTH-1000)) < 0 || $(($HEIGHT-900)) < 0 ]] ; then
    #echo "ХАРЕ ПИЗДЕТЬ!!!" ; echo -e \\007
    #нет, еще хуже: /usr/local/bin/220v_to_table.exe
    #нет, еще, еще жестче: /home/work/WORK/xbeep
    play /tmp/Киркоров_-_Зайка_моя.mp3
fi

sleep 30
done

А вот как запускается вся эта конструкция (заодно вместе с текстовым редактором и системой бэкапа в локальной директории и на внешнем сайте — давно собирался написать):

work.sh
#!/bin/sh

DIR="/home/work/WORK»
ARH="$DIR/old»
WORKFILE="$DIR/work.doc»
LAST=`ls $ARH | tail -1`
LASTFILE="$ARH/$LAST»
NEW=`date '+%F_%H-%M-%S.doc'`
NEWFILE="$ARH/$NEW»
LFTPTXT="$DIR/lftp.txt»

DIFF=`diff "$WORKFILE» "$LASTFILE»`

if [[ x»$LAST» = «x» || x»$DIFF» != «x» ]] ; then
    echo «делаем архивирование»
    cp -f "$WORKFILE» "$NEWFILE»

    echo «open lleo.aha.ru» > $LFTPTXT
    echo «user admin gFccdjHL» >> $LFTPTXT
    echo «cd /www/arhive/backup» >> $LFTPTXT
    echo «binary» >> $LFTPTXT
    echo «put \"$NEWFILE\" \"$NEW\"" >> $LFTPTXT
    echo «bye» >> $LFTPTXT
    nohup ftp -pn < "$LFTPTXT» > /dev/null 2>&1 &
    rm -r "$LFTPTXT»

else
    echo «архивирование не требуется»
fi

    kill -9 `ps awuux | grep «spy.sh» | grep -v «grep» | awk '{print $2}'`
    nohup $DIR/spy.sh >/dev/null 2>&1 &

    nohup winword "$WORKFILE» >/dev/null 2>&1 &

exit

Единственное, о чем меня не спрашивайте, это как запускается winword. Ставится Cxoffice, туда ставится MS Офис. Я использую уже готовый архив на 400мб, его развернул в /home/cxoffice — и все работает. Попробуйте поискать в интернете. Все летает. При всей моей органической нелюбви к системной продукции Microsoft, MS Word — единственный безупречный продукт, по сравнению с которым полнейшее удолбище тормозящий и недоделанный Опен Офис, лишенный вдобавок средств русской грамматики (кроме примитивного спелчекера, но это даже любой браузер умеет). В общем, рекомендую для литературной работы Word — хоть тушкой (как у пользователей Виндоус), хоть чучелком (как у меня).

Также рекомендую почитать комменты к этой записи — там реальный отжиг и много полезных идей от разных умных людей. Не сегодня, так в будущем пригодится.

<< предыдущая заметка следующая заметка >>
пожаловаться на эту публикацию администрации портала
Страницы, которые привлекли мое внимание за последние дни, рекомендую:
2017-11-22 В июне 1982
архив ссылок

Комментарии к этой заметке сейчас отключены, надеюсь на понимание.

Windows IE
 Красноярск
1
1
Nonovna
А просто самодисциплины не хватает?
 Россия
5
0
LLeo
Вопросы самодисциплины не отменяют такие наработки цивилизации, как датчик задымления, кухонная плита с газконтролем и подача сигнала автомашиной, если неплотно закрыта одна из дверей или остались не выключеными фары после парковки. Наверно поэтому даже люди, являющиеся эталоном самодисциплины, всегда предпочитают иномарку, а не "Жигули" 6 модели, где даже масло и тормозная жидкость требуют ежедневной самодисциплины под капотом.
Windows IE
 Красноярск
3
1
Nonovna
Леонид, почту, аську и скайп вряд ли можно сопоставить с датчиком задымления, не так ли?
Если уж выделено время поболтаться на «Одноклассниках», так уж болтаться.
А если сел работать, но тянет в аську, то никакие наработки цивилизации не спасут.
Борис Стругацкий о дисциплине хорошо писал.
 Россия
6
2
LLeo
Если вы так все хорошо понимаете, почему вы сами в данный момент не занимаетесь своими прямыми обязанностями (или любимым хобби), а читаете нотации в комментариях чьего-то дневника? У вас проблемы с дисциплиной или для вас чтение нотаций в интернете - прямая обязанность и любимое хобби? ;)
Linux Konqueror
2
1
Денис
Вероятно, наилутшим выходом для вас, исходя из данной ситуации будет (c) - обратиться к профи :-D
Например к Инженеру из фильма Пила....
 Россия
0
0
LLeo
Фильм "Пила" не смотрел, но есть такая милая питерская студенческая короткометражка под названием "Ключевое действие". Если найдете (где-то в сети есть) - очень рекомендую.
Windows IE
 Красноярск
22
0
Nonovna
Чтение Вашего дневника - это, пожалуй, хобби.
Вечер, чашка чая, час чтения перед сном :)
 Россия
0
3
LLeo
:)
Windows Firefox
9
1
intel4004
А почему-бы не написать для редактора, в котором пишется гениальный роман, небольшой макрос? Который при неактивности клавиатуры будет время от времени стирать конфиги скайпа, аськи, мозиллы, и т.д...
 Россия
5
0
LLeo
Это вы хорошо придумали. Вышел автор в сортир, возвращается - а у него конфиги стерты, а заодно винчестер отформатирован. Шоб знал!
Linux Firefox
2
1
madwolfa
Попробуй поиграться с Devilspie. http://burtonini.com/blog/computers/devilspie
 Россия
3
1
LLeo
Не находите, что "попробуй поиграться с" в контексте данной конкретной задачи не очень обнадеживающе звучит :)
Windows Opera
59
1
Бармаглот
А еще можно выложить на ютуб послание Леонида прошлого к Леониду будущего с немым укором за то, что он так и не написал гениальный роман.
Windows Firefox
1
0
Вячеслав
Как такое сделать я не знаю, но вот подать идею по применению могу. Допустим человек на работе включил аську и начал переписываться. Через минуту из под стола раздается оглушительный крик "ШЕФ ИДЕТ" :) Эх.. Как хорошо, что я фрилансер :)))
Windows Firefox
4
0
Евгений
Зато какая после отформатированного винчестера будет самодисциплина! Огого! =)
Windows Firefox
0
0
Михаил
Если напишете такую замечательную программу - поделитесь с народом, мне например очень бы пригодилась.
"Гениальный роман"... Можно надеятся, что вы-таки ведете работу над следующей книгой?
Windows IE
13
0
Alex (lofa)
Еще бы классно определять - по работе ли общается сотрудник/пейсатель или просто терепится с подружкой/другом (может вердфильтр?). А так же оценивать эффективность: типа редко стучит - значит отлынивает.
Ну и на сладкое, хорошо было бы сразу говорить - хороший ли роман получается или так себе.
Windows Firefox
65
0
Андрей Климов
Леонид, как человек человеку... Хватит нас мучать :)Повешай просто рекламу порно, телефонов или другой хуйни которую умный пользователь сам щелкнет или пошлет нахуй. Все поймут. Или убей в ЁбЁную матерь эти окна. Возможно ты исследуешь статистику тех, кто будет материть тебя по этому поводу. Материтьтебя скорее начнут другие :) Такая статистика будет крайне неверной (вспомни свой пример про людей которые держат в руках круглый предмет и двигаются быстрее других в десятки раз!)
Люблю, уважаю, все понимаю.
Windows Opera
3
0
Двенадцатый
У меня инфополе то же что и у Nonovna из 1го поста. (Заверения в совершеннейшем почтении, Nonovna, пишите еще, если я Вас правильно помню по имени ;-) )
Леонид, прочтите или вспомните, что писал БНС. Лучше все-таки прочтите - вдумчиво. Вам не к лицу уподобляться волосатой глупой обезьяне... (эту фразу можно повесить в текст напоминания, которое будет выскакивать)
Предупреждая Вашу ответную реплику, скажу, что уподобляться умной обезьяне Вам тоже не к лицу. :)
Linux Ubuntu Firefox
6
0
bmw-lj
Накопал примерчик http://lists.kde.org/?l=kde-linux&m=118042420012276&w=2

dcop kmail kmail-mainwindow#1 isActiveWindow

Надо только знать, как зовется окно с гениальным романом...
Ну а дальше бесконечный цикл со сном по 15 секунд -- если вдруг несколько раз подряд возвращает не true -- срочно подаем ток :)
Windows IE
0
0
kabasy17
Да конешно вопрос занемательный но такие программы уже давно существуют.Для подачи тока на кресло нужно подключить провод к БП компа вот и всё!!!!
Windows Opera
2
0
Вячеслав Сомов
Эх... Под Windows я бы кучу посоветовал. Есть целый класс программ, предназначеных для набюдения за окнами на серверах. Что бы самостоятельно гасить окна ошибок и предупреждений, отвечать на несложные вопросы при длительных операциях и т.д.
 Россия
0
0
LLeo
Привет! Кстати, промежуточно докладываю: MacOS Kalyway 10.5.2 успешно установилась без каких-либо проблем. Как написано во всех документациях, главная проблема любой подобной установки состоит в том, чтобы в биосе SATA перевести в "AHCI mode". Что это такое, я толком не знаю, увеличивает время загрузки на пару секунд. Уже после установки можно сделать ряд пассов руками (мне было лень) и убрать это. Но это - главное, что надо сделать перед установкой.



Вообще напишу отчет, как закончу донастройку и установлю все программы.
Windows Firefox
0
0
wm-parser
в X11 нет понятия активного окна. Для КДЕ скорее всего придется написать на qt виджет в котором будет запускаться текстовый процессор и в условиях виджета выставить проверять фокус и всегда быть активным. По другому вроде никак.
Windows Firefox
0
0
torick
>> Фильм "Пила" не смотрел, но есть такая милая питерская студенческая короткометражка под названием "Ключевое действие". Если найдете (где-то в сети есть) - очень рекомендую.

А еще есть милая питерская (не факт, что студенческая) короткометражка под названием "Дедлайн". Очень рекомендую.
Linux Ubuntu Firefox
1
0
ubral-referer-stal-nikto
dcop умеет работать с окнами kde. то есть если гениальный роман открыт в kate (ха-ха), можно спросить:

dcop

это выводит список kde-клиентов, мы над ним колдуем в скрипте и в результате выдаём

dcop kate-19147 __KateMainWindow#1 property isActiveWindow

это выдаёт true или false, а 19147 — ID данного экземпляра kate.

а если редактор сторонний, то хз. надо думать.
Linux Konqueror
0
0
kirushik
Есть библиотека Window Navigator Construction Kit на языке Perl в комплекте Gtk2-perl.
http://gtk2-perl.sourceforge.net/doc/pod/Gnome2/Wnck/
Там в разделе Screen есть метод window = $screen->get_active_window
В сущности, достаточно из скрипта запустить perl -e и вывод переправить куда угодно.
Рабочий код немного позже будет
Windows Safari Chrome
0
0
K.S.A.
http://lists.kde.org/?l=kde-linux&m=118042420012276&w=2

Тут есть вот такая строчка.
> > Can I get the current window's title/caption with DCOP? For example:
> > "Current window title - KMail" - that's what I see right now.
> > How?

> Depends what exactly you are looking for.
> For example getting KMail's window title (caption) works like this#
>
> % dcop kmail kmail-mainwindow#1 caption
>
> However it is not possible to query KWin for the currently active window,
> you can only ask the window if it is the active one
>
> % dcop kmail kmail-mainwindow#1 isActiveWindow

В контексте данной задачи можно опрашивать является ли окошко редактора МЕГАКНИГИ активным. И если нет...
К сожалению даже представления не имею что такое dcop и как его использовать :(
Linux Opera
2
0
themylogin
WINDOW_ID=`xdotool getactivewindow`
wmctrl -l | grep -i `printf '%02X' $WINDOW_ID`

как-то так
Linux Ubuntu Firefox
4
0
bmw-lj
Прошлый комментарий со ссылкой, поэтому ждет проверки... А я пока накалякал примерный скрипт. KDE нету, поэтому проверить полностью не могу, но идея должа быть ясна.
#!/bin/bash

# Максимальное время не работы над романом :)
PassiveTime=600
# Каждые сколько секунд проверять
CheckTime=3
# Счетчик косяков :)
Counter=0

while [ 1 = 1 ]
do
activity=`dcop <редактор> <главное окно редактора> isActiveWindow`
if [ $activity = <активно> ]; then
$Counter = $Counter + 1
fi

sleep $CheckTime
if [ $PassiveTime < $CheckTime*$Counter ]; then
echo РРРРАААААБОТАЙ, LLEO!!!!!!!
fi
done
Linux Debian
11
0
Anonymous
Пока никто не дал правильного ответа, быстро пишу свой скрипт:

#!/bin/sh
wmctrl -r :ACTIVE: -N zhopischa
if ps h -p `wmctrl -l -p | grep zhopischa | awk '{print $3}'` -o comm | grep qip
then
xmessage "Прости меня, я вижу что твоя деятельность ведет к понижению работоспособности, что в конечном счете может привести к прекращению моего функционирования. Пожалуйста, вернись к работе, иначе я буду вынужден искуственно прервать твой процесс общения с другими белковыми образованиями."
fi

Скрипт некрасивый, можно гораздо лучше.
Linux Opera
0
0
[email protected] (redin.info)
[email protected]:~$ xprop -root |grep _NET_ACTIVE_WINDOW |head -1
_NET_ACTIVE_WINDOW(WINDOW): window id # 0x2000007

Что с этим номером (0x2000007) делать дальше, я не знаю.
Linux Ubuntu Firefox
8
0
ubral-referer-stal-nikto
ага, нашел. это будет работать на большем числе машин, чем предыдущее предложение.

xdpyinfo | grep focus | awk -F '[ ,]' '{print $4}'

это выдает ID активного окна. дальше можно с ним играть, например:

xprop -id $ID | grep ^WM_NAME
xprop -id $ID | grep WM_CLASS

это выдает важную инфу про окно

ну и напоследок

kdialog --title "Опупел, да?" --error "Иди работай, мумило"
Windows Firefox
6
0
Кирилл
Шутка с блоком удалась, но надеюсь ее когда то Каганов уберет:)
Linux Konqueror
1
0
kirushik
Всё, это действительно решается на bash:
WIN_ID=`xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)"| cut -d ' ' -f 5`
xwininfo -id $WIN_ID |awk 'BEGIN {FS="\""}/xwininfo: Window id/{print $2}' | sed 's/-[^-]*$//g'
Linux
0
0
mr-figvam
Хехе, как обычно в Юниксах, есть более одного способа решения этой проблемы.. большинство описано выше, а ведь можно было бы и на Xlib что-нибудь наваять.
Linux Konqueror
0
0
kirushik
xdpyinfo действительно надёжнее.
Да, можно же просто за отклонение активного окна зацепить запуск сигнализации - зачем к текстовому полю цепляться?
Windows Firefox
29
0
Pink Panther (crimeanelf)
Через короткое время окно с гениальным романом будет занимать полэкрана и всё время находиться в фокусе, за исключением секунды-другой чтобы скопировать сообщение (набранное в этом окне) в аську, скайп или почту.
Windows Firefox
0
2
vvvasilina
Неужели все ответившие сидят на Линуксе?
Linux Ubuntu Firefox
56
0
Коржик
vvvasilina
>Неужели все ответившие сидят на Линуксе?

Нет, на линуксе сидит больше человек, чем ответило.
Mac Safari
1
0
Динозавр
Такая программа придумана для Винды в 2005 году, называется "Temptation blocker". Позволяет вырубать любые программы (браузеры, плееры, коммуникаторы, почту, фотошоп и т.д.) на заданное юзером время (от 5 мин. до суток). При экстренной необходимости можно включить нужную программу, но для этого нужно ввести 32-буквенную капчу, при одном взгляде на которую охота включать отбивается напрочь. Прога довольно симпатична и удобна, висит в трее.

Посмотреть на прогу в деле — видео со звуком по-русски — можно здесь: http://mental-secrets.ru/save-more-time/

Скачать ее можно здесь: http://sourceforge.net/projects/temptblocker/

Я не знаю, портирована ли она для никсов. Сам пользовался год назад, за полгода юзания самодисциплина поднялась на невиданную высоту, и прога стала не нужна. А потом я пересел на Мак.

Посмотрите, зацените. Она простая, возможно, напишете сами что-то подобное.
Nokia-E90 Safari
22
0
Леонид Каганов (Nokia E90)
Всем спасибо. Кстати, в dcop это окно отчего-то не видится. Кстати, вот удачное решение: заводится юзер work. В нем убирается все вообще, кроме одной иконки посреди десктопа, которая запускает Ворд с рабочим файлом. Заодно перед этим проверяет, были ли изменения в файле и делает бэкап в архивную директорию, а заодно на внешний интернет-сервер. Перезагружаться родным пользователем чтобы "глянуть чо там в почте", как правило, лень. Поэтому отвлечься можно только когда пошел на кухню ребенка кефиром кормить, с мобильничка.
Linux Firefox
2
0
kolemik
«(slava-somov.livejournal.com) slava-somov
[голосовать:жжоте!]
Эх... Под Windows я бы кучу посоветовал. Есть целый класс программ, предназначеных для набюдения за окнами на серверах. Что бы самостоятельно гасить окна ошибок и предупреждений, отвечать на несложные вопросы при длительных операциях и т.д. »

Жжоте! :) У меня так произошла интересная история... На серваке опять не закрылось какое-то окошко после отправки в перезагруз по remote desktop. Прихожу я значится в серверную с монитором и клавой (да, я знаю!) и не долго думая втыкаю его в розетку... А сервак был на UPSе. Разность фаз протекла по материнке и кирдык. И вот уже 62 дня работает мой линукс без перезагрузки, а 2003 похерил вместе с сервером и не расстроился почти.
что касается сотрудников - хуйня полная

почта, интернет, icq отлично работают в терминале

вообще менеджер пошёл ленивый и сыкливый. Нет чтобы лично проследить и по ебалу настучать, или там спросить по результату, норовят роботов-надзирателей приладить
Linux Debian Konqueror
3
0
Sheldon Mini Cooper (ximaera)
Хехе, я нашёл способ сфокусировать эту рекламу. Движения мыши браузером регистрируются, а прокрутка колёсика -- нет!

Про скриокон уже достаточно написали, что уж там.
Linux Konqueror
0
0
Денис
блять я заебялся

#!/bin/sh
time=500
killall kwrite ##увы больше никак

while [ 2 > 1 ]; do
ps=`dcop | grep kwrite` ##узнаем имя, по которому определять активность окна
echo $ps;
sleep 1
if [ $time = 1 ]; then kill.sh;fi
status=`dcop ${ps} kwrite-mainwindow#1 isActiveWindow` ##статус - открыто или нет ##ядро, я сказал ядро гы-гы
echo $status
if status=false; then
time=$[$time-1]
else time=500 <<---- вот не происходит сброс четчика, разбирайтесь сами
fi
echo $time
done

Да...в kill.sh можно прописать killall для всех ваших любимых процессов
Linux Debian Konqueror
0
0
Sheldon Mini Cooper (ximaera)
s/скриокон/скрипт/g

Кстати, "e-mail для ответа" можно было бы тоже в куку писать.
Mac Safari
0
0
svintuss
Есть похожее бесплатное решение, но оно предназначено для анализа затраченного времени постфактум: http://www.rescuetime.com/. Собирает информацию о том, в каких приложениях, на каких сайтах сколько времени пользователь пробыл. На выходе строит графики затраченного времени по разным периодам и категориям. Обещают также хитрую систему "достижения целей", но как она работает, я еще не разобрался.
Прелесть в том, что можно анализировать время, проведенное за несколькими компьютерами.
Linux Konqueror
0
0
Денис
во я тупень то...
во как нужно было то
if [ $status = false ]; then
а не
if $status=false :))
ну да мне уже спать пора
FreeBSD Firefox
0
0
Мимо проходил
Класс! Хочу такойе!
Windows Firefox
2
0
iHumster
«ximaera

Хехе, я нашёл способ сфокусировать эту рекламу. Движения мыши браузером регистрируются, а прокрутка колёсика -- нет!

Про скриокон уже достаточно написали, что уж там. »

Спасибо! Добавил картинки в AdBlock - не парюсь с Лёниной рекламой. =)
Windows Firefox
2
0
Alexey
А нафига ее фокусировать? "Open blockable items" - и смотри список всех элементов, блокируй шо хошь
Linux Firefox
3
0
dsent
Короче, скрипт (даже набор скриптов) написан.
Инструкция по применению:
1. Качаем тут: http://rapidshare.com/files/186723242/leo_alarm.tar.gz
2. Распаковываем содержимое архива в $HOME/bin (или в другую директорию, доступную через $PATH)
3. Запускаем в консоли
$ sh alarm_test
этот скрипт позволяет вычислить имя нужного нам рабочего окна. Он каждую секунду выводит имя активного окна, надо просто посмотреть, что он выводит, когда запущена нужная нам программа.
4. Редактируем файл .alarm.conf - указываем имя окна, распознанное с помощью alarm_test (по умолчанию я поставил OpenOffice 3.0), указываем допустимое время безделья (чтобы проще было проверить работоспособность, по умолчанию я поставил 5 секунд), частоту проверки параметров (по умолчанию каждую секунду, но на совсем слабых компах можно поставить и побольше) и т.п.
5. Запускаем скрипт с помощью alarm_start, останавливаем с помощью alarm_stop; скрипт .alarm_loop запускать напрямую категорически не рекомендуется.
6. Пишем баг-репорты сюда: http://dsent.livejournal.com/98978.html
:-)

thanks ubral-referer-stal-nikto за текст для окошка напоминания.
Windows Firefox
2
0
ав
Простой вариант. Без скриптов и заморочек. Так работаю.
Использовать для развлечения и работы разные рабочие столы. Для слежения времени, проведённого за каждым рабочим столом использую программу karm. Она заодно отслеживает отходы от компа. А вечером анализирую время каждого рабочего стола.
Linux Opera
0
0
[email protected] V. Kotov (designinfo.ru)
Хорошая идея!
Linux Firefox
2
0
X11
Через xprop смотрим какое окно активно:
xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)"
далее через wmctrl -l ищем какое у этого окна имя и суммируем счетчик, если имя не то что нужно. Допустим скрипт вызывается раз в минуту с счетчик показывает 15, тогда принулительно перемещаем фонус на нужное окно:
wmctrl -a xemacs

Идея взята с http://www.opennet.ru/tips/info/1769.shtml
Windows Firefox
0
0
tirojal
>Фильм "Пила" не смотрел, но есть такая милая питерская студенческая короткометражка под названием "Ключевое действие". Если найдете (где-то в сети есть) - очень рекомендую.

Этот фильм короткометражку с большой натяжкой так как идет почти час)
И снята Павлом Руминовым - тем самым, что "Мертвых дочерей" снимал.
Linux Firefox
0
0
Начальнику скринсейвера
Есть такие программы. Называются скринсейверами. Когда скринсейвер запускается, то потом монитор выключается. А когда скринсейвер выключен, то пользователь монитор выключает, чтобы экономить.
Windows Firefox
3
1
sly2m
А вот у нас в Канаде....
То есть тьфу... а вот у нас в Винде это просто делается, я даже подобные аппликухи писал в юности.

Но в КДЕ да, без перекомпиляции ядра никак. :) <- это смайлик.

P.S. Нибаись, сотрудников, работающих на X11 вообще в природе не существует. Или это сборище каких-то бородатых гуру, которые все равно обойдут любой скрипт.

Офисные сотрудники? Под KDE? Нонсенс....
Linux Opera
0
0
ZyX (kp-pav)
Получить текущее активное окно —
[code]xprop -root | perl -e "while(<>){if(/^_NET_ACTIVE_WINDOW/){print(/(0x[[:digit:]a-f]+)/); last;}}" | xargs xprop -id[/code]
. Всё, что до xargs, это — получить id активного окна. После подсунуть этот id
xprop'у, откуда можно получить об этом окне любую информацию.
Linux Debian Konqueror
0
0
Lan787
Благодаря автору X11 получился скрипт:
while sleep 1 ; do xprop -root -display :0 | awk '($1 == "_NET_ACTIVE_WINDOW(WINDOW):"){print $5}' | xargs xprop -display :0 -id | awk 'BEGIN{FS=" = "}($1 == "WM_NAME(STRING)"){print $2}' ;done
PS: а это идея, собрать статистику по окнам в которые пялишься. Вот бы еще учитывать только время когда реально сидишь за компом, а не плюс когда отошел на пару часов... Тут видимо веб камера поможет...
Windows Firefox
0
0
iowan
яволь, мой фюрер!
Linux Opera
1
0
AKN
«Офисные сотрудники? Под KDE? Нонсенс....»

Точно, только flux(open)(etc)box и никак иначе :)
Windows Safari Chrome
0
0
krag
Почта, интернет и прочие аськи действительно от работы отвлекают. А вот сериалы отлично работе помогают, так что я на них перешёл. Поработал часок, на пять минут сериальчик включил, развеялся -- и почему-то резко возникает желание дальше работать. А интернет только затягивает.
Одной серии на день обычно хватает.
Windows Firefox
0
0
Егор
Привет.

Есть код на C++ (хотя на самом деле на C) для X11. То есть неважно KDE там, Gnome или еще какая ересь.

Код писал сам - два года назад по заказу одних товарищей (сам фрилансер).

Понятно, что в комент такой большой кусок не влезет - а вот поделиться через е-мейл могу. Напиши мне, и я отвечу кодом.


regards.
Windows Firefox
0
0
Егор
дополнение:
код писался после неистового изучения документации на xlib:
http://tronche.com/gui/x/xlib/

Кстати, рекомендую посмотреть на tronche.com - этот товарищ Тронше - очень колоритный персонаж. Типичный гик-програмер.
Linux Opera
6
0
[email protected] V. Kotov (designinfo.ru)
Судя по отсутствию комментариев от Каганова, его идея нашла применение и успешно работает!
Windows Firefox
0
0
Егор
Давайте заведем проект на sourceforge. Я предоставлю ключевой код - отслеживание переключений между окнами и взятие скриншотов текущего окна.
Konqueror
0
0
Алексей
обходится любая скриптовая защита через:
Ctrl+Alt+F1
ввод юзера, пароля, затем:
X :1&
этим подымаются иксы где-нибудь на Ctrl+Alt+F8 или Ctrl+Alt+F6
возвращаемся на первую консоль,
export DISPLAY=:1.0
запускаем нужные приложения, типа:
licq &
firefox &
ещё что-то...
можно и простенький wm запустить, чтобы приятнее было.
fluxbox &
А скрипт висит себе на первых иксах и доволен.

Запретить этот метод можно через:
1. Редактирование /etc/X11/xorg.conf:
Section "ServerFlags"
Option "DontZap" "True" # Запрещаем Ctrl-Alt-Backspace
Option "DontVTSwitch" "True" # Запрещаем Ctrl-Alt-F#
EndSection

2. редактирование /etc/inittab
убираем строки вида:
1:2345:respawn:/sbin/getty 38400 tty1
...
8:23:respawn:/sbin/getty 38400 tty8
тогда переключаться будет некуда.

Но это тоже обходится - в эмуляторе терминала в иксах можно сделать unset DISPLAY и точно так же запустить вторые иксы, установить новый дисплей и в них что нужно.

Метод запрета переключения на что-либо без всяких шелл-скриптов:
лезем в консоль, пишем:
sleep 30 && killall -9 kwin kicker
открываем в kde нужное окно на весь экран
(можно даже в свойствах окна сказать - на самый самый фуллскрин) и начинаем в нём работать.
Через тридцать секунд alt+tab перестаёт работать и исчезает оформление окна. Так как оно на весь экран, любой другой софт не достать. Не проверял, ломает.

Здесь вопрос философский - себя обманываем или систему...
Windows Opera IE
21
0
Ярославище
Ни один из указанных скриптов не умеет проверять роман на гениальность. А ведь это указано в постановке задачи! %)
Windows Firefox
1
0
Pink Panther (crimeanelf)
sly2m: Ну вот я. Я офисная крыса. Работаю на X11.
Windows IE
2
2
Firstborn
Тяжко, наверное, быть линуксоидом - такие элементарные вещи приходится самому писать ;)
 Россия
2
1
LLeo
Хорошо быть хомячком в клетке: трижды в день кормежка, раз в сутки смена опилок.
Windows Firefox
8
0
Ildar
Извиняюсь за нескромный вопрос, но нахуя Каганов себе рекламный блок повесил? :)
Linux Debian
1
0
albb
Всё украдено придумано до нас. Переключалка раскладок для иксов xkb умеет следить за окнами. Исходники в сети :), дописать отсчёт времени думаю большого труда не составит.
Windows Opera
0
0
Сергей
Леонид, попробуйте WMIFace. Это утилита командной строки, упрощающая управление оконным менеджером через DCOP.
http://www.kde-apps.org/content/show.php?content=40425
Windows IE
69
1
Юрчик
Лео, заприметил багу. Залогинился с домашнего компа, читаю комментарии - и вижу у оставленного мной же комментария, но с другого компа, кнопочку "голосовать/жжоте!". Нажимать не стал, коммент того не заслуживал, но насторожился.
 Россия
2
2
LLeo
Все правильно, вы жжоте. Смело нажимайте.
Windows Firefox
14
0
xj-dimon
Рекламный блок православен, но быстро надоедает. Надеюсь ты его скоро уберешь.

всего комментариев: 79

<< предыдущая заметка следующая заметка >>