ম্যাকোস এক্স: কীভাবে সহজেই এই আইটেমটিতে এই ফোল্ডারটি খুলুন?


12

আমি মনে করি শিরোনামটি ঠিক কী করতে চাইছে তা জানিয়েছে। আমি ফাইন্ডারের মধ্যে একটি শর্টকাট বা এমনকী একটি বোতাম চাই যা একটি নতুন আইটার্ম ট্যাব জ্বালিয়ে দেয় এবং ফাইন্ডারে যে অবস্থানটি আমি খুলেছি সেখানে স্থান পরিবর্তন করে। কিছুটা open .বিপরীতে। :-)

মাল্যাক্স আপনাকে ধন্যবাদ

উত্তর:


5

এখানে একটি ওপেন টার্মিনাল রয়েছে অ্যাপলস্ক্রিপ্ট যা পরিবর্তে আইটার্ম কল করতে আপনার পরিবর্তন করতে সক্ষম হওয়া উচিত। এই MacOSXHints পোস্টটিও সহায়ক হওয়া উচিত।

(আমি আমার ম্যাকে নেই অন্যথায় আমি এটি পরীক্ষা করতাম))


10

এই আপেলস্ক্রিপ্টটি আমার পক্ষে কাজ করে:

-- script was opened by click in toolbar
on run
tell application "Finder"
    try
        set currFolder to (folder of the front window as string)
    on error
        set currFolder to (path to desktop folder as string)
    end try
end tell
CD_to(currFolder, false)
end run

-- script run by draging file/folder to icon
on open (theList)
set newWindow to false
repeat with thePath in theList
    set thePath to thePath as string
    if not (thePath ends with ":") then
        set x to the offset of ":" in (the reverse of every character of thePath) as string
        set thePath to (characters 1 thru -(x) of thePath) as string
    end if
    CD_to(thePath, newWindow)
    set newWindow to true -- create window for any other files/folders
end repeat
return
end open

-- cd to the desired directory in iterm
on CD_to(theDir, newWindow)
set theDir to quoted form of POSIX path of theDir as string
tell application "iTerm"
    activate
    delay 1
    -- talk to the first terminal 
    try
        set myterm to the first terminal
    on error
        set myterm to (make new terminal)
    end try

    tell myterm
        try
            -- launch a default shell in a new tab in the same terminal 
            launch session "Default Session"
        on error
            display dialog "There was an error creating a new tab in iTerm." buttons {"OK"}
        end try
        tell the last session
            try
                -- cd to the finder window
                write text "cd " & theDir
            on error
                display dialog "There was an error cding to the finder window." buttons {"OK"}
            end try
        end tell
    end tell
end tell
end CD_to

1
আমি মনে করি এটি গ্রহণযোগ্য উত্তর হওয়া উচিত।
ilিলিপসিভা

8

এই পৃষ্ঠায় অন্যান্য উত্তরগুলি ব্যবহার করে আমি একটি অ্যাপ তৈরি করেছি যা সন্ধানকারী টাস্ক বারে টেনে আনা যায়।

আপনি এখান থেকে এটি ডাউনলোড করতে পারেন: https://github.com/rc1/iTermTo


1
চমৎকার কাজ! পুরোপুরি কাজ করে। এটি গ্রহণযোগ্য উত্তর হওয়া উচিত।
আরসিডি

1
আমি একমত - মনে হয় নিখুঁতভাবে কাজ করে। জিপ ডাউনলোড করুন। অ্যাপ্লিকেশন ফোল্ডারে ইনস্টল করতে অ্যাপ্লিকেশন টানুন। হ্যান্ডি শর্টকাটের জন্য অনুসন্ধানকারী সরঞ্জামদণ্ডে অ্যাপ্লিকেশন টানুন।
justingordon

3

এটি আইটার্ম 2 এ 3.1.0 সংস্করণ হিসাবে অন্তর্নির্মিত।

কার্যকারিতাটি ব্যবহার করতে:
ফাইন্ডারে ডানদিকে একটি ফোল্ডার -> পরিষেবাদি -> নতুন আইটর্ম 2 উইন্ডোটি এখানে ক্লিক করুন

