rewrote a lot of stuff especially the bluetooth module. fixed some errors
This commit is contained in:
@@ -5,24 +5,31 @@
|
||||
-- Awesome Libs
|
||||
local awful = require("awful")
|
||||
local Gio = require("lgi").Gio
|
||||
local gfilesystem = require("gears").filesystem
|
||||
local dpi = require("beautiful").xresources.apply_dpi
|
||||
local gears = require("gears")
|
||||
local wibox = require("wibox")
|
||||
|
||||
local capi = {
|
||||
awesome = awesome,
|
||||
mouse = mouse,
|
||||
}
|
||||
|
||||
local json = require("src.lib.json-lua.json-lua")
|
||||
|
||||
local cm = require("src.modules.context_menu")
|
||||
|
||||
local icondir = awful.util.getdir("config") .. "src/assets/icons/context_menu/"
|
||||
|
||||
return function()
|
||||
return function(s)
|
||||
|
||||
local application_grid = wibox.widget {
|
||||
homogenous = true,
|
||||
expand = false,
|
||||
spacing = dpi(10),
|
||||
id = "grid",
|
||||
forced_num_cols = 8,
|
||||
-- 200 is the application element width + 10 spacing
|
||||
forced_num_cols = math.floor((capi.mouse.screen.geometry.width / 100 * 60) / (200)),
|
||||
forced_num_rows = 7,
|
||||
orientation = "vertical",
|
||||
layout = wibox.layout.grid
|
||||
@@ -107,7 +114,7 @@ return function()
|
||||
name = "Execute as sudo",
|
||||
icon = gears.color.recolor_image(icondir .. "launch.svg", Theme_config.context_menu.icon_color),
|
||||
callback = function()
|
||||
awesome.emit_signal("application_launcher::show")
|
||||
capi.awesome.emit_signal("application_launcher::show")
|
||||
awful.spawn("/home/crylia/.config/awesome/src/scripts/start_as_admin.sh " .. app_widget.exec)
|
||||
end
|
||||
},
|
||||
@@ -115,6 +122,11 @@ return function()
|
||||
name = "Pin to dock",
|
||||
icon = gears.color.recolor_image(icondir .. "pin.svg", Theme_config.context_menu.icon_color),
|
||||
callback = function()
|
||||
local dir = awful.util.getdir("config") .. "src/config"
|
||||
gfilesystem.make_directories(dir)
|
||||
if not gfilesystem.file_readable(dir) then
|
||||
os.execute("touch " .. dir .. "/dock.json")
|
||||
end
|
||||
local handler = io.open("/home/crylia/.config/awesome/src/config/dock.json", "r")
|
||||
if not handler then
|
||||
return
|
||||
@@ -141,14 +153,14 @@ return function()
|
||||
end
|
||||
handler:write(dock_encoded)
|
||||
handler:close()
|
||||
awesome.emit_signal("dock::changed")
|
||||
capi.awesome.emit_signal("dock::changed")
|
||||
end
|
||||
},
|
||||
{
|
||||
name = "Add to desktop",
|
||||
icon = gears.color.recolor_image(icondir .. "desktop.svg", Theme_config.context_menu.icon_color),
|
||||
callback = function()
|
||||
awesome.emit_signal("application_launcher::show")
|
||||
capi.awesome.emit_signal("application_launcher::show")
|
||||
--!TODO: Add to desktop
|
||||
end
|
||||
}
|
||||
@@ -163,7 +175,7 @@ return function()
|
||||
button = 1,
|
||||
on_release = function()
|
||||
Gio.AppInfo.launch_uris_async(app)
|
||||
awesome.emit_signal("application_launcher::show")
|
||||
capi.awesome.emit_signal("application_launcher::show")
|
||||
end
|
||||
}),
|
||||
awful.button({
|
||||
@@ -174,8 +186,8 @@ return function()
|
||||
return
|
||||
end
|
||||
-- add offset so mouse is above widget, this is so the mouse::leave event triggers always
|
||||
context_menu.x = mouse.coords().x - 10
|
||||
context_menu.y = mouse.coords().y - 10
|
||||
context_menu.x = capi.mouse.coords().x - 10
|
||||
context_menu.y = capi.mouse.coords().y - 10
|
||||
context_menu.visible = not context_menu.visible
|
||||
end
|
||||
})
|
||||
@@ -214,7 +226,7 @@ return function()
|
||||
local pos = application_grid:get_widget_position(application)
|
||||
|
||||
-- Check if the curser is currently at the same position as the application
|
||||
awesome.connect_signal(
|
||||
capi.awesome.connect_signal(
|
||||
"update::selected",
|
||||
function()
|
||||
if curser.y == pos.row and curser.x == pos.col then
|
||||
@@ -224,7 +236,7 @@ return function()
|
||||
end
|
||||
end
|
||||
)
|
||||
awesome.emit_signal("update::selected")
|
||||
capi.awesome.emit_signal("update::selected")
|
||||
end
|
||||
end
|
||||
|
||||
@@ -233,18 +245,18 @@ return function()
|
||||
|
||||
application_grid = get_applications(filter)
|
||||
|
||||
awesome.connect_signal(
|
||||
capi.awesome.connect_signal(
|
||||
"application::left",
|
||||
function()
|
||||
curser.x = curser.x - 1
|
||||
if curser.x < 1 then
|
||||
curser.x = 1
|
||||
end
|
||||
awesome.emit_signal("update::selected")
|
||||
capi.awesome.emit_signal("update::selected")
|
||||
end
|
||||
)
|
||||
|
||||
awesome.connect_signal(
|
||||
capi.awesome.connect_signal(
|
||||
"application::right",
|
||||
function()
|
||||
curser.x = curser.x + 1
|
||||
@@ -252,22 +264,22 @@ return function()
|
||||
if curser.x > grid_cols then
|
||||
curser.x = grid_cols
|
||||
end
|
||||
awesome.emit_signal("update::selected")
|
||||
capi.awesome.emit_signal("update::selected")
|
||||
end
|
||||
)
|
||||
|
||||
awesome.connect_signal(
|
||||
capi.awesome.connect_signal(
|
||||
"application::up",
|
||||
function()
|
||||
curser.y = curser.y - 1
|
||||
if curser.y < 1 then
|
||||
curser.y = 1
|
||||
end
|
||||
awesome.emit_signal("update::selected")
|
||||
capi.awesome.emit_signal("update::selected")
|
||||
end
|
||||
)
|
||||
|
||||
awesome.connect_signal(
|
||||
capi.awesome.connect_signal(
|
||||
"application::down",
|
||||
function()
|
||||
curser.y = curser.y + 1
|
||||
@@ -275,21 +287,21 @@ return function()
|
||||
if curser.y > grid_rows then
|
||||
curser.y = grid_rows
|
||||
end
|
||||
awesome.emit_signal("update::selected")
|
||||
capi.awesome.emit_signal("update::selected")
|
||||
end
|
||||
)
|
||||
|
||||
awesome.connect_signal(
|
||||
capi.awesome.connect_signal(
|
||||
"update::application_list",
|
||||
function(f)
|
||||
application_grid = get_applications(f)
|
||||
end
|
||||
)
|
||||
|
||||
awesome.connect_signal(
|
||||
capi.awesome.connect_signal(
|
||||
"application_launcher::execute",
|
||||
function()
|
||||
awesome.emit_signal("searchbar::stop")
|
||||
capi.awesome.emit_signal("searchbar::stop")
|
||||
|
||||
local selected_widget = application_grid:get_widgets_at(curser.y, curser.x)[1]
|
||||
Gio.AppInfo.launch_uris_async(Gio.AppInfo.create_from_commandline(selected_widget.exec, nil, 0))
|
||||
|
||||
@@ -8,6 +8,11 @@ local dpi = require("beautiful").xresources.apply_dpi
|
||||
local gears = require("gears")
|
||||
local wibox = require("wibox")
|
||||
|
||||
local capi = {
|
||||
awesome = awesome,
|
||||
mouse = mouse,
|
||||
}
|
||||
|
||||
local application_grid = require("src.modules.application_launcher.application")()
|
||||
local searchbar = require("src.modules.application_launcher.searchbar")()
|
||||
|
||||
@@ -32,7 +37,7 @@ return function(s)
|
||||
widget = wibox.container.margin
|
||||
},
|
||||
height = s.geometry.height / 100 * 60,
|
||||
width = s.geometry.width / 100 * 60,
|
||||
--width = s.geometry.width / 100 * 60,
|
||||
strategy = "exact",
|
||||
widget = wibox.container.constraint
|
||||
}
|
||||
@@ -57,17 +62,17 @@ return function(s)
|
||||
layout = wibox.layout.fixed.vertical
|
||||
}
|
||||
|
||||
awesome.connect_signal(
|
||||
capi.awesome.connect_signal(
|
||||
"application_launcher::show",
|
||||
function()
|
||||
if mouse.screen == s then
|
||||
if capi.mouse.screen == s then
|
||||
application_container.visible = not application_container.visible
|
||||
if application_container.visible == false then
|
||||
awesome.emit_signal("searchbar::stop")
|
||||
capi.awesome.emit_signal("searchbar::stop")
|
||||
end
|
||||
end
|
||||
if application_container.visible then
|
||||
awesome.emit_signal("searchbar::start")
|
||||
capi.awesome.emit_signal("searchbar::start")
|
||||
end
|
||||
end
|
||||
)
|
||||
|
||||
@@ -6,13 +6,15 @@
|
||||
local awful = require("awful")
|
||||
local dpi = require("beautiful").xresources.apply_dpi
|
||||
local gears = require("gears")
|
||||
local gfs = gears.filesystem
|
||||
local gtable = gears.table
|
||||
local gdebug = gears.debug
|
||||
local gstring = gears.string
|
||||
local keygrabber = require("awful.keygrabber")
|
||||
local wibox = require("wibox")
|
||||
|
||||
local capi = {
|
||||
awesome = awesome,
|
||||
mouse = mouse,
|
||||
}
|
||||
|
||||
local icondir = awful.util.getdir("config") .. "src/assets/icons/application_launcher/searchbar/"
|
||||
|
||||
local kgrabber
|
||||
@@ -71,7 +73,7 @@ return function()
|
||||
|
||||
local old_wibox, old_cursor
|
||||
local mouse_enter = function()
|
||||
local w = mouse.current_wibox
|
||||
local w = capi.mouse.current_wibox
|
||||
if w then
|
||||
old_cursor, old_wibox = w.cursor, w
|
||||
w.cursor = "xterm"
|
||||
@@ -135,16 +137,16 @@ return function()
|
||||
local function update()
|
||||
search_text:set_markup(promt_text_with_cursor(text_string, cur_pos))
|
||||
--Send the string over to the application to filter applications
|
||||
awesome.emit_signal("update::application_list", text_string)
|
||||
capi.awesome.emit_signal("update::application_list", text_string)
|
||||
end
|
||||
|
||||
update()
|
||||
|
||||
kgrabber = keygrabber.run(
|
||||
function(modifiers, key, event)
|
||||
awesome.connect_signal("searchbar::stop", function()
|
||||
capi.awesome.connect_signal("searchbar::stop", function()
|
||||
keygrabber.stop(kgrabber)
|
||||
awesome.emit_signal("application_launcher::kgrabber_start")
|
||||
capi.awesome.emit_signal("application_launcher::kgrabber_start")
|
||||
end)
|
||||
|
||||
local mod = {}
|
||||
@@ -162,7 +164,7 @@ return function()
|
||||
keygrabber.stop(kgrabber)
|
||||
search_text:set_markup(promt_text_with_cursor("", 1))
|
||||
text_string = ""
|
||||
awesome.emit_signal("application_launcher::show")
|
||||
capi.awesome.emit_signal("application_launcher::show")
|
||||
elseif (not mod.Control and key == "Return") or
|
||||
(not mod.Control and key == "KP_Enter") then
|
||||
keygrabber.stop(kgrabber)
|
||||
@@ -170,8 +172,8 @@ return function()
|
||||
searchbar.s_background.fg = Theme_config.application_launcher.searchbar.fg_hint
|
||||
search_text:set_markup(promt_text_with_cursor("", 1))
|
||||
text_string = ""
|
||||
awesome.emit_signal("application_launcher::execute")
|
||||
awesome.emit_signal("application_launcher::show")
|
||||
capi.awesome.emit_signal("application_launcher::execute")
|
||||
capi.awesome.emit_signal("application_launcher::show")
|
||||
end
|
||||
|
||||
if mod.Control then
|
||||
@@ -195,15 +197,15 @@ return function()
|
||||
-- Move cursor to the left
|
||||
elseif key == "Left" then
|
||||
--cur_pos = cur_pos - 1
|
||||
awesome.emit_signal("application::left")
|
||||
capi.awesome.emit_signal("application::left")
|
||||
-- Move cursor to the right
|
||||
elseif key == "Right" then
|
||||
--cur_pos = cur_pos + 1
|
||||
awesome.emit_signal("application::right")
|
||||
capi.awesome.emit_signal("application::right")
|
||||
elseif key == "Up" then
|
||||
awesome.emit_signal("application::up")
|
||||
capi.awesome.emit_signal("application::up")
|
||||
elseif key == "Down" then
|
||||
awesome.emit_signal("application::down")
|
||||
capi.awesome.emit_signal("application::down")
|
||||
else
|
||||
--Add key at cursor position
|
||||
if key:wlen() == 1 then
|
||||
@@ -234,7 +236,7 @@ return function()
|
||||
end)
|
||||
))
|
||||
|
||||
awesome.connect_signal(
|
||||
capi.awesome.connect_signal(
|
||||
"searchbar::start",
|
||||
function()
|
||||
if not awful.keygrabber.is_running then
|
||||
|
||||
Reference in New Issue
Block a user