จะปิดการใช้งานภาพเคลื่อนไหว Unity ทั้งหมดได้อย่างไร


44

ถ้ามันเป็นไปไม่ได้บางทีแค่ Dash ก็แสดง / ซ่อนแอนิเมชัน ฉันแค่พบว่าตัวเองกำลังรอภาพเคลื่อนไหวที่ไม่มีจุดหมาย

คำตอบ:


27

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

1. ทำไมคุณไม่สามารถปิดใช้งานภาพเคลื่อนไหว Dash นี้ใน Unity 12.04

  • น่าเสียดายที่แอนิเมชั่นจางหายไปและเวลาที่เกี่ยวข้องนั้นมีการกำหนดรหัสไว้ในซอร์สโค้ดของ Unity
  • รหัสจริงสามารถพบได้ในunity-5.12/plugins/unityshell/src/ShortcutController.cpp(นี่คือสิ่งที่คุณจะต้องแก้ไขและคอมไพล์ใหม่เพื่อกำจัดภาพเคลื่อนไหว)
  • บรรทัดตัวอย่างบางส่วนจากไฟล์นี้แสดงให้เห็นถึงการเข้ารหัสฮาร์ดนิเมชั่นเมื่อคุณใช้ปุ่ม Super เพื่อเรียกใช้ Dash:

    30: const ไม่ได้ลงทะเบียน int SUPER_TAP_DURATION = 650;
    31: const ไม่ได้ลงนาม int FADE_DURATION = 100;
    39:, fade_in_animator_ (FADE_DURATION)
    40:, fade_out_animator_ (FADE_DURATION)
    65: fade_in_animator_.animation_updated.connect (sigc :: mem_fun (นี่ & ตัวควบคุม :: OnFadeInUpdated));
    66: fade_in_animator_.animation_ended.connect (sigc :: mem_fun (สิ่งนี้ & ตัวควบคุม :: OnFadeInEnded));
    67: fade_out_animator_.animation_updated.connect (sigc :: mem_fun (นี่ & ตัวควบคุม :: OnFadeOutUpdated));
    68: fade_out_animator_.animation_ended.connect (sigc :: mem_fun (สิ่งนี้ & ตัวควบคุม :: OnFadeOutEnded));
    120: show_timer_ = g_timeout_add (SUPER_TAP_DURATION, & Controller :: OnShowTimer, อันนี้);
    149: ตนเอง -> fade_out_animator_.Stop ();
    150: self-> fade_in_animator_.Start (self-> view_window _-> GetOpacity ());
    213: fade_in_animator_.Stop ();
    214: fade_out_animator_.Start (1.0 - view_window _-> GetOpacity ());
    244: .add ("timeout_duration", SUPER_TAP_DURATION + FADE_DURATION)
    246: .add ("about_to_show", (มองเห็นได้) && fade_out_animator_.IsRunning () && view_window_ && view_window _-> GetOpacity ()! = 1.0f)
    247: .add ("about_to_hide", (มองเห็นได้) && fade_in_animator_.IsRunning () && view_window_ && view_window _-> GetOpacity ()! = 1.0f))
    
  • แน่นอนว่าคุณจะต้องแก้ไขและสร้างใหม่ด้วยการอัพเดท Unity ใหม่ทุกครั้ง ...

  • การเข้าไปยุ่งกับ Compiz ไม่สามารถเปลี่ยนแปลงได้เพราะทั้งหมดนี้เป็นรหัสฮาร์ดโค้ดด้านนอกของปลั๊กอิน Compiz

2. ทางเลือก A: เปลี่ยนเป็น Ubuntu 2D

Ubuntu 2D มีรหัส Unity Shell ที่แตกต่างกันและการเปิดตัว Dash ผ่าน Super นั้นเป็นไปอย่างรวดเร็วและไม่เคลื่อนไหวเลย

3. Alternative B: ใช้ช็อตคัตที่กำหนดเองเพื่อเปิดใช้ Dash โดยคลิกที่โลโก้ Ubuntu จึงข้ามภาพเคลื่อนไหว

เราสามารถใช้ประโยชน์จากความจริงที่ว่าภาพเคลื่อนไหวทึบ / จางหายไปจะไม่เกิดขึ้นเมื่อคุณเปิดใช้งาน Dash ผ่านปุ่ม "เริ่มต้น" หรือหากเคอร์เซอร์อยู่บน / รอบแถบตัวเรียกใช้แม้ว่าคุณจะกด Super:

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

