ปุ่มปิดที่ alert-osd?


41

เป็นไปได้หรือไม่ที่จะได้รับปุ่มปิดบน OSD?

มันยังคงอยู่เป็นเวลานานและบางครั้งฉันก็มีเพื่อนร่วมงานบนพีซีของฉันและฉันไม่ต้องการให้พวกเขาเห็นว่าใครกำลังออนไลน์หรือเพลงที่ฉันกำลังฟังอยู่ ไม่ฉันไม่สามารถปิดการใช้งานได้


วิธีแก้ปัญหาเพียงวิธีเดียวที่จะได้รับปุ่มปิดในการแจ้งเตือนคือการใช้ AWN และใช้ปลั๊กอินการแจ้งเตือน มันทำงานได้ดีกับ Rhythmbox และ exaile ด้วย
theTuxRacer

คำตอบนี้askubuntu.com/questions/14354/close-button-on-notify-osd/ ...... โดยทั่วไปจะยึดเอาหน้าจอการแจ้งเตือน มันเป็นแบบชั่วคราวและหากกระบวนการนี้หยุดลงการแสดงการแจ้งเตือนจะดำเนินต่อ หากโดย "ฉันไม่สามารถปิดใช้งาน" หมายความว่าคุณไม่มีอิสระในการปิดใช้งานdbusกลไกการแจ้งเตือนโซลูชันนี้จะยังคงอยู่เหมือนเดิม ... หากหมายความว่าคุณได้ลองและไม่สามารถทำได้อีกครั้งคำตอบนี้จะ ให้ทางออก
George Rowell

คำตอบ:


16

ทางออกที่ดีที่สุดของคุณจะเป็นข้อผิดพลาดและขอคุณสมบัติ เมื่อยื่นข้อผิดพลาดสิ่งที่อยากได้โปรดอย่าลืมนึกถึงกรณีผู้ใช้ว่าเหตุใดคุณสมบัตินี้จึงสามารถพิสูจน์ได้ว่าเป็นประโยชน์สำหรับชุมชนผู้ใช้งาน Ubuntu ขนาดใหญ่


ใช่ฉันจะทำอย่างนั้น แต่ฉันจะทำสิ่งนั้นได้อย่างไร ยิงจรวดขีปนาวุธ?
theTuxRacer

1
มันอยู่ในสิ่งที่อยากได้แล้ว แต่การกระทำจะไม่เกิดขึ้นฉันคิดว่า โปรดโหวตbugs.launchpad.net/ubuntu/+source/notify-osd/+bug/381416
theTuxRacer

7
@Kaustubh P อ่านสิ่งนี้, markshuttleworth.com/archives/253โดยเฉพาะในส่วนนี้: The most controversial part of the proposal is the idea that notifications should not have actions associated with them. In other words, no buttons, sliders, links, or even a dismissal [x].อย่าเพิ่งได้รับความหวังของคุณสิ่งนี้จะไม่เปลี่ยนแปลงตลอดเวลาในไม่ช้าถ้าเคย
อิสยาห์

1
มีข้อมูลจำเพาะเพื่อกำหนดเวลาของตัวแปรการแจ้งเตือน - ข้อความที่ยาวขึ้นจะคงอยู่เป็นเวลานานขึ้นหรือข้อความที่อัปเดตจะขยายออกไป การติดตั้งโปรแกรมปะปนที่น่ายินดีจะช่วยให้เราสามารถย่นเวลาสำหรับข้อความสั้น ๆ :-)
Mark Shuttleworth

10
นอกจากนี้เราต้องการเพิ่มโหมด "ห้ามรบกวน" ซึ่งจะมีการแจ้งเตือนเฉพาะระบบ (เร่งด่วน) เท่านั้นเช่นปัญหาแบตเตอรี่อ่อนมากและปัญหาฮาร์ดแวร์จะปรากฏขึ้น ดังนั้นคุณสามารถใช้สิ่งที่ไม่รบกวนเพื่อหลีกเลี่ยงคนที่เห็นการแจ้งเตือนของคุณเมื่อพวกเขากำลังมองข้ามไหล่ของคุณหรือคุณกำลังเสียบเข้ากับโปรเจ็กเตอร์ (แม้ว่าเราต้องการใส่การแจ้งเตือนบนหน้าจอแล็ปท็อปของคุณ จอแสดงผลต่างกัน) อีกครั้งแพทช์สำหรับการที่จะได้รับการต้อนรับ
Mark Shuttleworth

