rewrote a lot of stuff especially the bluetooth module. fixed some errors

This commit is contained in:
Rene Kievits
2022-09-21 21:10:17 +02:00
parent 3d8b240ef0
commit b5c6dc31f7
59 changed files with 1138 additions and 334 deletions

View File

@@ -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))

View File

@@ -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
)

View File

@@ -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