ฉันจะลบ“ แสดงเดสก์ท็อป” ออกจากตัวสลับ Alt-Tab (แอปพลิเคชัน) ได้อย่างไร


100

เป็นไปได้หรือไม่ที่จะลบ "แสดงเดสก์ท็อป" ออกจากAlt+ Tabแอปพลิเคชันตัวสลับ


คุณกำลังใช้ความสามัคคีถูกต้องหรือไม่
Christopher Kyle Horton

1
ใช่ขออภัยควรระบุไว้ด้วย ฉันไปที่การตั้งค่า Unity ใน CompizConfig แต่ไม่พบตัวเลือกใด ๆ เพียงแค่สงสัยว่ามีตัวเลือกที่ซ่อนอยู่หรือเพียงแค่ที่อื่น
David Dossot

1
คุณถูก; ฉันไม่พบที่นั่นเช่นกัน ฉันไม่แน่ใจว่าอาจจะมีวิธีอื่นในการแก้ไขหรือไม่
Christopher Kyle Horton

คำตอบ:


37

มันสามารถทำได้!

ฉันได้อัปโหลดโครงสร้าง Unity สำหรับ 12.04ที่แก้ไขปัญหานี้ (ไม่มี Show Desktop ในตัวสลับ Alt-Tab)

  • หากต้องการติดตั้งให้เปิดเทอร์มินัลและ:
sudo apt-add-repository ppa: izx / askubuntu -y
sudo apt-get update
sudo apt-get unity install
  • คุณสามารถเปิดใช้งานการตั้งค่า "แสดงไอคอนเดสก์ท็อป" ในปลั๊กอิน Unity ใน Compiz (โดยใช้ccsm) เพื่อรับไอคอนบนตัวเรียกใช้ทางด้านซ้าย:

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

  • หาก / เมื่อมีการเผยแพร่ Unity ใหม่ Update Manager จะดาวน์โหลดโดยอัตโนมัติ ฉันจะพยายาม "แก้ไข" การอัปเดตและวางลงใน PPA โดยเร็วที่สุด โปรดเพิ่มความคิดเห็นในคำตอบนี้เพื่อแจ้งเตือนฉันหากคุณอัพเกรดและ "แสดงเดสก์ท็อป" ปรากฏขึ้นอีกครั้งใน Switcher!

คุณทำได้อย่างไร?

ฉันแก้ไข Unity Source ประกอบด้วยสองขั้นตอน:

  1. ความคิดเห็นที่บรรทัด 900 ในplugins/unityshell/src/LauncherController.cppซึ่งโดยค่าเริ่มต้นจะเพิ่มไอคอน "แสดงเดสก์ท็อป" ไปที่ตัวสลับ:
// results.push_back (pimpl-> desktop_icon_);
  1. เปลี่ยนบรรทัด 1638 plugins/unityshell/src/unityshell.cppจาก:

      if (! (results.size () == 1 && results [0] -> GetIconType () == AbstractLauncherIcon :: IconType :: TYPE_DESKTOP)

    ไปยัง

      if (! results.size () == 0))
    • ในขณะที่รายการไอคอน Alt-Tab switcher มีอย่างน้อย 1 ก่อน (ไอคอน show-desktop) ตอนนี้เป็น 0 และเราจำเป็นต้องแก้ไขสิ่งนี้เพื่อแสดง switcher เฉพาะเมื่อมีอย่างน้อยหนึ่งรายการในรายการ (เช่นที่ แอปทำงานอย่างน้อยหนึ่งแอป)

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

ฉันใช้เวลาสักพักและคอมไพล์ใหม่ด้วยตัวเองเป็นเวลา 5.20 ฉันโพสต์คำตอบของฉันด้านล่างเนื่องจากมันไม่ตรงไปตรงมาตามที่ฉันจินตนาการ: askubuntu.com/a/395031/17065
isaaclw

ไม่ทำงานสำหรับ 12.04
Timmy

สำหรับ 12.04 และดูคำตอบต่อไป
Postadelmaga

103

13.04 และใหม่กว่า

สำหรับ 13.04, 13.10 และ 14.04 เพื่อเปิดหรือปิดตัวเลือก "แสดงเดสก์ท็อป" ในตัวสลับแอปพลิเคชันคุณสามารถใช้unity-tweak-tool

ติดตั้ง unity-tweak-tool