35

ตัวเลือกที่จะมีโครเมียมเป็นศูนย์ในการแจ้งเตือนชั่วคราวมีเจตนามากและจะไม่เปลี่ยนแปลง เหตุผลก็คือการแจ้งเตือนเหล่านี้ควรมีน้ำหนักเบาที่สุดเท่าที่จะทำได้

อย่างไรก็ตามมีบางสิ่งที่สามารถทำได้เพื่อช่วยคุณเพิ่มเติม

มีข้อมูลจำเพาะเพื่อกำหนดเวลาของตัวแปรการแจ้งเตือน - ข้อความที่ยาวขึ้นจะคงอยู่เป็นเวลานานขึ้นหรือข้อความที่อัปเดตจะขยายออกไป การติดตั้งโปรแกรมปะแก้ที่น่ายินดีจะทำให้เราสามารถย่นระยะเวลาสำหรับข้อความสั้น ๆ :-)

นอกจากนี้เราต้องการเพิ่มโหมด "ห้ามรบกวน" ซึ่งจะมีการแจ้งเตือนเฉพาะระบบ (เร่งด่วน) เท่านั้นเช่นปัญหาแบตเตอรี่อ่อนมากและปัญหาฮาร์ดแวร์จะปรากฏขึ้น ดังนั้นคุณสามารถใช้สิ่งที่ไม่รบกวนเพื่อหลีกเลี่ยงคนที่เห็นการแจ้งเตือนของคุณเมื่อพวกเขากำลังมองข้ามไหล่ของคุณหรือคุณกำลังเสียบเข้ากับโปรเจ็กเตอร์ (แม้ว่าเราต้องการใส่การแจ้งเตือนบนหน้าจอแล็ปท็อปของคุณ จอแสดงผลต่างกันตรงไหน) อีกครั้งแพทช์สำหรับการที่จะได้รับการต้อนรับ


ว้าวขอบคุณสำหรับคำตอบ! ฉันเดาว่าฉันอาจจะร้องไห้!
theTuxRacer

5
ฉันหวังว่าจะมีการใช้งานโหมด "ไม่รบกวน"
Roddie

สำหรับระบบการแจ้งเตือนเร่งด่วนนี้ควรมีวิธีในการแยกความแตกต่างของการแจ้งเตือนที่จะจัดเป็นเร่งด่วน
Oxwivi

ฉันไม่เห็นด้วยกับการตัดสินใจเหล่านี้ 100% แต่อย่างน้อยพวกเขาดูเหมือนจะทำงานได้ดี
RolandiXor

ฉันพยายามตรวจสอบซอร์สโค้ดและส่งแพตช์ (ถ้าเป็นไปได้)
สีเขียว

14

ไม่มีปุ่มปิดหยดไม่ได้อยู่ในเมาส์ (เมื่อคุณคลิกมันก็แค่คลิกสิ่งที่อยู่ข้างหลัง) ดูรายละเอียดที่นี่:

https://wiki.ubuntu.com/NotifyOSD

ฟังก์ชั่นนี้จะไม่เปลี่ยนแปลงมีรายงานบั๊กหลายฉบับถามถึงสิ่งที่คุณขอซึ่งทั้งหมดถูกปฏิเสธด้วยเงื่อนไขที่แข็งแกร่งที่สุด

คุณสามารถสร้างโปรแกรมเพื่อปิดมันแยกรหัส osd เล็กน้อยและใช้บางส่วนของรหัสสาขาที่มีอยู่ซึ่งทำสิ่งนี้แล้ว ดูโปรแกรม D-Feet เพื่อเรียกดูและเล่นกับอินเทอร์เฟซ dbus สำหรับ informosd และรหัสบน launchpad


และผูกโปรแกรมนั้นกับฮอตคีย์ใช่ไหม
Extender

มันอยู่ในสิ่งที่อยากได้แล้ว แต่การกระทำจะไม่เกิดขึ้นฉันคิดว่า โปรดโหวต bugs.launchpad.net/ubuntu/+source/notify-osd/+bug/381416
theTuxRacer

คำตอบนี้askubuntu.com/questions/14354/close-button-on-notify-osd/ ......โดยทั่วไปจะจองการแจ้งเตือนและแม้ว่าจะไม่ได้ปิดการใช้งานจริง มันเป็นแบบชั่วคราวและหากกระบวนการนี้หยุดลงการแสดงการแจ้งเตือนจะดำเนินต่อ
George Rowell

