safari-workspaces/trash/run.js

76 lines
1.6 KiB
JavaScript

var app = Application("Safari")
function newWorkspaceWindow(){
app.activate()
app.Document().make()
// delay(1)
// return window id
return newWindowID()
}
function newWindowID(){
var windows = getAllWindows()
if(index < 0){
index = windows.length + index
}
return app.windows.byId(windows[index]).id()
}
/**
@returns {Array} List of objects in the form {title: title, url:url}
*/
function tabsInWindowWithId(id){
var urls = []
if(!sys.windowExistWithId("Safari", id)){
return urls
}
var win = app.windows.byId(id)
for (var i = 0; i < win.tabs.length; i++) {
var url = win.tabs.at(i).url()
var name = win.tabs.at(i).name()
urls.push({name:name, url:url})
}
return urls
}
function getAllWindows(){
var windows = []
for(var i = 0; i < app.windows().length; i++){
windows.push(app.windows.at(i).id())
}
return windows
// return windows.sort(function(a, b){return a-b})
}
function tabsInWindowAtIndex(index) {
var win
for(var i = 0; i < app.windows().length; i++){
if(i == index){
win = app.windows.at(i)
}
}
var tabs = []
for (var i = 0; i < win.tabs.length; i++) {
var url = win.tabs.at(i).url()
var title = win.tabs.at(i).name()
tabs.push({title: title, url: url})
}
return tabs
}
var tabs = tabsInWindowAtIndex(0)
for (var i = 0; i < tabs.length; i++) {
console.log(tabs[i].title, tabs[i].url)
}
// console.log(getAllWindows())
// console.log(newWorkspaceWindow())