pic

12.10

สำหรับ 12.10 จะมีการเพิ่มการตั้งค่าใหม่ใน CCSM เพื่อเปิดใช้งานหรือปิดใช้งานตัวเลือก "แสดงเดสก์ท็อป" ในตัวสลับแอปพลิเคชัน

รันคำสั่งนี้ในเทอร์มินัลเพื่อติดตั้ง CCSM:

sudo apt-get install compizconfig-settings-manager

ตอนนี้เปิด CCSM และไปที่ปลั๊กอิน Ubuntu Unity

ปลั๊กอิน Ubuntu Unity

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

ปิดการใช้งานเดสก์ท็อปโชว์

Tada!  ไม่มี "แสดงเดสก์ท็อป" ใน application switcher!


ขอขอบคุณ. ฉันปิดใช้งานโดยใช้ Unity Tweak Tool แต่คำตอบของคุณส่งมาให้ฉัน Ubunt 13.10 (ผู้พิการเพราะบางครั้งก็เปลี่ยนไปสก์ท็อป).
Adi

unity-tweak-tool ทำงานใน 13.10 ด้วย
eswald

3
ยอดเยี่ยมใช้งานได้ใน 14.04 ขอบคุณ!
Kostiantyn Rybnikov

2
unity-tweak-toolทำงานใน 15.04 ..
Jean Jordaan

1
unity-tweak-toolทำงานใน 16.04 เช่นกัน
Chris

8

ใน 14.04 ฉันสามารถทำสิ่งนี้ได้ใน CompizConfig Settings Manager

sudo apt-get install compizconfig-settings-manager

โดยไปที่:

  • ส่วน "เดสก์ท็อป" ของรายการในพื้นที่กว้างสีขาวด้านขวา→
  • รายการ "ปลั๊กอิน Ubuntu Unity" →
  • แท็บ "Switcher" →
  • "ปิดใช้งาน Show Desktop ในรายการ Switcher"

นี่เป็นค่าเริ่มต้น CCSM ที่ไม่กำหนดเองตรงจาก repos


1
ทำงานบน 16.04 เช่นกันขอบคุณ!
nerdherd


1

ดังนั้นฉันไม่แน่ใจว่าสิ่งนี้จะช่วยคุณได้อย่างไรในขณะที่ใช้ Unity 2D ไม่ควรมีไดร์เวอร์กราฟิกที่ฉันดำดิ่งเข้าไปใน gnome fall-back จากนั้นไม่พอใจฉันกลับไปที่ส่วนต่อประสาน Unity ฉันไม่ได้แสดง "แสดงเดสก์ท็อป" ในตัวสลับแอปพลิเคชัน ALT + TAB อีกต่อไป ฉันเชื่อว่านี่เป็นผลข้างเคียงของอินเทอร์เฟซ Gnome ที่ตั้งไว้ที่มุมซ้ายล่างและเมื่อฉันเปลี่ยนกลับฉันไม่ได้ใช้อีก ดูเหมือนว่าจะทำงานให้ฉัน ... คุ้มค่ากับการยิง


1
ขอบคุณที่แบ่งปันประสบการณ์ของคุณ วิธีนี้มีความเสี่ยงแค่ไหน? ฉันไม่สามารถสร้างเสถียรภาพให้กับสภาพแวดล้อมการทำงานของฉันได้
David Dossot

สำหรับฉันฉันไม่มีปัญหากับเรื่องนี้ แต่ฉันก็ไม่แน่ใจเหมือนกัน 100% หากคุณมี VM มันอาจจะดีที่จะทดสอบทฤษฎีนี้ฉันยังแก้ไขพาเนลจำนวนมากการลบและเพิ่มรายการเช่นตัวสลับพื้นที่ทำงานและไอคอนถังขยะเพื่อแทนที่ความรู้สึกที่แท้จริงของ gnome ที่ 10.10 ฉันไม่คิดว่าจะเสี่ยงเกินไป แต่ควรลองดู หากคุณกังวลจริง ๆ คุณสามารถสำรองข้อมูลทุกอย่างได้ แต่ไม่ควรทำอะไรผิดปกติ ฉันยังอาจได้รับข้อผิดพลาดที่โชคดี ฉันไม่รู้ฉันจะทดสอบตัวเองเช่นกัน ดูสิ่งที่ฉันสามารถทำเพื่อคุณ
esnowrackley