7

มีวิธีที่คุณสามารถรับการแจ้งเตือนด้วยปุ่มปิด

ป้อนคำอธิบายรูปภาพที่นี่

จากบทความของ Webupd8

ก่อนอื่นให้ติดตั้ง Avant Window Navigator จากศูนย์ซอฟต์แวร์และเพิ่ม "Notification Daemon" ไปยัง Dock

ตอนนี้กดAlt + F2และวางgconf-editor

จากนั้นไปที่แอป> awn-applet-notification-daemon (นี่เป็น AWN ล่าสุดจาก PPA trunk AWN มันอาจเป็นแอป> avant-window-navigator> awn-applet-alert-daemon เวอร์ชันเก่าของ Avant Window Navigator ) การคลิกปุ่มจะแสดงคำอธิบายที่ด้านล่างเพื่อให้คุณรู้วิธีปรับแต่ง กุญแจสำคัญที่สุดคือ: "kill_standard_daemon" - ตรวจสอบให้แน่ใจว่าเปิดใช้งานไม่เช่นนั้นการแจ้งเตือน AWN จะไม่ทำงาน

ตัวอย่างเช่น "override_x" เป็นตำแหน่งแนวนอนบนหน้าจอ (ซึ่งฉันใช้ "1900" เพราะความกว้างหน้าจอของฉันคือ 1920 และฉันต้องการให้การแจ้งเตือนปรากฏขึ้นทางด้านขวา) "override_y" เป็นตำแหน่งแนวตั้ง ( ที่ฉันใช้ "30" เพื่อให้กล่องโต้ตอบการแจ้งเตือนปรากฏที่มุมขวาบน) และ "gradient_factor" คือความโปร่งใส นั่นควรจะเพียงพอสำหรับคุณในการเริ่มต้น

หากต้องการปรับแต่งสีให้ยกเลิกการเลือกช่อง "use_theme" จากนั้นระบุ "text_colour" และ "bg_colour" และอื่น ๆ

คุณลักษณะที่สำคัญที่คุณอาจต้องการเปิดคือ "show_icon" นี่จะแสดงไอคอนบน Dock Avant Window Navigator ของคุณซึ่งคุณสามารถคลิกเพื่อปิด / เปิดใช้งานการแจ้งเตือนชั่วคราว


1
นั่นคือสิ่งที่เกิดขึ้นโดยบังเอิญว่าการตั้งค่าของฉันตอนนี้ :) การเพิ่มแอปเพล็ตการแจ้งเตือนของ AWN ทำให้ฉันสามารถใช้งานได้ตามที่ฉันต้องการ ขอบคุณสำหรับคำตอบ :)
theTuxRacer

3

แทนที่จะใช้ตัวนำทางหน้าต่าง avant คุณสามารถทำได้ (ทดสอบบน Lucid เท่านั้น):

ติดตั้ง xfce4-alertd จากศูนย์ซอฟต์แวร์และกดAlt+ F2และวางkillall notify-osd

สิ่งนี้จะเปลี่ยนไปที่ alert daemon ของ XFCE ซึ่งมีลักษณะเหมือนค่าเริ่มต้นมากมีเพียงปุ่มปิดปรากฏขึ้นเมื่อคุณโฮเวอร์เหนือมัน


2

ฉันได้อ่านเกี่ยวกับเรื่องนี้มาก่อนและสามารถเข้าใจเหตุผลการออกแบบ แต่ในทางปฏิบัติพวกเขาเบี่ยงเบนความสนใจเมื่อไม่สามารถเคลียร์ได้ง่าย

การใช้https://launchpad.net/caffeineแอปแถบสถานะซึ่งสามารถป้องกันหน้าจอ / การประหยัดพลังงานจะปิดการใช้งานป๊อปอัปดังนั้นฉันคิดว่าฉันอยากจะแนะนำวิธีนี้เป็นวิธีแก้ปัญหา

การปิดกั้นการแจ้งเตือนจะเน้นถึงความต้องการประวัติการแจ้งเตือน แต่สิ่งนี้ได้รับการหยิบยกขึ้นมาเป็นปัญหาและแก้ไขตามที่ได้รับการแก้ไข: bugs.launchpad.net/notify-osd/+bug/382094


พวกเขาทำให้การแจ้งเตือนเป็นเรื่องน่ารำคาญที่แทบจะไม่มีประโยชน์ ..
Dakota

1

