i3wm: i3 শুরু হলে নির্দিষ্ট কর্মক্ষেত্রগুলিতে অ্যাপ্লিকেশনগুলি শুরু করুন


56

I3-তে নির্দিষ্ট ওয়ার্কস্পেসে অ্যাপ্লিকেশনগুলি শুরু হয়ে গেলে কীভাবে শুরু করতে পারি?

কেন এটি আমার কনফিগারেশন ফাইলে কাজ করছে না? :

workspace 1; exec firefox; workspace 2; exec chromium; workspace 1

উত্তর:


60

মতে আর্চ উইকি i3 পৃষ্ঠা একটি নির্দিষ্ট কর্মক্ষেত্রে একটি অ্যাপ্লিকেশন স্বতঃসূচনা জন্য, আপনাকে ব্যবহার i3-msg:

exec --no-startup-id i3-msg 'workspace 1:Web; exec /usr/bin/firefox'

4
হ্যাঁ, exec --no-startup-id i3-msg 'workspace 1; exec firefox; workspace 2; exec urxvt; workspace 1'কাজের মতো একটি লাইন । কিন্তু, আমি এটা একটু অদ্ভুত ব্যবহার করতে এটি execউপর i3-msgযা কমান্ড i3 কমান্ড চালানো বোঝানো হয়। আমি কেন সরাসরি workspace 1; exec firefox; workspace 2; exec urxvt; workspace 1আমার কনফিগারেশন ফাইলটিতে লিখতে পারি না ?
গ্রেডিয়েন্ট

3
এটি আমার জন্য কেবল ওয়ার্কস্পেস 1-এ সমস্ত কিছু খোলে।
সেএমসি

4
বেশিরভাগ অ্যাপ্লিকেশনের জন্য কাজ করে। তবে google-chrome-stableসর্বদা আমার সেটআপের শেষ কর্মक्षेत्रে খোলে। উদাহরণস্বরূপ, এই কনফিগারেশনের সাহায্যে ক্রোম htp এর পাশের 4 কর্মস্পেসে খোলে।
দানিজার

3
নোট করুন যে i3 এখন লেআউট সংরক্ষণ / পুনরুদ্ধার বৈশিষ্ট্য সরবরাহ করে যা বেশিরভাগ ক্ষেত্রে i3-msg কল করতে অপ্রয়োজনীয় করে তোলে।
উইল্যান্ড

1
@ ওয়াল্যান্ড লেআউট সংরক্ষণ / পুনরুদ্ধার অটো শুরু থেকে আলাদা ; প্রাক্তনটি কেবল প্রোগ্রাম উইন্ডোগুলির জন্য গিলে ফাঁদ স্থাপন করার বিষয়ে ডিল করেন যখন ওপরের অনুরোধ অনুসারে কোনও অ্যাপ্লিকেশনটির উদাহরণ শুরু হয়।
অ্যান্টনি টমাস

12
# This is what I use in ie config
# custom variables for workspaces
set $ws1 "1< txt >"
set $ws2 "2> fm "
set $ws3 "3< Web >"
set $ws4 4
set $ws5 5
set $ws6 6
set $ws7 7
set $ws8 8
set $ws9 9


##==================================================##
#                         *** Workspace specific settings ***                     #
##=================================================##
# Assign Workspaces:
assign [class="Firefox"] $ws3
assign [class="Chromium"] $ws3
assign [class="Google-chrome-beta"] $ws3
assign [class="^Geany"] $ws1

এটি কিছু অ্যাপ্লিকেশনগুলির জন্য কাজ করে তবে অন্যদের জন্য নয়। আমার সন্দেহ হয় এটি classযুক্তিতে ব্যবহৃত স্ট্রিংয়ের সাথে সম্পর্কিত হতে পারে । অ্যাপ্লিকেশনটি কোন শ্রেণীর সাথে জড়িত তা সঠিকভাবে জানার কোনও উপায় আছে কি?
লুয়েস ডি সুসা

