Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2014-10-13 11:36:04

  jacekz - Użytkownik

jacekz
Użytkownik
Skąd: Lubuskie
Zarejestrowany: 2013-01-20

Przechwycenie ESC

Poniższy skrypt służy mi do wygodnego zamykania systemu - odlicza 5 sek. przed zamknięciem systemu.
Jak go poprawić by naciśnięcie ESC jedynie przerywało/zamykało okno bez wykonania domyślnej opcji (czyli sudo poweroff)?

Kod:

#! /bin/bash
action=$(yad --width=200 --title "System Logout" --center --button="Poweroff:3" --button="Logout:4" --button="Reboot:2" --button="gtk-close:1" --on-top  --skip-taskbar --borders=20 --timeout=5 --timeout-indicator=top)
ret=$?
[[ $ret -eq 1 ]] && exit 0
case $ret in
    3) cmd="sudo poweroff" ;;
    2) cmd="sudo reboot" ;;
    4) cmd="openbox --exit" ;; 
    *) cmd="sudo poweroff" ;; 
esac
eval exec $cmd

Offline

 

#2  2014-10-13 12:21:48

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Przechwycenie ESC

dodać button cancel a w case * zrobić exit


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#3  2014-10-13 12:49:27

  jacekz - Użytkownik

jacekz
Użytkownik
Skąd: Lubuskie
Zarejestrowany: 2013-01-20

Re: Przechwycenie ESC

Przycisk "cancel" nic nie zmienia (właściwie to tam jest w postaci przycisku "close")
Idea jest taka, że jeśli programowi się nie przerwie to on ma wyłączyć komputer (czyli w case * powinno być poweroff)
Problemem jest to, że przerwanie przez ESC lub przycisk zamykania okna tez wywoływało domyślną akcje - a nie chcę by tak robiło.

Offline

 

#4  2014-10-13 13:06:02

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Przechwycenie ESC

w czystym gtk to byłoby proste... a nie można tego w jakim pythonie napisać?
porada na kolanie (może być głupia) - a zmierzyć sobie czas od otwarcia okienka do powrotu i jeśli jest krótszy niż trzeba to domyślną akcją jest exit?


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#5  2014-10-13 13:23:57

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Przechwycenie ESC

A ten komp taki tajemniczy, (nie wiem, lapek to czy piecyk) nie ma czasem na obudowie jakiegoś knefla, o którym ACPI powiada, że to "Power Button"?

Pytam, bo w ACPI ustawić wyłączanie kompa tym kneflem, to jest 257 razy prostsza akcja, niż w jakimkolwiek power-managerze czy czymś podobnym.

Ja od ponad dwóch lat nawet nie wiem, czy wyłączanie z poziomu środowiska graficznego w ogóle działa, bo w ogóle tego nie używam. ;)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#6  2014-10-13 13:30:14

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Przechwycenie ESC

@jacekalex: ty na forum o gotowaniu jak ktoś zapyta ile kopru trzeba dać na kilo kiszonych ogórków też odpowiadasz, że jadasz wyłącznie kiełbasę bo jest lepsza od ogórków?


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#7  2014-10-13 13:33:40

  jacekz - Użytkownik

jacekz
Użytkownik
Skąd: Lubuskie
Zarejestrowany: 2013-01-20

Re: Przechwycenie ESC

Zobacz sobie ;) https://www.google.pl/search?q=foxconn+a3500&client=opera&hs=jL0&sa=X&biw=1635&bih=814&tbm=isch&tbo=u&source=univ&ei=Crg7VKmuBMzhaPLPgcAE&ved=0CD0QsAQ

A power button działa znakomicie, ale ten męczący mnie skrypt jest po prostu wygodniejszy.

Offline

 

#8  2014-10-13 13:34:18

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Przechwycenie ESC

[quote=ethanak]@jacekalex: ty na forum o gotowaniu jak ktoś zapyta ile kopru trzeba dać na kilo kiszonych ogórków też odpowiadasz, że jadasz wyłącznie kiełbasę bo jest lepsza od ogórków?[/quote]
Bez kiszonych i konserwowych ogórków świat byłby okropny. :D

Ja poza tym tylko zwracam uwagę, że lepiej zając się czymś przyjemnym, np zwalczaniem kryzysu demograficznego, zamiast kombinować, jak wyłączać kompa z poziomu okienka w managerze okien.

Po prostu nie warto sobie  życia utrudniać bardziej, niż to bezwzględnie konieczne. :D

Ostatnio edytowany przez Jacekalex (2014-10-13 13:35:24)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#9  2014-10-13 13:41:02

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Przechwycenie ESC

hm... ja na przykład aby sięgnąć do guzika na blaszaku muszę odsunąć jakąś durną plastikową osłonę, przy czym aby to zrobić muszę wyjąć kabelek usb. normalnie bym ten kawałek plastiku wywalił tam gdzie jego miejsce... ale komp jest firmowy i wywalanie czegokolwiek nie jest mile widziane. to co jest wygodniejsze?


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)

[ Generated in 0.015 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00017 SET CHARSET latin2
0.00008 SET NAMES latin2
0.00193 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='13.59.61.119' WHERE u.id=1
0.00104 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '13.59.61.119', 1714676435)
0.00090 SELECT * FROM punbb_online WHERE logged<1714676135
0.00085 SELECT topic_id FROM punbb_posts WHERE id=277444
0.00116 SELECT id FROM punbb_posts WHERE topic_id=26539 ORDER BY posted
0.00132 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=26539 AND t.moved_to IS NULL
0.00013 SELECT search_for, replace_with FROM punbb_censoring
0.00142 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=26539 ORDER BY p.id LIMIT 0,25
0.00201 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=26539
Total query time: 0.01101 s