ลดความล่าช้าด้วยแอป alert-osd-conf


ฉันอาจลองสิ่งนั้น แต่จริงๆแล้วมีบางสิ่งที่ฉันต้องการเวลาอ่านตัวเอง ดังนั้นความต้องการปุ่มปิด มิฉะนั้นขอบคุณสำหรับหัวขึ้น!
theTuxRacer

2
@ObsessiveFOSSสิ่งนี้มีไว้เพื่อเป็นทางออกสำหรับปัญหาที่กำหนดในคำถามและดูเหมือนว่ามันอาจจะทำงานได้ ดังนั้นแม้ว่าเรื่องนี้จะได้รับประโยชน์จากการขยายตัวและรายละเอียดมากขึ้นก็ยังคงไม่ได้จะดีกว่าเป็นความคิดเห็น borjacampina:ฉันขอแนะนำให้แก้ไขสิ่งนี้เพื่ออธิบายวิธีลดความล่าช้าในลักษณะนี้อย่างแน่นอน
Eliah Kagan


1

คั่นหน้า: ปุ่มปิดที่แจ้งเตือน-osd?

Ref:

แนวคิดที่ได้รับการพิสูจน์แล้วว่าเป็นจริงbash'd OSD ป๊อปอัพกราฟฟิตีแบบ "ปิดการใช้งาน" เป็นวิธีคิดและฟักเป็น:

dbus-monitor "interface='org.freedesktop.Notifications'" |             \
grep --line-buffered "member=Notify"                     |             \
sed -u -e  's/.*/killall notify-osd/g'                   |             \
bash

สิ่งนี้สามารถเรียกใช้ในเทอร์มินัลหรือเป็นงานพื้นหลัง - หยุดมันและดำเนินการต่อกราฟฟิตีแบบผุดขึ้น

OP ระบุว่า "ไม่ฉันปิดใช้งานไม่ได้" หากนี่หมายความว่าระบบแจ้งเตือนไม่ควรถูกปิดการใช้งานโดยปัญหาที่ตอบยากปัญหานี้จะสอดคล้องกับสิ่งนั้น ระบบยังคงอยู่ ถ้ามันหมายถึงปัญหาที่ตอบยากไม่ทราบวิธีการทำเช่นนั้นแล้ววิธีการแก้ปัญหาที่เกี่ยวข้องอีกครั้ง

รายละเอียดอธิบายด้านล่างบรรทัด สุดยอดจะฝังทุกอย่างใน (ใน?) DBus เพื่อเรียกใช้โดยตรง

  qdbus    org.freedesktop.Notifications                \
          /org/freedesktop/Notifications                \
           org.freedesktop.Notifications.CloseNotification(uint id)

วิธีการแก้ปัญหาพื้นฐานมากไร้เดียงสามากที่เป็นหลักฐานเพิ่มเติมของแนวคิดมากกว่าการปฏิบัติเป็นหลัก "คนพิการ" notify-osd(หรืออย่างน้อยผลกระทบของมัน) อย่าลืมยกเลิกเมื่อทดสอบเสร็จแล้ว! โดย ETX'ng ด้วย <ctrl> -C หรือปิดหน้าต่างเทอร์มินัล ฯลฯ มันทำงานได้ดี แต่ไม่สามารถใช้งานได้จริง! เนื่องจากโชคไม่ดีที่มีงานอื่น ๆ พยายามทำของพวกเขา ...

  while true; do killall notify-osd; done

(เพื่อ "ฟัง" กิจกรรมที่เกี่ยวข้องคุณอาจต้องการ " grepออก"

 notify-osd: no process found ....

)

ทดสอบโดยรันในหน้าต่างเทอร์มินัลและจากหน้าต่างเทอร์มินัลอื่นลองทำ:

  notify-send "test 1" "now you see it not"
  notify-send "test 2" "you see it not after test 1 evaporates"
  notify-send "test 3" "finally after test 2 evaporates"

หยุดกระบวนการแรกแล้วลองข้อความอีกครั้ง

บางทีอาจจะเป็นnotify-osdตัวบ่งชี้สำหรับอาจก่อให้เกิดunity-panel-service killall notify-osdปุ่มปิดจุดร้อนจะไม่อยู่ใน & (ไม่สามารถ!) ได้ในหน้าต่างการแจ้งเตือน แต่จะมีอยู่ในแผงตัวบ่งชี้ นี่เป็นแนวคิดที่คล้ายคลึงกันอย่างสมบูรณ์กับ Unity สำหรับ Windows การใช้แถบด้านบนสำหรับการปิดการแจ้งเตือนนั้นคล้ายกับวิธีที่ Unity เนรเทศเมนูหน้าต่างที่มีกล่องปิดขนาดเล็กและขนาดใหญ่ไปยังแถบเมนูด้านบน