@ LuísdeSousa xprop | grep CLASSটার্মিনালে, আপনার মাউস পয়েন্টারটি ক্রসহায়ারে পরিবর্তিত হয়, আপনি যে প্রোগ্রামটি ক্লাস করতে চান তার উপর ক্লিক করুন এবং আপনার টার্মিনালটিতে আসা দ্বিতীয় ভেরিয়েবলটি ব্যবহার করুন। ক্রোমের উদাহরণ ফলাফল:WM_CLASS(STRING) = "google-chrome", "Google-chrome"
বিড়ালছানা

@kittenparry। পরামর্শের জন্য আপনাকে ধন্যবাদ, তবে এখনও xpropকমান্ড থেকে স্ট্রিংটি ব্যবহার করে উইন্ডোজগুলি পছন্দসই কর্মক্ষেত্রের জন্য বরাদ্দ করা হয়নি।
Luís de Sousa

1
@ LuísdeSousa কিছু প্রোগ্রাম এর সাথে স্পটিফাইয়ের মতো কাজ করে না। তাদের জন্য আপনি এটির অনুরূপ কিছু লিখতে পারেন for_window [class="Spotify"] move to workspace $ws10যেখানে $ws10আপনার কর্মক্ষেত্রের পরিবর্তনশীল।
বিড়ালছানা

10

এটি কেবল ওয়ার্কস্পেস লঞ্চে একটি অটোস্টার্ট, আই 3 শুরু হওয়ার পরে অটোস্টার্ট নয় তবে আমি ভেবেছিলাম এটি কার্যকর হতে পারে।

উদাহরণস্বরূপ, নামযুক্ত দ্বিতীয় কর্মক্ষেত্র "ওয়েব" এ আমার ওয়েব ব্রাউজারটি চালু করতে আমি আমার কনফিগারেশনে এটি করেছি:

bindsym $mod+2 workspace 2:web; layout tabbed; exec [ $(ps h -C vimb | wc -l) = 0 ] && /usr/bin/vimb -s

আমি কী 2 টি আঘাত করলে আমার ওয়েব ব্রাউজারটি শুরু হয় তবে এটি ইতিমধ্যে খোলা থাকলে এটি পুনরায় চালু হয় না, এটি কেবল ওয়েব ওয়ার্কস্পেসে স্যুইচ করে।

দ্রষ্টব্য: লেআউট অংশটি কিছু সময় বিরক্তিকর হতে পারে, এটির কোনও প্রয়োজন নেই।

আরও তথ্যের জন্য আমার কনফারেন্স দেখুন


1
ওয়ার্কস্পেস বরাদ্দ করে আপনি এটি খুব সহজেই করতে পারেন । উদাহরণস্বরূপ pidginএর প্রতিটি লঞ্চে 3-rd কর্মক্ষেত্রে স্থানান্তরিত করার জন্য, আমার কনফিগারেশনে রয়েছে assign [class="Pidgin"] $tag3
হাই-অ্যাঞ্জেল

একটি কর্মক্ষেত্রে বরাদ্দ করা আলাদা। @ টাইজাকের সমাধানটি আপনি যখন কোনও নির্দিষ্ট কর্মক্ষেত্রটি খুলবেন তখন কোনও অ্যাপ্লিকেশন চালু হতে পারে। কোনও কর্মক্ষেত্রে একটি অ্যাপ্লিকেশন বরাদ্দকরণের ফলে আপনি যখনই এটি খুলবেন তখন অ্যাপ্লিকেশনটিকে একটি ওয়ার্কস্পেসে স্থানান্তরিত করা হবে।
মাইক

5

আমি আমার ~/.config/i3/configফাইলের শেষে এটির সাথে এটি কাজ করেছিলাম :

for_window [class="Firefox"] move container to workspace 2
exec --no-startup-id firefox

ফায়ারফক্সের জন্য আর্চ লিনাক্স আই 3 উদাহরণ অনুসারে : প্রথমে আপনার ভেরিয়েবলটি সেট করুন set $ws1 "Firefox"এবং তারপরে নিম্নলিখিত লাইনটি সন্নিবেশ করুনfor_window [class="Firefox"] move to workspace $ws1
মার্কাস ওয়েবার

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.