จะเริ่มต้นธันเดอร์เบิร์ดให้เล็กลงเมื่อเริ่มต้นได้อย่างไร


18

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

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

ดังนั้นมีวิธีการทำงานใดที่จะเริ่มต้นธันเดอร์เบิร์ดให้เล็กลงเมื่อเริ่มต้นใช้งาน?


เป็นไปได้ซ้ำไหม askubuntu.com/questions/68640/…
fossfreedom

อาจซ้ำซ้อนกับคำถามนี้: askubuntu.com/questions/68284/…
Glutanimate

คำตอบ:


4

29
ยินดีต้อนรับสู่ถาม Ubuntu! ในขณะที่สิ่งนี้อาจตอบคำถามในทางทฤษฎีมันก็ควรที่จะรวมส่วนสำคัญของคำตอบที่นี่และให้ลิงค์สำหรับการอ้างอิง
fossfreedom

8

ฉันใช้addon นี้เพื่อเริ่มต้นธันเดอร์เบิร์ดในโหมดย่อเล็กสุดโดยค่าเริ่มต้นและเพิ่มรายการเริ่มต้นสำหรับธันเดอร์เบิร์ดโดยทำตามคำแนะนำนี้


3
ขอขอบคุณที่ชี้ไปที่ย่อเล็กสุดเมื่อเริ่มต้นและปิด Add-Onซึ่งดูเหมือนจะเป็นวิธีที่ตรงไปตรงมาที่สุดในการเริ่มต้น Thunderbird ย่อขนาดให้เล็กที่สุดเพื่อ Unity Launcherซึ่งคุณสามารถดูจำนวนข้อความใหม่ได้เช่นกัน
Sadi

4

ให้ฉันทำให้ชัดเจนอย่างน้อยสำหรับคนอย่างฉัน

ตรวจสอบให้แน่ใจว่าธันเดอร์เบิร์ดเริ่มต้นโดยอัตโนมัติเมื่อเข้าสู่ระบบมีเพียงสามขั้นตอน:

  1. ติดตั้งโปรแกรมเสริม " FireTray " บนธันเดอร์เบิร์ด
  2. ทำเครื่องหมายที่ตัวเลือก "เริ่มแอปพลิเคชันที่ซ่อนอยู่ในถาด" ในการตั้งค่า FireTray ( Thunderbird -> Tools -> addons -> firetray -> preferences -> under tab "windows")
  3. ทำตามคำตอบนี้ (ด่วน) เพื่อเพิ่ม Thunderbird ให้กับการเริ่มต้น (หมายเหตุ: ฟิลด์คำสั่งในนั้นควรจะเป็น: thunderbirdหรือ/usr/bin/thunderbird)

โปรดทราบว่า add-on FireTray เป็นสิ่งที่ต้องมี คนส่วนใหญ่ไม่ได้หมายความว่าจะเลิกอย่างสิ้นเชิงเหมือนกับพฤติกรรมเริ่มต้นคือเมื่อพวกเขาพูดว่า "ปิด" ไปที่หน้าต่าง พวกเขาคาดหวังว่าธันเดอร์เบิร์ดจะทำงานในพื้นหลังและแจ้งการมาถึงอีเมลใหม่ทั้งหมด และ FireTray จัดการกับปัญหานี้อย่างแน่นอน


1

จริง ๆ แล้วฉันใช้ Ubuntu 13.10 แต่วิธีนี้น่าจะใช้ได้ดีอย่างน้อยกลับไปเป็น 12.04 Firetrayเป็นส่วนเสริมสำหรับ Firefox ที่ทำให้คุณสามารถย่อขนาดถาดเป็นปิดและย่อเล็กสุดเมื่อเริ่มต้น (คุณจะเห็นหน้าต่างป๊อปอัปธันเดอร์เบิร์ดเป็นวินาทีที่รวดเร็ว แต่ก็ไม่ค่อยมีปัญหา) จากนั้นเพียงแค่เพิ่มธันเดอร์เบิร์ดลงในแอปพลิเคชันเริ่มต้นและเมื่อคุณลงชื่อเข้าใช้ธันเดอร์เบิร์ดจะกระพริบหนึ่งวินาทีจากนั้นจะย่อขนาดลงในถาดระบบของคุณ นอกจากนี้ยังรองรับเมนูการส่งข้อความเริ่มต้นอย่างสมบูรณ์ดังนั้นจึงไม่สร้างไอคอน Thunderbird สำรอง

