منح صفحات الويب إذنًا بالوصول الآلي إلى ChromeOS Desk

1. قبل البدء

Desk Connector هي ميزة في ChromeOS تتيح لصفحات الويب الوصول آليًا إلى أسطح المكتب الافتراضية لنظام التشغيل ChromeOS. في هذا الدرس التطبيقي، ستتعرّف على كيفية استخدام Desk Connector مع "أدوات مطوري البرامج في Chrome".

المتطلبات الأساسية

المعلومات التي ستطّلع عليها

  • كيفية ضبط خصائص النافذة
  • كيفية إطلاق مكتب
  • كيفية إزالة مكتب
  • كيفية الحصول على سطح مكتب نشط.
  • كيفية التبديل إلى سطح مكتب آخر

المتطلبات

2. الإعداد

للإعداد، يُرجى اتّباع الخطوات التالية:

  1. انقر بزر الماوس الأيمن على صفحة الويب هذه، ثم انقر على فحص.
  2. في لوحة "أدوات مطوري البرامج في Chrome"، انقر على وحدة التحكّم. عليك تشغيل كل الرموز البرمجية الواردة في هذا الدرس التطبيقي حول الترميز في لوحة وحدة التحكّم.
  3. (اختياري) يمكنك التفاعل يدويًا مع أسطح المكتب الافتراضية خلال الدرس التطبيقي حول الترميز من خلال الضغط على F5 أو []|| للدخول إلى وضع "نظرة عامة".

7a5398f02e46d103.png

3- ضبط خصائص النافذة

تتيح واجهة برمجة التطبيقات SetWindowProperties لصفحة الويب ضبط خصائص نافذتها آليًا. عند ضبط السمة allDesks على القيمة true، يتم تثبيت نافذة علامة التبويب الحالية على جميع أسطح المكتب.

لإعداد خصائص النوافذ، اتّبِع الخطوات التالية:

  1. في لوحة وحدة التحكّم، يمكنك ضبط النافذة لتظهر في جميع أسطح المكتب:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
    "messageType": "SetWindowProperties",
    "operands": {
        "allDesks": true
    }
   },
  function(response) {
      console.log(response);
  }
);
  1. يمكنك ضبط النافذة لتظهر على سطح مكتب واحد مرة أخرى:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond",{
    "messageType": "SetWindowProperties",
    "operands": {
        "allDesks": false
    }
   },
  function(response) {
     console.log(response);
  }
);
  1. يمكنك تثبيت النافذة على جميع أسطح المكتب مرة أخرى من أجل عرضها بشكل أسهل:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
    "messageType": "SetWindowProperties",
    "operands": {
        "allDesks": true
    }
   },
  function(response) {
     console.log(response);
  }
);

إذا كان لديك أكثر من سطح مكتب افتراضي واحد على جهاز Chromebook، يمكنك الآن الاطّلاع على النافذة الحالية على جميع أسطح المكتب.

4. الحصول على سطح المكتب النشط الحالي

تسمح واجهة برمجة التطبيقات GetActiveDesk لصفحة الويب بإجراء طلبات بحث آلية عن سطح المكتب النشط الحالي.

  • للحصول على سطح المكتب النشط الحالي، عليك استرداد رقم تعريف سطح المكتب الحالي وتخزين السمة deskUuid في متغيّر baseDesk:
let baseDesk;
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
    "messageType": "GetActiveDesk",
    },
   function(response) {
    console.log(response);
    if(response && response.operands) {
    baseDesk = response.operands.deskUuid; 
   }       
  }
);

5- فتح سطح مكتب

تسمح واجهة برمجة التطبيقات LaunchDesk لصفحة الويب بتشغيل سطح مكتب فارغ والتبديل إليه آليًا.

لتشغيل سطح مكتب، اتبع الخطوات التالية:

  1. تشغيل سطح مكتب باسم "test".
  2. أنشِئ متغيّر 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 أو []||.

يمكنك إنشاء ما يصل إلى ثمانية أسطح مكتب في آنٍ واحد. إذا كانت واجهة برمجة التطبيقات تعرض الخطأ DesksCountCheckFailedError، عليك إزالة بعض أسطح المكتب قبل تشغيل المزيد.

6- إزالة سطح مكتب

تسمح واجهة برمجة التطبيقات RemoveDesk لصفحة الويب بإزالة سطح مكتب آليًا باستخدام رقم تعريف سطح المكتب. يمكنها إغلاق جميع النوافذ على سطح المكتب.

ولتبسيط الأمر، يمكنك إزالة سطح المكتب الذي تم إطلاقه حديثًا. ومع ذلك، يمكن لصفحة الويب من الناحية العملية إزالة أي مكتب مخصّص من خلال رقم تعريف المكتب.

لإزالة سطح مكتب، اتّبِع الخطوات التالية:

  1. إزالة سطح المكتب الذي تم إطلاقه حديثًا:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
    "messageType": "RemoveDesk",
    "operands": {
        "deskId": newDesk1                        
    }
  },
  function(response) {
     console.log(response);
  }
);
  1. في مربّع الحوار الذي يطلب منك تأكيد عملية الإزالة أو إلغاءها، أكِّد إزالة سطح المكتب. إنّ جميع النوافذ على المكتب مُغلقة.

إشعار "إغلاق جميع النوافذ" في نظام التشغيل ChromeOS

  1. إذا كنت تريد طلب بيانات من واجهة برمجة التطبيقات لإزالة سطح المكتب بدون نافذة تأكيد، يمكنك استخدام المَعلمة skipConfirmation:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
    "messageType": "RemoveDesk",
    "operands": {
        "deskId": newDesk1,
        "skipConfirmation":true
   }
  },
  function(response) {
     console.log(response);
  }
);

7. التبديل إلى سطح مكتب آخر

تسمح واجهة برمجة التطبيقات SwitchDesk لصفحة الويب بالتبديل آليًا إلى سطح مكتب معيّن.

للتبسيط، يمكنك تشغيل سطح مكتب والتبديل إلى سطح مكتب سابق. ومع ذلك، من الناحية العملية، يمكن تبديل صفحة الويب إلى أي مكتب مخصّص باستخدام رقم تعريف المكتب.

للتبديل إلى سطح مكتب آخر، يُرجى اتّباع الخطوات التالية:

  1. فتح سطح مكتب:
let newDesk1;                   
chrome.runtime.sendMessage(
    "oagemgapjncacjdaockjfaidedggjond", {
        "messageType": "LaunchDesk",
        "operands": {
            "deskName": "test"          
        }
    },
    function(response) {
     console.log(response);
     if(response && response.operands) {
     newDesk1 = response.operands.deskUuid;
    }     
   }
);
  1. التبديل إلى سطح المكتب السابق:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
    "messageType": "SwitchDesk",
    "operands": {
        "deskId": baseDesk                 
   }
  },
   function(response) {
       console.log(response); 
  }
);

8. تهانينا

تهانينا! لقد تعرَّفت على كيفية منح صفحات الويب إذنًا بالوصول الآلي إلى ChromeOS Desk باستخدام إضافة Desk Connector Demo و"أدوات مطوري البرامج في Chrome".

مزيد من المعلومات