দ্রষ্টব্য: Servicesসাবমেনুটি ডান ক্লিক মেনুটির একেবারে নীচে রয়েছে।

রেফারেন্স
এই লিঙ্কে ক্লিক দেখান পুরাতন সংস্করণ , তারপর অধীনে iTerm2 3.1.0 ক্লিক দেখান পরিবর্তণের এবং জন্য চেহারা সেবা , আপনি এই খুঁজে পাবেন:

ফাইন্ডার পরিষেবাগুলির জন্য সমর্থন যুক্ত করুন। আপনি সেই স্থানে আইটার্ম 2 চালু করতে ডানদিকে ক্লিক করতে পারেন।


2

Https://github.com/jbtule/cdto এcdto হোস্ট করা প্রকল্পটি একবার দেখুন "টার্মিনালটিতে বর্তমান ডিরেক্টরি খোলার জন্য ফাইন্ডার টুলবার অ্যাপ্লিকেশনটি (বা আইটার্ম, এক্স 11) app ফাইন্ডার উইন্ডোটির সরঞ্জামদণ্ড।


তবে এটি দুটি আইটর্ম উইন্ডো খোলে যা কিছুক্ষণ পরে অত্যন্ত বিরক্তিকর।
মাইক লিস্কে

1

কেবল সম্পূর্ণতার জন্য, এই প্রশ্নটি খোঁজার আগে আমার পক্ষে কী কাজ হয়েছিল তা ছিল:

  • new_tab.sh (ব্যাশ স্ক্রিপ্ট দ্বারা জারি করা অ্যাপলস্ক্রিপ্ট) কেবলমাত্র একটি অ্যাপলস্ক্রিপ্ট-সমাধানে রূপান্তরিত ।
  • তারপর থেকে Applescript Editor-> File-> Export-> File Format = .app
  • .appঅনুসন্ধানকারীর সরঞ্জামদণ্ডে টেনে আনুন এবং নামান।

এটি ফাইন্ডার সরঞ্জামদণ্ডের বোতামে ফলাফল দেয় যা বর্তমান ডিরেক্টরিটি নতুন iTerm2ট্যাবে খোলে । এক্সট্রাফাইন্ডার এ জাতীয় বোতাম সরবরাহ করে তবে এটি নতুন উইন্ডো খুলবে।

পরিষেবাগুলি ব্যবহার করে অনুরূপ সমাধান এখানে পাওয়া যাবে , যা আরও বেশি সম্পর্কিত অ্যাপলস্ক্রিপ্ট সমাধানের সাথে লিঙ্ক করে:

আমার অভিযোজিত অ্যাপলস্ক্রিপ্টটি হ'ল:

try
    tell application "iTerm2"
        tell the last terminal
            launch session "Default Session"
            tell the last session
                tell i term application "Finder"
                    set cur_dir to (the target of the front Finder window) as string
                end tell
                set cur_dir to POSIX path of cur_dir
                write text "cd " & cur_dir
            end tell
        end tell
     end tell
end try

এই সমাধানটি এই বোতাম-সম্পর্কিত থ্রেডে মন্তব্য করা হয়েছিল ।

উপরের আইটির্মটো উত্তরটি ধন্যবাদ ।


1

আমি অনুমান করি এটি কারণ আইটির্মের অভ্যন্তরীণ পরিবর্তন হয়েছে তবে সমাধানগুলির কোনওটিই আমার পক্ষে কার্যকর হয়নি। নিম্নলিখিত কোডটি কী করেছিল:

tell application "Finder"
    set cur_dir to POSIX path of ((the target of the front Finder window) as string)
end tell
tell application "iTerm"
    tell (create window with default profile)
        write current session text "cd " & quoted form of cur_dir
    end tell
end tell

বা অটোমেটারকে অনুসন্ধানকারী পরিষেবা হিসাবে ব্যবহার করুন:

on run {input, parameters}
    tell application "Finder"
        set cur_dir to POSIX path of (input as string)
    end tell
    tell application "iTerm"
        tell (create window with default profile)
            write current session text "cd " & quoted form of cur_dir
        end tell
    end tell