ภาพเคลื่อนไหวจะล่าช้าจนกว่าเคอร์เซอร์ของคุณจะเคลื่อนไหวภายในพื้นที่เส้นประ

  1. xdotoolช่วยให้การคลิกและการเคลื่อนไหวของคีย์บอร์ดและเมาส์เป็นไปโดยอัตโนมัติ ติดตั้งด้วยsudo apt-get install xdotool
  2. เปิดการตั้งค่า ... แป้นพิมพ์และไปที่แท็บทางลัด สร้างทางลัดที่กำหนดเองตั้งชื่อสิ่งที่คุณต้องการและตั้งค่า "คำสั่ง" เป็น:

    xdotool mousemove --sync 25 60 click 1 --delay 100  mousemove restore
    

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

    • คุณอาจต้องปรับค่าพิกัด (25 60) เล็กน้อยหากความละเอียดหน้าจอของคุณต่ำกว่า 1024x768 หรือมากกว่านั้น
  3. คลิกนำไปใช้ คอลัมน์ขวาจะพูดว่า "ปิดการใช้งาน" คลิกที่มันแล้วคุณจะเห็น "ตัวเร่งความเร็วใหม่": กดคำสั่งผสมคีย์ลัดของคุณ คุณไม่สามารถเลือก Superได้แม้ว่าคุณจะปิดการใช้งานใน Compiz เพราะ Unity ถูกจับยาก ฉันเลือกCtrl+Alt+Zเนื่องจากมันใกล้กับปุ่ม Super

  4. ตอนนี้ทางลัดของคุณควรจะเปิดตัว Dash เร็วขึ้นมาก

    • นี่คือการสาธิตวิดีโอ Youtube สองสามครั้งแรก (เมื่อตัวเรียกใช้งานบนเบลอด้านซ้ายและด้านมืด) อยู่ด้วยปุ่ม SUPER จากนั้นใช้ทางลัด xdotool แบบกำหนดเอง (สังเกตว่าตัวเรียกใช้งานจะไม่เคลื่อนไหวอีกต่อไปและเส้นประจะปรากฏขึ้นเร็วขึ้น)

Nope ฉันหมายถึง Dash 'เมนูเริ่ม' ที่เทียบเท่าที่คุณเรียกใช้โดยใช้ปุ่มพิเศษ
Bucic

โปรดดูการอัปเดต @Bucic ...
ish

2
ขอขอบคุณ! เงินรางวัลเป็นของคุณ! +1 สำหรับอันวาร์ชาห์ ฉันชอบตัวเลือก B: โดยเฉพาะอย่างยิ่งสำหรับการเล่นซอกับรหัส - ฉันคิดว่าฉันจะรอดูว่ามันจะถูกจัดการอย่างไรใน 12.10 ถ้าเหมือนกันก็มีบางเรื่องที่ชัดเจนว่าเป็นเรื่องงี่เง่าที่เกิดขึ้นในทีม Unity ซึ่งทำให้พวกเขาใช้คุณลักษณะการช่วยการเข้าถึงเป็นค่าเริ่มต้นใน Unity นั่นเป็นคำอธิบายเดียวที่ฉันสามารถทำได้ ทั้งสองวิธี - งี่เง่า
Bucic

1
ดูเหมือนว่า Unity 2D และ 3D จะถูกรวมเข้าด้วยกันไหม? ดูเหมือนว่าวิธี A ทางเลือกจะไม่ทำงานใน 13.04 ขึ้นไปอีกต่อไป (เว้นแต่ฉันจะพลาดบางสิ่งบางอย่างซึ่งฉันหวังว่าฉันเป็น)
Dogmatixed

1
@Supuhstar แล้วโปรดแบ่งปันภูมิปัญญาที่ไม่มีที่สิ้นสุดของคุณ เพราะฉันไม่สามารถ
Kissaki

23

ติดตั้งเครื่องมือจัดการการกำหนดค่า Compiz

ศูนย์ซอฟต์แวร์ Ubuntu: ตัวจัดการการกำหนดค่า Compiz

หรือ

เทอร์มิ: sudo apt-get install compizconfig-settings-manager

เมื่อติดตั้งแล้วให้เปิดและไปที่Ubuntu Unity Plugin-> Experimental(แท็บ)

