시작시이 자습서 를 따라 Thunderbird를 최소화 모드로 설정했지만 도움이되지 않았습니다.
지시를 따른 후에도 Thunderbird를 시작할 수 없었습니다. 그래서 안전 모드에서 TB를 시작하여 "FireTray Plugin"을 삭제하고이 문제를 해결해야했습니다. 그 후에는 작동하기 시작했지만 모든 전자 메일 계정을 삭제했으며 그 일을 다시해야했습니다.
시작시 Thunderbird를 최소화하는 효과적인 방법이 있습니까?
시작시이 자습서 를 따라 Thunderbird를 최소화 모드로 설정했지만 도움이되지 않았습니다.
지시를 따른 후에도 Thunderbird를 시작할 수 없었습니다. 그래서 안전 모드에서 TB를 시작하여 "FireTray Plugin"을 삭제하고이 문제를 해결해야했습니다. 그 후에는 작동하기 시작했지만 모든 전자 메일 계정을 삭제했으며 그 일을 다시해야했습니다.
시작시 Thunderbird를 최소화하는 효과적인 방법이 있습니까?
답변:
적어도 나와 같은 사람들에게 분명히 알려 드리겠습니다.
썬더 버드가 로그온 할 때 자동으로 시작되도록하려면 다음 세 단계 만 수행하면됩니다.
Thunderbird -> Tools -> addons -> firetray -> preferences -> under tab "windows"
)thunderbird
또는 /usr/bin/thunderbird
)FireTray 애드온은 필수입니다. 대부분의 사람들은 실제로 창에 "가까이"라고 말할 때 기본 동작과 완전히 같은 것을 끝내는 것을 의미하지 않습니다. 그들은 썬더 버드가 백그라운드에서 실행될 것으로 예상하고 모든 새로운 이메일 도착을 알립니다. FireTray는이 문제를 정확하게 처리합니다.
실제로 Ubuntu 13.10을 사용하고 있지만이 솔루션은 적어도 12.04로 정상적으로 작동합니다. Firetray 는 Firefox 확장 기능으로, 닫을 때 트레이를 최소화하고 시작시 최소화 할 수 있습니다 (Thunderbird 창 팝업이 잠시 표시되지만 문제는 거의 없습니다). 그런 다음 시작 응용 프로그램에 Thunderbird를 추가하면 로그인하면 Thunderbird가 1 초 동안 깜박 인 다음 시스템 트레이에서 최소화됩니다. 또한 기본 메시징 메뉴를 완벽하게 지원하므로 보조 썬더 버드 아이콘을 만들지 않습니다.
과거에 이것을 시도했을지도 모르는 사람들을 위해, 나는 몇 년 전에 Firetray를 시도했지만 전혀 작동하지 않을 것입니다. 현대 우분투와 함께 사용할 때 많은 버그가 있었지만 최신 버전은 완벽하게 작동하는 것 같습니다 우분투 (적어도 13.10 버전이지만 다른 버전에서는 작동하지 않는 이유는 모르겠습니다).
우분투 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) 선택적 으로 작업 표시 줄에 설치 (닫기 버튼이 최소화 버튼과 똑같이 동작하도록하는 Thunderbird 용 애드온)
7) 재부팅하십시오.
devilspie '문서 :
https://web.archive.org/web/20160415011438/http://foosel.org/linux/devilspie
우분투 16.04.
같은 문제가 있었고 목표를 달성하기 위해 다음을 사용했습니다. 이 스크립트를 통해 자동 시작 항목이 실행되는 Thunderbird를 추가했습니다.
#!/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? ")
이것은 다른 모든 앱에서도 작동합니다.
좋은 코딩