end run

0

আইটার্ম সহ:

ইটার্ম প্রেফারেন্সস এবং প্রোফাইলে আন্ডার ট্যাব, জেনারেল সাবট্যাবে যান, "পূর্ববর্তী সেশনের ডিরেক্টরি পুনরায় ব্যবহার করুন" এ ওয়ার্কিং ডিরেক্টরি সেট করুন।


0

এখানে একটি সরলীকৃত স্ক্রিপ্ট যা সর্বদা একটি নতুন ট্যাব খোলে (বুলজিটের স্ক্রিপ্টের মতো):

try
    tell application "Finder"
        if number of Finder windows is 0 then
            set p to POSIX path of (desktop as alias)
        else
            set p to POSIX path of (target of Finder window 1 as alias)
        end if
    end tell
    tell application "iTerm"
        reopen
        tell current terminal
            tell (launch session "Default Session")
                write text "cd " & quoted form of p
            end tell
        end tell
        activate
    end tell
end try

আপনি যদি স্ক্রিপ্টটি বিদ্যমান ট্যাবগুলি পুনরায় ব্যবহার tell current terminalকরতে চান তবে এই জাতীয় কিছু দিয়ে ব্লকটি প্রতিস্থাপন করুন :

tell current session of current terminal
    write text "cd " & quoted form of p
end tell

তবে এটি কাজ করবে না উদাহরণস্বরূপ বর্তমান সেশনটি ব্যস্ত বা কম বা ভিএম প্রক্রিয়া চালাচ্ছে কিনা।

একটি চেষ্টা ব্লকে স্ক্রিপ্ট মোড়ানো এটিকে নিঃশব্দে ব্যর্থ করে তোলে। reopenযদি দৃশ্যমান উইন্ডো না থাকে বা কেবল উদাহরণস্বরূপ পছন্দ উইন্ডোটি খোলা থাকে তবে একটি নতুন টার্মিনাল উইন্ডো খোলে। ফাইন্ডারেরও একটি insertion locationসম্পত্তি থাকে যা সাধারণত target of Finder window 1বা ডেস্কটপ থাকে। তবে ১০.7 এবং এর পরে একটি বাগ রয়েছে যেখানে এটি প্রায়শই সামনেরতম উইন্ডোর তুলনায় অন্য কোনও উইন্ডোটিকে বোঝায়।

বুলজিটের স্ক্রিপ্ট নিয়ে কিছু সম্ভাব্য সমস্যা:

  • এটিতে এক সেকেন্ড বিলম্ব রয়েছে। এটি কোনও কিছুর জন্য প্রয়োজন কিনা তা আমি জানি না, তবে এই স্ক্রিপ্টটি পরীক্ষা করার সময় আমার কোনও বিলম্বের প্রয়োজন হয়নি।
  • আপনি যদি পূর্ণ স্ক্রিনে নতুন উইন্ডো খোলার জন্য আইটার্ম সেট করে রেখেছেন এবং কোনও খোলা উইন্ডো না থাকলে এটি একটি পূর্ণ-স্ক্রিনহীন উইন্ডোটি খুলবে।
  • এটি ফাইন্ডারকে front window( window 1) এর পাথ পেতে বলে , যা তথ্য উইন্ডো বা পছন্দ উইন্ডো হতে পারে। Finder window 1সর্বদা একটি ফাইল ব্রাউজার উইন্ডো হতে হবে।
  • এটি ডিরেক্টরিটিকে পরিবর্তিত করে /যদি সম্মুখতম ফাইন্ডার উইন্ডো এমন কোনও দৃশ্য প্রদর্শন করে যা কোনও পথ না থাকে (নেটওয়ার্ক দেখার মতো)।

আমি যদিও এইভাবে একটি ফাংশন ব্যবহার পছন্দ করি:

cf () {
  c "$(osascript -e 'tell application "Finder"
    POSIX path of (target of Finder window 1 as alias
  end tell)' 2> /dev/null)"
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.