ทางออกที่สวยงามอย่างแท้จริงจะมีตัวบ่งชี้ปรากฏขึ้นเมื่อกิจกรรม DBus สำหรับnotify-osdรายการและหายไปเมื่อไม่มีการแจ้งเตือนที่รอดำเนินการ

นอกจากนี้ยังอาจแก้ไขปัญหาของการแจ้งเตือนแบบเรียงซ้อน - สามารถพบได้ครั้งละหนึ่งรายการเท่านั้นและหากการแจ้งเตือนหลายรายการที่รอดำเนินการแต่ละรายการจะต้องหายไปก่อนที่การแจ้งเตือนครั้งต่อไปจะปรากฏขึ้น

DBus-monitor'ng ของnotify-osdอินเตอร์เฟซการแจ้งเตือน แต่จะให้รับทราบทันทีที่รอการประกาศแม้ว่าจะมีหนึ่งแล้วแสดง (และถ้าkillall notify-osdออกทันที - โอมเพี้ยง!)

เลือกทั้งหมดลากและวางไปที่หน้าต่างเทอร์มินัลสำหรับการทดสอบต่อไปนี้:

  notify-send "test 1" "now you see it"
  notify-send "test 2" "you see it after test 1 evaporates"
  notify-send "test 3" "finally after test 2 evaporates"

ตอนนี้ทำเช่นเดียวกันกับ p {r} oof:

  notify-send "test 1" "now you don't"
  notify-send "test 2" "you see it not! after test 1 evaporates"
  notify-send "test 3" "NOT finally after test 2 evaporates"
  killall notify-osd
  notify-send "gonzo" "gone nada zip zilch"

killall notify-osdในการแก้ปัญหาปัญหาจะได้รับการเรียกเมื่อDBus monitorตรวจพบ OSD ป๊อปอัพกิจกรรมกราฟฟิตี


0

เป็นการตัดสินใจโดยเจตนาที่จะไม่โต้ตอบกับกรอบการแจ้งเตือนใด ๆ (ดังนั้นจึงเป็นการแจ้งเตือนแบบพาสซีฟ) ดังนั้นคุณสามารถโพสต์รายงานข้อผิดพลาดบน Launchpad (อาจมีอยู่แล้ว) และล็อบบี้เพื่อให้มีการเปลี่ยนแปลง

มันไม่ใช่สิ่งที่ฉันเห็นได้ในเร็ว ๆ นี้เว้นแต่จะมีความต้องการที่สำคัญ (และไม่มี)

อาจเป็นการดีที่จะพยายามแก้ไขปัญหาด้วยการขอวิธียกเว้นโปรแกรมบางโปรแกรมไม่ให้เข้าถึงระบบแจ้งเตือน - osd


0

ปุ่มปิดบนการแจ้งเตือนตัวเองจะไม่ช่วยแก้ปัญหาของคุณ พวกเขาจะยังคงเห็นการแจ้งเตือนและจะต้องคลิกปุ่มปิดเพื่อปิดหากมี

สิ่งที่คุณควรทำคือเมื่อคุณต้องการอนุญาตให้ผู้อื่นใช้คอมพิวเตอร์ของคุณเพียงเลือกตัวเลือก "สลับผู้ใช้" ในเมนูระบบที่ด้านบนขวา (ไอคอนรูปเฟือง) และใช้การเข้าสู่ระบบของผู้เยี่ยมชม สิ่งนี้จะสร้างเซสชันชั่วคราวเพื่อให้พวกเขาใช้และจะไม่เก็บประวัติเบราว์เซอร์คุกกี้ ฯลฯ ... เมื่อผู้ใช้นั้นล็อกเอาต์ สิ่งนี้จะป้องกันไม่ให้พวกเขาเห็นการแจ้งเตือนของคุณรวมถึงอาจรบกวนข้อมูลใด ๆ ของคุณเอง (ประวัติเว็บการดาวน์โหลดการเข้าสู่ระบบและอื่น ๆ ... ) เนื่องจากพวกเขาสำรวจอีเธอร์จากคอมพิวเตอร์ของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.