ตอนนี้สำหรับผู้ที่เคยลองสิ่งนี้ในอดีตฉันรู้ว่าฉันลองใช้ Firetray เมื่อสองสามปีที่แล้วและมันใช้งานไม่ได้เลยมันมีข้อบกพร่องมากมายเมื่อใช้กับ Ubuntu ที่ทันสมัย ​​แต่รุ่นล่าสุดดูเหมือนจะไร้ที่ติ กับ Ubuntu (อย่างน้อยรุ่น 13.10 แต่ฉันไม่เห็นว่าทำไมมันไม่ทำงานกับรุ่นอื่น ๆ )



0

สำหรับ Ubuntu 18.04

1) ติดตั้งdevilspie แพคเกจ :

sudo apt install devilspie

2) สร้าง~/.devilspieโฟลเดอร์และthunderbird.dsไฟล์ในโฟลเดอร์นั้น:

mkdir -p ~/.devilspie && touch ~/.devilspie/thunderbird.ds

3) วางรหัสนี้ใน~/.devilspie/thunderbird.dsไฟล์:

(if
    (is (window_name) "Mozilla Thunderbird")
    (begin
       (minimize)
    )
)

4) เพิ่มdevilspieไปยังแอปพลิเคชันเริ่มต้น

5) เพิ่มthunderbirdไปยังแอปพลิเคชั่นเริ่มต้น

6) ติดตั้งแบบเป็นทางเลือกติดตั้งไว้ในทาสก์บาร์ (โปรแกรมเสริมสำหรับธันเดอร์เบิร์ดที่ทำให้ปุ่มปิดทำงานเหมือนกับย่อเล็กสุด)

7) รีบูต

เคล็ดลับ: วิธีการหน่วงเวลาโปรแกรมเฉพาะเมื่อเริ่มต้น

เอกสาร devilspie ':

https://web.archive.org/web/20160415011438/http://foosel.org/linux/devilspie

https://wiki.gnome.org/Projects/DevilsPie

https://help.ubuntu.com/community/Devilspie


0

Ubuntu 16.04

มีปัญหาเดียวกันและใช้การติดตามเพื่อให้บรรลุเป้าหมาย รายการ Autostart ได้รับการเพิ่มธันเดอร์เบิร์ดผ่านสคริปต์นี้:

#!/usr/bin/env python3
import subprocess
import sys
import time

#
# Check out command
#
command = sys.argv[1]

#
# Run it as a subservice in own bash
#
subprocess.Popen(["/bin/bash", "-c", command])

#
# If a window name does not match command process name, add here. 
# Check out by running :~$ wmctrl -lp
# Do not forget to enable the feature, seperate new by comma.
#
#windowProcessMatcher = {'CommandName':'WindowName'}
#if command in windowProcessMatcher:
#    command = ''.join(windowProcessMatcher[command])
#print("Command after terminator" + command)

#
# Set some values. t is the iteration counter, maxIter guess what?, and a careCycle to check twice.
#
t = 1
maxIter=30
wellDone=False
careCycle=True
sleepValue=0.1

#
# MaxIter OR if the minimize job is done will stop the script.  
# 
while not wellDone:
    # And iteration count still under limit. Count*Sleep, example: 60*0.2 = 6 seconds should be enough.
    # When we found a program
    if t >= maxIter:
        break
    # Try while it could fail.
    try:
        # Gives us a list with all entries
        w_list = [output.split() for output in subprocess.check_output(["wmctrl", "-lp"]).decode("utf-8").splitlines()]
        # Why not check the list? 
        for entry in w_list:
            # Can we find our command string in one of the lines? Here is the tricky part: 
            # When starting for example terminator is shows yourname@yourmaschine ~. 
            # Maybee some matching is needed here for your purposes. Simply replace the command name
            # But for our purposes it should work out.
            #
            # Go ahead if nothing found!
            if command not in (''.join(entry)).lower():
                continue
            #######
            print("mt### We got a match and minimize the window!!!")
            # First entry is our window pid
            match = entry[0]
            # If something is wrong with the value...try another one :-)
            subprocess.Popen(["xdotool", "windowminimize", match])
            # 
            # Maybee there will be more than one window running with our command name. 
            # Check the list till the end. And go one more iteration!   
            if careCycle:
                # Boolean gives us one more iteration.
                careCycle=False
                break
            else:
                wellDone=True
    except (IndexError, subprocess.CalledProcessError):
        pass
    t += 1
    time.sleep(sleepValue)

if wellDone:
    print(" ")
    print("mt### Well Done!")
    print("mt### Window found and minimize command send.")
    print("mt### ByBy")
else:
    print(" ")
    print("mt### Seems that the window while counter expired or your process command did not start well.")
    print("mt### == Go ahead. What can you do/try out now? ")

สิ่งนี้ควรใช้ได้กับแอปอื่นทุกแอปเช่นกัน

การเข้ารหัสที่ดี

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