১. শুরু করার আগে
ডেস্ক কানেক্টর হলো ক্রোমওএস-এর একটি ফিচার, যা ওয়েব পেজগুলোকে প্রোগ্রাম্যাটিকভাবে ক্রোমওএস ভার্চুয়াল ডেস্ক অ্যাক্সেস করতে দেয়। এই কোডল্যাবে, আপনি শিখবেন কীভাবে ক্রোম ডেভটুলস-এর সাথে ডেস্ক কানেক্টর ব্যবহার করতে হয়।
পূর্বশর্ত
- ChromeOS ভার্চুয়াল ডেস্ক সম্পর্কে ধারণা
আপনি যা শিখবেন
- উইন্ডো প্রোপার্টি কীভাবে সেট করবেন।
- কীভাবে একটি ডেস্ক চালু করতে হয়।
- কীভাবে একটি ডেস্ক সরাতে হয়।
- কীভাবে একটি অ্যাক্টিভ ডেস্ক পাবেন
- কীভাবে অন্য ডেস্কে যাবেন
আপনার যা যা লাগবে
- একটি ক্রোমবুক
- ChromeOS সংস্করণ 113.* বা তার চেয়ে উচ্চতর । যদি সংস্করণটি আপনার কাছে এখনও উপলব্ধ না হয়, তবে বিটা চ্যানেলে চলে যান।
- গুগল ক্রোম
- ডেস্ক কানেক্টর ডেমো এক্সটেনশন
২. প্রস্তুত হন
সেট আপ করার জন্য, এই ধাপগুলো অনুসরণ করুন:
- এই ওয়েব পেজটিতে রাইট-ক্লিক করুন এবং ইন্সপেক্ট-এ ক্লিক করুন।
- Chrome DevTools প্যানেলে, Console-এ ক্লিক করুন। এই কোডল্যাবের সমস্ত কোড আপনি Console প্যানেলেই চালাবেন।
- (ঐচ্ছিক) আপনি
F5অথবা[]||চেপে ওভারভিউ মোডে প্রবেশ করে কোডল্যাব জুড়ে ভার্চুয়াল ডেস্কগুলোর সাথে ম্যানুয়ালি ইন্টারঅ্যাক্ট করতে পারেন।