จากนั้นคุณสามารถตั้งค่าLauch Animation, Urgent AnimationและDash Blurจะ `ไม่มี

ตั้งค่าการHide AnimationSlide only

หากคุณต้องการคุณสามารถเปลี่ยนแผงและความโปร่งใสของเส้นประเพื่อให้ทึบอย่างสมบูรณ์


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

สำหรับÁngel Araya และ Dune: Guys คุณได้ให้คำตอบ แต่จากการทดสอบของฉันพวกเขาไม่ได้นำไปสู่การเคลื่อนไหวของ Dash ที่ปิดการใช้งาน หากคุณมั่นใจว่าพวกเขาทำและความล้มเหลวอยู่ในส่วนของฉันโปรดพูด
Bucic

2
คุณเพียงยกเลิกการเลือกช่องทำเครื่องหมาย "แสดงภาพเคลื่อนไหว" ใน ccsm ฉันทำสิ่งนี้มาหลายปีแล้วเพราะฉันเกลียดภาพเคลื่อนไหวที่ร้ายแรง
user72421

โปรดเพิ่มบันทึกย่อเพื่อคลิกที่การตั้งค่า "เปิดใช้งานโหมดกราฟิกต่ำ" ในการตั้งค่าปลั๊กอินความสามัคคีดูเหมือนว่าจะแก้ปัญหาการรวมกันที่ช้า
rubo77

สิ่งนี้ใช้ได้กับฉันเมื่อวันที่ 14.04 (ฉันสามารถปิดการใช้งานความพร่ามัวออกจาก "คงความพร่ามัว" (ซึ่งดูเหมือนว่าจะเร็วขึ้น) หรือใช้ค่าเริ่มต้น "ไดนามิกเบลอ"
Dimitry K

6

ขออภัยคุณทำไม่ได้ ณ จุดนี้ (25 กรกฎาคม 2012) กับ Ubuntu 12.04 LTS ไม่มีวิธีที่ง่ายในการปิดใช้งานภาพเคลื่อนไหว Unity (อย่างน้อยไม่มีการคอมไพล์ใหม่)

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

วิธีแก้ปัญหา:

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

  1. ดาวน์โหลดและติดตั้ง compizconfig-settings-manager

    sudo apt-get install compizconfig-settings-manager  
    
  2. เปิดโดยค้นหาหรือพิมพ์ccsmในเส้นประ ไปที่ความสามัคคีปลั๊กอินทดลองแท็บและเปลี่ยนการตั้งค่าสำหรับซ่อนภาพเคลื่อนไหวที่จะFade เท่านั้น

หากคุณต้องการปิดใช้งานภาพเคลื่อนไหวในหน้าต่างทั้งหมดคุณสามารถปิดใช้งานปลั๊กอินภาพเคลื่อนไหวใน ccsm หากคุณต้องการปิดการใช้งาน Fading ให้ปิดการใช้งานปลั๊กอินFading windows

หวังว่าจะช่วยได้


แก้ไข:ตามที่ izx แสดงในคำตอบที่แก้ไขของเขาคุณเห็นได้อย่างชัดเจนว่าตัวเลือกของภาพเคลื่อนไหวเส้นประจะเขียนรหัสแบบยากใน Unity และสิ่งเหล่านั้นไม่สามารถเปลี่ยนแปลงได้ด้วยตัวเลือกการกำหนดค่าใด ๆ เพราะช่วงเวลาเหล่านั้น ดังนั้นหมายความว่าคุณจะต้องคอมไพล์ยูนิกซ์ใหม่ด้วยการเปลี่ยนช่วงเวลาเป็น 0 ms เพื่อปิดการเคลื่อนไหวอย่างสมบูรณ์


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

@Bucic ฉันได้แก้ไขคำตอบที่ชี้ไปที่คำตอบของ izx ในฐานะที่เป็นแหล่งยืนยัน ดูคำตอบของเขาสำหรับรายละเอียด
Anwar

2

หากต้องการเพิ่มคำแนะนำของÁngel Araya : ฉันสามารถปิดใช้งานภาพเคลื่อนไหวทั้งหมดได้โดยยกเลิกการเลือกAnimationsและFading Windows(โดยทั่วไปทุกอย่างยกเว้นWindow Decorationภายใต้Effectsหมวดหมู่ (แท็บ) ใน CompizConfig เครื่องมือจัดการการตั้งค่า


2
สิ่งนี้ปิดใช้งานการเคลื่อนไหวของหน้าต่างบางตัวเท่านั้น เส้นประยังคงจางหายเข้า ๆ ออก
Bucic

1
สำหรับÁngel Araya และ Dune: Guys คุณได้ให้คำตอบ แต่จากการทดสอบของฉันพวกเขาไม่ได้นำไปสู่การเคลื่อนไหวของ Dash ที่ปิดการใช้งาน หากคุณมั่นใจว่าพวกเขาทำและความล้มเหลวอยู่ในส่วนของฉันโปรดพูด
Bucic

1

ฉันคิดว่าการปิด fading-windows ภายใต้เอฟเฟกต์ใน CompizConfig Settings Manager สามารถสร้างความแตกต่างใน Unity ได้ (ความเร็วที่แตกต่างกันเล็กน้อย แต่ยังคงแตกต่างกัน)

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