mirror of
https://github.com/alyssaxuu/omni.git
synced 2026-03-11 08:54:35 +00:00
Open direct links, search, removing some errors
This commit is contained in:
parent
e191b31d6f
commit
5e8a9d2666
3 changed files with 64 additions and 15 deletions
|
|
@ -154,7 +154,9 @@ chrome.runtime.onInstalled.addListener((object) => {
|
|||
|
||||
for (let j = 0; j < t; j++) {
|
||||
currentTab = currentWindow.tabs[j];
|
||||
injectIntoTab(currentTab);
|
||||
if (!currentTab.url.includes("chrome://") && !currentTab.url.includes("chrome-extension://") && !currentTab.url.includes("chrome.google.com")) {
|
||||
injectIntoTab(currentTab);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -183,6 +185,11 @@ const resetOmni = () => {
|
|||
clearActions();
|
||||
getTabs();
|
||||
getBookmarks();
|
||||
var search = [
|
||||
{title:"Search", desc:"Search for a query", type:"action", action:"search", emoji:true, emojiChar:"🔍", keycheck:false},
|
||||
{title:"Search", desc:"Go to website", type:"action", action:"goto", emoji:true, emojiChar:"🔍", keycheck:false}
|
||||
];
|
||||
actions = search.concat(actions);
|
||||
}
|
||||
|
||||
// Check if tabs have changed and actions need to be fetched again
|
||||
|
|
@ -330,9 +337,7 @@ const removeBookmark = (bookmark) => {
|
|||
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
|
||||
switch (message.request) {
|
||||
case "get-actions":
|
||||
clearActions();
|
||||
getTabs();
|
||||
getBookmarks();
|
||||
resetOmni();
|
||||
sendResponse({actions: actions});
|
||||
break;
|
||||
case "switch-tab":
|
||||
|
|
@ -446,10 +451,13 @@ chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
|
|||
closeTab(message.action);
|
||||
}
|
||||
break;
|
||||
case "search":
|
||||
chrome.search.query(
|
||||
{text:message.query}
|
||||
)
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
// Get actions
|
||||
clearActions();
|
||||
getTabs();
|
||||
getBookmarks();
|
||||
resetOmni();
|
||||
|
|
|
|||
|
|
@ -32,9 +32,12 @@ $(document).ready(function(){
|
|||
img = "<span class='omni-emoji-action'>"+action.emojiChar+"</span>"
|
||||
}
|
||||
if (index != 0) {
|
||||
$("#omni-extension #omni-list").append("<div class='omni-item' data-type='"+action.type+"'>"+img+"<div class='omni-item-details'><div class='omni-item-name'>"+action.title+"</div><div class='omni-item-desc'>"+action.desc+"</div></div>"+keys+"<div class='omni-select'>Select <span class='omni-shortcut'>⏎</span></div></div>");
|
||||
$("#omni-extension #omni-list").append("<div class='omni-item' data-index='"+index+"' data-type='"+action.type+"'>"+img+"<div class='omni-item-details'><div class='omni-item-name'>"+action.title+"</div><div class='omni-item-desc'>"+action.desc+"</div></div>"+keys+"<div class='omni-select'>Select <span class='omni-shortcut'>⏎</span></div></div>");
|
||||
} else {
|
||||
$("#omni-extension #omni-list").append("<div class='omni-item omni-item-active' data-type='"+action.type+"'>"+img+"<div class='omni-item-details'><div class='omni-item-name'>"+action.title+"</div><div class='omni-item-desc'>"+action.desc+"</div></div>"+keys+"<div class='omni-select'>Select <span class='omni-shortcut'>⏎</span></div></div>");
|
||||
$("#omni-extension #omni-list").append("<div class='omni-item omni-item-active' data-index='"+index+"' data-type='"+action.type+"'>"+img+"<div class='omni-item-details'><div class='omni-item-name'>"+action.title+"</div><div class='omni-item-desc'>"+action.desc+"</div></div>"+keys+"<div class='omni-select'>Select <span class='omni-shortcut'>⏎</span></div></div>");
|
||||
}
|
||||
if (action.type == "action" && action.action == "search") {
|
||||
$(".omni-item[data-index='"+index+"']").hide();
|
||||
}
|
||||
})
|
||||
$(".omni-extension #omni-results").html(actions.length+" results");
|
||||
|
|
@ -58,9 +61,9 @@ $(document).ready(function(){
|
|||
img = "<span class='omni-emoji-action'>"+action.emojiChar+"</span>"
|
||||
}
|
||||
if (index != 0) {
|
||||
$("#omni-extension #omni-list").append("<div class='omni-item' data-type='"+action.type+"' data-url='"+action.url+"'>"+img+"<div class='omni-item-details'><div class='omni-item-name'>"+action.title+"</div><div class='omni-item-desc'>"+action.url+"</div></div>"+keys+"<div class='omni-select'>Select <span class='omni-shortcut'>⏎</span></div></div>");
|
||||
$("#omni-extension #omni-list").append("<div class='omni-item' data-index='"+index+"' data-type='"+action.type+"' data-url='"+action.url+"'>"+img+"<div class='omni-item-details'><div class='omni-item-name'>"+action.title+"</div><div class='omni-item-desc'>"+action.url+"</div></div>"+keys+"<div class='omni-select'>Select <span class='omni-shortcut'>⏎</span></div></div>");
|
||||
} else {
|
||||
$("#omni-extension #omni-list").append("<div class='omni-item omni-item-active' data-type='"+action.type+"' data-url='"+action.url+"'>"+img+"<div class='omni-item-details'><div class='omni-item-name'>"+action.title+"</div><div class='omni-item-desc'>"+action.url+"</div></div>"+keys+"<div class='omni-select'>Select <span class='omni-shortcut'>⏎</span></div></div>");
|
||||
$("#omni-extension #omni-list").append("<div class='omni-item omni-item-active' data-index='"+index+"' data-type='"+action.type+"' data-url='"+action.url+"'>"+img+"<div class='omni-item-details'><div class='omni-item-name'>"+action.title+"</div><div class='omni-item-desc'>"+action.url+"</div></div>"+keys+"<div class='omni-select'>Select <span class='omni-shortcut'>⏎</span></div></div>");
|
||||
}
|
||||
})
|
||||
$(".omni-extension #omni-results").html(actions.length+" results");
|
||||
|
|
@ -115,6 +118,25 @@ $(document).ready(function(){
|
|||
}
|
||||
}
|
||||
|
||||
// Add protocol
|
||||
function addhttp(url) {
|
||||
if (!/^(?:f|ht)tps?\:\/\//.test(url)) {
|
||||
url = "http://" + url;
|
||||
}
|
||||
return url;
|
||||
}
|
||||
|
||||
// Check if valid url
|
||||
function validURL(str) {
|
||||
var pattern = new RegExp('^(https?:\\/\\/)?'+ // protocol
|
||||
'((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|'+ // domain name
|
||||
'((\\d{1,3}\\.){3}\\d{1,3}))'+ // OR ip (v4) address
|
||||
'(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*'+ // port and path
|
||||
'(\\?[;&a-z\\d%_.~+=-]*)?'+ // query string
|
||||
'(\\#[-a-z\\d_]*)?$','i'); // fragment locator
|
||||
return !!pattern.test(str);
|
||||
}
|
||||
|
||||
// Search for an action in the omni
|
||||
function search(e) {
|
||||
if (e.keyCode == 37 || e.keyCode == 38 || e.keyCode == 39 || e.keyCode == 40 || e.keyCode == 13 || e.keyCode == 37) {
|
||||
|
|
@ -174,6 +196,18 @@ $(document).ready(function(){
|
|||
}
|
||||
} else {
|
||||
$(this).toggle($(this).find(".omni-item-name").text().toLowerCase().indexOf(value) > -1 || $(this).find(".omni-item-desc").text().toLowerCase().indexOf(value) > -1);
|
||||
if (value == "") {
|
||||
$(".omni-item[data-index='"+actions.findIndex(x => x.action == "search")+"']").hide();
|
||||
$(".omni-item[data-index='"+actions.findIndex(x => x.action == "goto")+"']").hide();
|
||||
} else if (!validURL(value)) {
|
||||
$(".omni-item[data-index='"+actions.findIndex(x => x.action == "search")+"']").show();
|
||||
$(".omni-item[data-index='"+actions.findIndex(x => x.action == "goto")+"']").hide();
|
||||
$(".omni-item[data-index='"+actions.findIndex(x => x.action == "search")+"'] .omni-item-name").html('\"'+value+'\"');
|
||||
} else {
|
||||
$(".omni-item[data-index='"+actions.findIndex(x => x.action == "search")+"']").hide();
|
||||
$(".omni-item[data-index='"+actions.findIndex(x => x.action == "goto")+"']").show();
|
||||
$(".omni-item[data-index='"+actions.findIndex(x => x.action == "goto")+"'] .omni-item-name").html(value);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -184,7 +218,7 @@ $(document).ready(function(){
|
|||
|
||||
// Handle actions from the omni
|
||||
function handleAction(e) {
|
||||
var action = actions.find(x => x.title == $(".omni-item-active .omni-item-name").text());
|
||||
var action = actions[$(".omni-item-active").attr("data-index")];
|
||||
closeOmni();
|
||||
if ($(".omni-extension input").val().toLowerCase().startsWith("/remove")) {
|
||||
chrome.runtime.sendMessage({request:"remove", type:action.type, action:action});
|
||||
|
|
@ -195,7 +229,7 @@ $(document).ready(function(){
|
|||
window.open($(".omni-item-active").attr("data-url"));
|
||||
}
|
||||
} else {
|
||||
chrome.runtime.sendMessage({request:action.action, tab:action});
|
||||
chrome.runtime.sendMessage({request:action.action, tab:action, query:$(".omni-extension input").val()});
|
||||
switch (action.action) {
|
||||
case "bookmark":
|
||||
if (e.ctrlKey || e.metaKey) {
|
||||
|
|
@ -234,6 +268,13 @@ $(document).ready(function(){
|
|||
window.open(action.url, "_self");
|
||||
}
|
||||
break;
|
||||
case "goto":
|
||||
if (e.ctrlKey || e.metaKey) {
|
||||
window.open(addhttp($(".omni-extension input").val()));
|
||||
} else {
|
||||
window.open(addhttp($(".omni-extension input").val()), "_self");
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
"name": "Omni",
|
||||
"description": "Supercharge Chrome with commands, shortcuts, and more",
|
||||
"offline_enabled": true,
|
||||
"version": "1.3.4",
|
||||
"version": "1.3.5",
|
||||
"manifest_version": 3,
|
||||
"action": {
|
||||
"icons": {
|
||||
|
|
@ -45,7 +45,7 @@
|
|||
}
|
||||
],
|
||||
"permissions": [
|
||||
"tabs", "activeTab", "bookmarks", "browsingData", "history", "scripting"
|
||||
"tabs", "activeTab", "bookmarks", "browsingData", "history", "scripting", "search"
|
||||
],
|
||||
"host_permissions": [
|
||||
"https://www.googleapis.com/*", "https://gstatic.com/*", "*://*/*"
|
||||
|
|
|
|||
Loading…
Reference in a new issue