require 'totalspaces2'
def alfred_move_windows(appname)
current_space = TotalSpaces2.current_space
windowsall = TotalSpaces2.window_list
if !windowsall.empty?
no_current_windows = windowsall.select {
|window| (window[:space_number] != current_space)&&window[:app_name].downcase =~/#{appname}/
}
end
no_current_windows.each{|window|
win_pra = (window[:frame].delete"\{\} ").split(',')
xpos = win_pra[0].to_i
ypos = win_pra[1].to_i
width = win_pra[2].to_i
off = 1920 - xpos
if window[:space_number] < current_space
TotalSpaces2.move_window(
window[:window_id],-1920, ypos)
TotalSpaces2.move_window_to_space(
window[:window_id], current_space)
TotalSpaces2.set_front_window(no_current_windows[0][:window_id])
0.step(1920,5){|n| TotalSpaces2.move_window(
window[:window_id],-(1920-xpos)+n,ypos)
}
else
TotalSpaces2.move_window(
window[:window_id],1920, ypos)
TotalSpaces2.move_window_to_space(
window[:window_id], current_space)
TotalSpaces2.set_front_window(no_current_windows[0][:window_id])
0.step(off,5){|n| TotalSpaces2.move_window(
window[:window_id],1920-n,ypos)
}
end
sleep 0.2
}
end
$LOAD_PATH << '.'
alfred_move_windows("{query}")
阅读(636) | 评论(0) | 转发(0) |