৩. উইন্ডোর বৈশিষ্ট্য নির্ধারণ করুন
SetWindowProperties API একটি ওয়েব পেজকে প্রোগ্রাম্যাটিকভাবে তার উইন্ডোর প্রোপার্টিগুলো সেট করতে দেয়। যখন আপনি allDesks প্রোপার্টির মান true সেট করেন, তখন এটি বর্তমান ট্যাবের উইন্ডোটিকে সমস্ত ডেস্কে পিন করে দেয়।
উইন্ডো প্রোপার্টি সেট করতে এই ধাপগুলো অনুসরণ করুন:
- কনসোল প্যানেলে, উইন্ডোটি সমস্ত ডেস্কে প্রদর্শিত হওয়ার জন্য সেট করুন:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
"messageType": "SetWindowProperties",
"operands": {
"allDesks": true
}
},
function(response) {
console.log(response);
}
);
- উইন্ডোটিকে আবার একটিমাত্র ডেস্কে প্রদর্শিত হওয়ার জন্য সেট করুন:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond",{
"messageType": "SetWindowProperties",
"operands": {
"allDesks": false
}
},
function(response) {
console.log(response);
}
);
- সহজ প্রদর্শনের জন্য উইন্ডোটি আবার সব ডেস্কে পিন করুন:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
"messageType": "SetWindowProperties",
"operands": {
"allDesks": true
}
},
function(response) {
console.log(response);
}
);
আপনার ক্রোমবুকে একাধিক ভার্চুয়াল ডেস্ক থাকলে, এখন আপনি সব ডেস্কেই বর্তমান উইন্ডোটি দেখতে পারবেন।
৪. বর্তমানে সক্রিয় ডেস্কটি খুঁজুন।
GetActiveDesk API-এর মাধ্যমে একটি ওয়েব পেজ প্রোগ্রাম্যাটিকভাবে বর্তমান সক্রিয় ডেস্ক সম্পর্কে জানতে পারে।
- বর্তমান সক্রিয় ডেস্কটি পেতে, বর্তমান ডেস্ক আইডিটি সংগ্রহ করুন এবং
deskUuidপ্রপার্টিটি একটিbaseDeskভেরিয়েবলে সংরক্ষণ করুন:
let baseDesk;
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
"messageType": "GetActiveDesk",
},
function(response) {
console.log(response);
if(response && response.operands) {
baseDesk = response.operands.deskUuid;
}
}
);
৫. একটি ডেস্ক চালু করুন
LaunchDesk API একটি ওয়েব পেজকে প্রোগ্রাম্যাটিকভাবে একটি খালি ডেস্ক চালু করতে এবং সেটিতে সুইচ করতে দেয়।
একটি ডেস্ক চালু করতে, এই ধাপগুলো অনুসরণ করুন:
-
testনামের একটি ডেস্ক চালু করুন। -
newDesk1একটি ভেরিয়েবল তৈরি করুন যা ডেস্কেরdeskUuidপ্রপার্টিটি সংরক্ষণ করবে।
let newDesk1;
chrome.runtime.sendMessage(
"oagemgapjncacjdaockjfaidedggjond", {
"messageType": "LaunchDesk",
"operands": {
"deskName": "test"
}
},
function(response) {
console.log(response);
if(response&&response.operands) {
newDesk1 = response.operands.deskUuid;
}
}
);
আপনাকে নতুন চালু হওয়া ডেস্কে নিয়ে আসা হবে। যদি আপনার কনসোল উইন্ডোটি তার নিজস্ব উইন্ডোতে থাকে, তবে কনসোল উইন্ডোটি মূল ডেস্কে চলে আসবে। আপনি F5 অথবা []|| কী চেপে মূল ডেস্কে ফিরে যেতে পারবেন।
আপনি একই সময়ে সর্বোচ্চ আটটি ডেস্ক রাখতে পারেন। যদি API-টি DesksCountCheckFailedError ত্রুটি দেখায়, তবে আরও ডেস্ক চালু করার আগে আপনাকে কিছু ডেস্ক সরিয়ে ফেলতে হবে।
৬. একটি ডেস্ক সরান
RemoveDesk API-এর মাধ্যমে একটি ওয়েব পেজ থেকে ডেস্ক আইডি ব্যবহার করে প্রোগ্রামের সাহায্যে কোনো ডেস্ক মুছে ফেলা যায়। এটি ডেস্কের সমস্ত উইন্ডো বন্ধ করতে পারে।
সহজ করার জন্য, আপনি নতুন চালু করা ডেস্কটি সরিয়ে দেন। তবে, বাস্তবে, ওয়েব পেজটি তার ডেস্ক আইডি ব্যবহার করে যেকোনো নির্দিষ্ট ডেস্ক সরিয়ে দিতে পারে।
ডেস্কটি সরাতে, এই ধাপগুলো অনুসরণ করুন:
- নতুন চালু করা ডেস্কটি সরান:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
"messageType": "RemoveDesk",
"operands": {
"deskId": newDesk1
}
},
function(response) {
console.log(response);
}
);
- অপসারণ নিশ্চিত বা বাতিল করার জন্য যে ডায়ালগ বক্সটি আসবে, সেখানে ডেস্কটি অপসারণ নিশ্চিত করুন। ডেস্কের সমস্ত উইন্ডো বন্ধ হয়ে যাবে।

- আপনি যদি কোনো কনফার্মেশন উইন্ডো ছাড়াই ডেস্কটি সরানোর জন্য এপিআই কল করতে চান, তাহলে
skipConfirmationপ্যারামিটারটি ব্যবহার করুন:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
"messageType": "RemoveDesk",
"operands": {
"deskId": newDesk1,
"skipConfirmation":true
}
},
function(response) {
console.log(response);
}
);
৭. অন্য ডেস্কে যান
SwitchDesk API একটি ওয়েব পেজকে প্রোগ্রামের মাধ্যমে নির্ধারিত ডেস্কে পরিবর্তন করার সুযোগ দেয়।
সহজ করার জন্য, আপনি একটি ডেস্ক চালু করেন এবং আগের ডেস্কে ফিরে যান। তবে, বাস্তবে, ওয়েব পেজটি তার ডেস্ক আইডি ব্যবহার করে যেকোনো নির্দিষ্ট ডেস্কে চলে যেতে পারে।
অন্য ডেস্কে যেতে, এই ধাপগুলো অনুসরণ করুন:
- একটি ডেস্ক চালু করুন:
let newDesk1;
chrome.runtime.sendMessage(
"oagemgapjncacjdaockjfaidedggjond", {
"messageType": "LaunchDesk",
"operands": {
"deskName": "test"
}
},
function(response) {
console.log(response);
if(response && response.operands) {
newDesk1 = response.operands.deskUuid;
}
}
);
- আগের ডেস্কে ফিরে যান:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
"messageType": "SwitchDesk",
"operands": {
"deskId": baseDesk
}
},
function(response) {
console.log(response);
}
);
৮. অভিনন্দন
অভিনন্দন! আপনি Desk Connector Demo এক্সটেনশন এবং Chrome DevTools ব্যবহার করে ওয়েব পেজকে ChromeOS Desk-এ প্রোগ্রাম্যাটিক অ্যাক্সেস দেওয়ার পদ্ধতি শিখেছেন।