কমান্ড লাইন থেকে আমি কীভি স্ক্রিপ্টটি চালাতে পারি?


9

আমি উইন্ডোজগুলি কীভাবে পছন্দ করি তা টাইল করার জন্য আমি একটি সত্যিকারের বেসিক স্ক্রিপ্ট লিখেছিলাম,

// Main reference: http://techbase.kde.org/Development/Tutorials/KWin/Scripting

// Top-level parameters. Adjust these as suitable for your desktop.
var width = 3840;
var third = Math.round(width / 3);


var clients = workspace.clientList();
for (var i=0; i<clients.length; i++) {
  var client = clients[i];
  var cap = client.caption.toLowerCase();
  var g = client.geometry;

  if (cap.indexOf("firefox") != -1) {
    g.x = 0;
    g.width = third;
  } else if (cap.indexOf("vim") != -1) {
    g.x = third;
    g.width = third;
  } else if (cap.indexOf("konsole") != -1) {
    g.x = third * 2;
    g.width = third;
  }

  client.geometry = g;
}

স্ক্রিপ্টিং কনসোল ব্যবহার করে ( qdbus org.kde.plasma-desktop /MainApplication showInteractiveKWinConsoleবা wm consoleক্রুনার থেকে)।

আমি এটি একটি হটকার সাথে আবদ্ধ করতে চাই।

আমি শুধু প্লাজমা প্যাকেজ, যা আমি কাজ অর্জিত হয়নি বিল্ডিং সম্পর্কে সম্পদ খুঁজে পেতে সক্ষম চলেছি (আমি একটি আছে metadata.desktopযে এর বেশী অনুরূপ /usr/share/kde4/apps/kwin/scripts, এবং অনুরূপ ডিরেক্টরির বিষয়বস্তু, কিন্তু এটা বলে plasmapkg(3980)/libplasma Plasma::Package::installPackage: Could not register package as service (this is not necessarily fatal): "kwin-script-tilewindows")।

আমি প্লাজমা প্যাকেজিংয়ের সাথে মাক করে কিছুটা ক্লান্ত হয়ে পড়েছি। কমান্ড লাইন থেকে আমি কীভাবে আমার জাভাস্ক্রিপ্ট-ভিত্তিক কুইন স্ক্রিপ্টটি চালু করতে পারি?

সম্পাদনা / নোট

আপনি যদি পরিচিত না হন তবে কে-কে-কে হটকি-তে কমান্ড বাঁধাই সহজ - অ্যাপ্লিকেশন প্রবর্তককে ডান ক্লিক করুন, "অ্যাপ্লিকেশন সম্পাদনা করুন" এ যান, একটি নতুন আইটেম যুক্ত করুন, "কমান্ড" বাক্সে শেল কমান্ড প্রবেশ করুন, এবং তারপরে "উন্নত" ট্যাবে শর্টকাট কীটি সেট করুন।

উত্তর:


7

এখান থেকে কিছু ইঙ্গিত সহ , আমি নিম্নলিখিতগুলিতে কাজ করতে সক্ষম হয়েছি:

script=/path/to/script

num=$(dbus-send --print-reply --dest=org.kde.kwin.Scripting \
  /Scripting \
  org.kde.kwin.Scripting.loadScript \
  string:"$script" |
  awk 'END {print $2}' )

dbus-send --print-reply --dest=org.kde.kwin.Scripting \
  /$num \
  org.kde.kwin.Scripting.run

1

আপডেট: এটি কাজ করতে 2019 এ আমার এটি করতে হয়েছিল:

# don't use ~/ in this path:
script="/path/to/script"

num=$(dbus-send --print-reply --dest=org.kde.KWin \
    /Scripting org.kde.kwin.Scripting.loadScript \
    string:"$script" | awk 'END {print $2}' )

dbus-send --print-reply --dest=org.kde.KWin /$num \
    org.kde.kwin.Scripting.run
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.