ฉันจะป้องกันไม่ให้แอปพลิเคชันขโมยโฟกัสเมื่อพวกเขาเริ่มต้นบน Mac OS X ได้อย่างไร


13

นี่คือตัวอย่างการใช้กรณี:

  1. เปิด Firefox
  2. วางเคอร์เซอร์ที่ไหนที่คุณสามารถพิมพ์
  3. เปิดอย่างอื่น (eclipse เป็นตัวอย่างปัจจุบันของฉัน .. )
  4. เริ่มพิมพ์ใน Firefox จนกว่า eclipse จะขโมยโฟกัสและขัดขวางสิ่งที่คุณกำลังพิมพ์

ฉันจะป้องกันไม่ให้แอปพลิเคชันขโมยโฟกัสและขัดขวางการพิมพ์ของฉันได้อย่างไร

ปรับปรุง:

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


คุณสามารถลิงค์ไปยังแหล่งที่มาของคุณเพื่อทำใน windows ได้หรือไม่?
bwerks

คำตอบ:


1

ฉันคิดว่าคุณไม่สามารถทำได้: D คุณสามารถเรียกใช้ Eclipse ในเดสก์ท็อปอื่นได้เสมอ);


การสลับเดสก์ท็อปบน macbook ของฉันเป็นงาน imo มากเกินไป (สองปุ่มอยู่ห่างกัน, ไม่มีคีย์บอร์ดส่องสว่างด้านหลัง .. ), ฉันชอบนิ้ว 4 นิ้วหล่นมาก
erikvold

windows สามารถทำ btw นี้และฉันพบว่ามันยากที่จะเชื่อว่า osx ไม่สามารถทำเช่นนี้ได้เพราะนั่นจะเป็นการใช้งานที่ล้มเหลวอย่างมาก
erikvold

1
"ฉันไม่ชอบ" ≠ "การใช้งานล้มเหลว"
Lawrence Velázquez

จริง .. แต่นั่นไม่ใช่สิ่งที่ฉันพูด ประเด็นของฉันคือการอนุญาตให้แอปพลิเคชันขโมยการโฟกัสโดยไม่ให้ความสามารถแก่ผู้ใช้ในการปิดใช้งานนั่นคือความล้มเหลวในการใช้งาน
erikvold

โดยเฉพาะอย่างยิ่งเมื่อใช้ Windows XP ข้อเสนอทางออกสำหรับปัญหาเดียวกัน ..
erikvold

6

ในกรณีที่ทุกคนยังคงมองหาคำตอบนี้ฉันเพิ่งพบบทความนี้ที่ควรกำจัดแสงในการแก้ปัญหาที่เป็นไปได้:

http://reviews.cnet.com/8301-13727_7-20085680-263/keep-applications-from-stealing-focus-when-opening-in-os-x/

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

TL; DR: คุณสามารถปรับเปลี่ยนแอปพลิเคชันได้เองและเพิ่มพารามิเตอร์ที่กำหนดให้กับ "info.plist" ของแอปหรือคุณสามารถเขียนสคริปต์ที่จะเปิดแอปพลิเคชันหลังหน้าต่างอื่น ๆ มี "ตัวเลือก" ตัวที่สามที่โดยทั่วไปบอกว่าคุณสามารถมีแอพอยู่เหนือผู้อื่นแม้ในขณะที่พวกเขากำลังเปิดตัว แต่ไม่จำเป็นต้องป้องกันแอพที่เปิดตัวใหม่จากการขโมยโฟกัส


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

0

คุณสมบัติเหล่านี้ถูกกำหนดทั้งในแอพพลิเคชั่นที่คุณเปิดตัวและแอปพลิเคชันที่มีโฟกัส ดูว่า Finder ที่คุณเปิดใช้ Eclipse เป็นแอปพลิเคชั่นด้วยเช่นกันถ้า Eclipse ไม่ได้ขโมยโฟกัสจาก Finder มันจะไม่ดูเหมือนการเปิดตัวแอปพลิเคชันทำอะไร ดังนั้นค่าเริ่มต้นคือการขโมยโฟกัสที่การเรียกใช้แอปพลิเคชัน อาจจะมีปลั๊กอินของ Firefox ที่ทำให้มัน "autocratic?" คุณสามารถเพิ่มคีย์ LSUIElement ลงใน Info.plist ของแอปพลิเคชั่นที่เปิดตัว (ภายในชุดแอป) ที่จะกำจัดองค์ประกอบ UI ของแอปพลิเคชันทั้งหมด แต่อาจทำให้ประโยชน์ของคุณลดลงบ้าง

การใช้งานแอพใหม่ใน Space อื่นแล้วการสลับกลับไม่ได้ผลสำหรับฉัน แอพที่เปิดตัวจะนำคุณกลับไปที่ Space นั้นเมื่อโหลดเสร็จแล้ว

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


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

เพื่อสรุปสิ่งที่ฉันต้องการจะทำไม่สามารถทำได้ในตอนท้าย
erikvold

ขวา - แอปพลิเคชันใดก็ได้ที่ได้รับอนุญาตให้ขโมยโฟกัสได้ตลอดเวลายกเว้นว่าแอปพลิเคชันปัจจุบันของคุณห้ามไม่ให้มีการใช้งาน แอพบางตัวอาจทำเช่นนี้หลายครั้งในรอบการเปิดตัวก่อนที่พวกเขาจะปักหลัก - ฉันมีประสบการณ์อย่างแน่นอน จริงๆแล้วมันเป็นฟังก์ชั่นของแอพพลิเคชั่นและวิธีเดียวที่จะหลีกเลี่ยงมันก็คือการแก้ไขแอพพลิเคชั่นตามที่ฉันได้อธิบายไว้ข้างต้นหรือใช้แอพอื่น
NReilingh

ดังนั้น windows จะช่วยให้คุณสามารถป้องกันไม่ให้แอปพลิเคชันขโมยโฟกัส แต่ osx ไม่ได้ .. ฉันคิดว่ามันยากที่จะเชื่อ
erikvold

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