ไอคอนซ้ำ (Spotify) ในตัวเรียกใช้งาน


9

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

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

NB มันไม่ได้เกิดขึ้นกับโปรแกรมอื่น ๆ ที่ฉันติดตั้งไว้ (Chrome & Steam)


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

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

สิ่งนี้เกิดขึ้นหรือเกิดขึ้นกับซอฟต์แวร์ที่หลากหลาย: มันเป็นผลมาจากวิธีการที่ Unity (และโดยเฉพาะอย่างยิ่งไลบรารีที่เรียกว่า bamf) ทำงาน
Alistair Buxton

@AssairBuxton ดังนั้นนี่เป็นข้อผิดพลาดใน bamf หรือ Spotify?
เซเลม

1
มันเป็นข้อผิดพลาดใน bamf ดูตัวอย่าง: bugs.launchpad.net/unity-2d/+bug/704046 bamf เป็น "เฟรมเวิร์กแอปพลิเคชัน bamf" - มันเป็นหน้าที่ที่จะต้องตรวจสอบว่าทั้งสอง windows เป็นของแอพพลิเคชั่นเดียวกันหรือไม่ดังนั้นจึงควรวางซ้อนกันภายใต้ไอคอนตัวเปิดใช้งานเดียวกันหรือไม่ ไม่มีวิธีที่เชื่อถือได้สำหรับแอปพลิเคชันทั้งหมดดังนั้น bamf จึงมีอยู่เป็นพิเศษในการจัดการเคสมุมเช่น java และ spotify
Alistair Buxton

คำตอบ:


11

มันเป็นข้อผิดพลาดนี่เป็นวิธีแก้ปัญหาเพียงบางส่วน

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


สร้างตัวเรียกใช้งานใหม่ที่StartupWMClass=Spotifyกำหนดไว้

คุณสามารถสร้างspotify.desktopไฟล์ด้วยเนื้อหาเหล่านี้:

[Desktop Entry]
Name=Spotify
GenericName=Music Player
Comment=Listen to music using Spotify
Icon=spotify-client
Exec=spotify %U
TryExec=spotify
Terminal=false
Type=Application
Categories=Qt;Audio;Music;Player;AudioVideo
MimeType=x-scheme-handler/spotify
StartupWMClass=Spotify

หรือแก้ไข orginal จาก/opt/spotify/spotify-client/spotify.desktop(ต้องใช้สิทธิ์ superuser) เพิ่มบรรทัดStartupWMClass=Spotifyที่ท้าย

บันทึกไว้ที่ไหนสักแห่งที่คุณสามารถเก็บไว้เช่น "เอกสาร" จากนั้นลากไปที่ตัวเรียกใช้งาน

สิ่งนี้จะทำให้แน่ใจว่าหน้าต่างที่มี WMClass ที่ชื่อว่า spotify จะเปิดใต้ไอคอนนั้น

รหัสเพื่อรับ WMClass ของหน้าต่าง:

xprop|grep WM_CLASS

สิ่งนี้จะคืนค่าต่อไปนี้เมื่อคลิกที่หน้าต่าง spotify:

WM_CLASS(STRING) = "spotify", "Spotify"

(ดูเหมือนว่าจะแก้ปัญหาได้เพียงบางส่วนเท่านั้นการออกจากอาจจะจบลงด้วยไอคอนสองไอคอนอีกครั้ง)

หมายเหตุ: ฉันสังเกตเห็นว่าปัญหาเริ่มเกิดขึ้นน้อยลงเรื่อย ๆ ที่ฉันเปิดตัวมากขึ้น - นี่น่าจะเป็นเพราะระบบของฉันติดตั้งพรีโหลดมันอาจช่วยได้: https://apps.ubuntu.com/cat/applications/preload/


น่าเสียดายที่โซลูชันนี้ใช้ไม่ได้กับ Ubuntu 14.04 หากคุณมีวิธีแก้ไขอื่นโปรดโพสต์
Luís de Sousa

ไม่มันเป็นสถานการณ์เดียวกัน "แม้ไฟล์เดสก์ท็อปด้านล่างผลลัพธ์จะดูไม่สอดคล้องกันและบั๊กกี้" ลอง combitnations ที่แตกต่างกันของการปิดหน้าต่าง / การอ้างอิงในตัวบ่งชี้จากนั้นล็อค / ปลดล็อคตัวเปิดเช่นเดียวกับการแก้ไขตัวเปิดใน/usr/share/applications
Mateo

2

จากนั้นลบไอคอนในตัวเรียกใช้งานที่คุณล็อกไว้ก่อนหน้านี้เพื่อเรียกใช้งานและทำเครื่องหมายไอคอนที่มาหลังจากตัวเรียกใช้งาน

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


ใน Ubuntu 14.04 ขั้นตอนนี้จะลบไอคอน Spotify ทั้งหมดออกจากตัวเรียกใช้งาน
Luís de Sousa

1

คุณสามารถหลีกเลี่ยงข้อผิดพลาดหากคุณคลิกซ่อน Spotify (ในไอคอนถาดระบบ) ก่อนที่จะออกจาก Spotify อย่างสมบูรณ์


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