0

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

ฉันแก้ไขได้ด้วยการติดตั้ง 13.10 ฉันจะใช้การแก้ไขอื่น ๆ ที่ระบุไว้ที่นี่

ฉันไม่สามารถใช้งานได้ใน 12.04 แพคเกจที่ให้ไว้ในคำตอบอื่นยังไม่ใหม่พอ (เวอร์ชั่น 5.14) และไกด์ก็ไม่สมบูรณ์แบบ (แม้ว่ามันจะมีประโยชน์มาก) นี่คือวิธีที่ฉันจัดการเพื่อใช้การแก้ไขสำหรับความสามัคคี 5.20

1) ดาวน์โหลดแหล่งข้อมูล:

sudo apt-get source unity

2) เปลี่ยนแหล่งที่มา:

diff -ru org/plugins/unityshell/src/LauncherController.cpp patch/plugins/unityshell/src/LauncherController.cpp
--- unity-5.20.0/plugins/unityshell/src/LauncherController.cpp  2013-04-12 04:24:42.000000000 -0400
+++ unity-diff/plugins/unityshell/src/LauncherController.cpp    2013-12-23 12:22:50.154961579 -0500
@@ -761,7 +761,7 @@
 {
   std::vector<AbstractLauncherIcon::Ptr> results;

-  results.push_back(pimpl->desktop_icon_);
+  //results.push_back(pimpl->desktop_icon_);

   for (auto icon : *(pimpl->model_))
   {
diff -ru org/plugins/unityshell/src/unityshell.cpp patch/plugins/unityshell/src/unityshell.cpp
--- unity-5.20.0/plugins/unityshell/src/unityshell.cpp  2013-04-12 04:24:42.000000000 -0400
+++ unity-diff/plugins/unityshell/src/unityshell.cpp    2013-12-23 12:24:36.718966737 -0500
@@ -1909,7 +1909,8 @@

   auto results = launcher_controller_->GetAltTabIcons(show_mode == switcher::ShowMode::CURRENT_VIEWPORT);

-  if (!(results.size() == 1 && results[0]->GetIconType() == AbstractLauncherIcon::IconType::TYPE_DESKTOP))
+//  if (!(results.size() == 1 && results[0]->GetIconType() == AbstractLauncherIcon::IconType::TYPE_DESKTOP))
+  if (!(results.size() == 0))
     switcher_controller_->Show(show_mode, switcher::SortMode::FOCUS_ORDER, false, results);

   return true;

3) ติดตั้งแพ็คเกจอื่น ๆ :

sudo apt-get build-dep unity
sudo apt-get install cmake

5) เรียกใช้ cmake

cd <source folder>
# from the INSTALL file
mkdir build; cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCOMPIZ_PLUGIN_INSTALL_TYPE=package -DCMAKE_INSTALL_PREFIX=/opt/unity
make
sudo make install

หมายเหตุ: หากคุณตั้งค่าโฟลเดอร์ DCMAKE_INSTALL_PREFIX ของคุณเป็น/usrแทนคุณ/opt/unityจะไม่ต้อง rsync ในภายหลัง แต่ฉันต้องการลองเชื่อมโยงไฟล์ก่อน ฉันยอมแพ้.

ฉันคาดว่าจะยกเลิกตัวเลือกที่ดีที่สุดคือการติดตั้ง Unity ใหม่ซึ่งจะทำให้ไฟล์มาตรฐาน overtop

6) แทนที่ไฟล์:

sudo rsync -av /opt/unity/ /usr/

7) ติดตั้ง unity-greeter อีกครั้ง เห็นได้ชัดว่าไฟล์ rsynced แบ่ง unity-greeter ซึ่งเป็นสิ่งจำเป็นที่เห็นได้ชัดว่าต้องการความสามัคคี

sudo apt-get install --reinstall unity-greeter

0

หากคุณกำลังใช้dconfเพื่อจัดการการตั้งค่าความสามัคคีของคุณแล้วเส้นทางไปสู่การตั้งค่านี้ (โดยการตรวจสอบด้วยdconf watch /) คือ:

/org/compiz/profiles/unity/plugins/unityshell/disable-show-desktop

ตั้งค่านี้เป็นtrueและเดสก์ท็อปจะถูกลบออกเป็นalt-tabตัวเลือก

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