moved to personal fennel config for awesome and added qutebrowser
This commit is contained in:
parent
403cb92b7d
commit
688748f8a6
502 changed files with 8576 additions and 9597 deletions
171
awes2/widget/music/music-box.lua
Executable file
171
awes2/widget/music/music-box.lua
Executable file
|
@ -0,0 +1,171 @@
|
|||
-- # # ######
|
||||
-- ## ## # # #### # #### # # #### # #
|
||||
-- # # # # # # # # # # # # # # # #
|
||||
-- # # # # # #### # # ###### # # ##
|
||||
-- # # # # # # # # # # # ##
|
||||
-- # # # # # # # # # # # # # # #
|
||||
-- # # #### #### # #### ###### #### # #
|
||||
|
||||
-- Creates the music box widget here
|
||||
|
||||
local awful = require('awful')
|
||||
local wibox = require('wibox')
|
||||
local gears = require('gears')
|
||||
local beautiful = require('beautiful')
|
||||
|
||||
local dpi = beautiful.xresources.apply_dpi
|
||||
|
||||
local music_func = {}
|
||||
|
||||
screen.connect_signal("request::desktop_decoration", function(s)
|
||||
|
||||
-- Set music box geometry
|
||||
local music_box_margin = dpi(5)
|
||||
local music_box_height = dpi(375)
|
||||
local music_box_width = dpi(260)
|
||||
local music_box_x = nil
|
||||
|
||||
|
||||
s.musicpop = awful.popup {
|
||||
widget = {
|
||||
-- Removing this block will cause an error...
|
||||
},
|
||||
ontop = true,
|
||||
visible = false,
|
||||
type = 'dock',
|
||||
screen = s,
|
||||
width = music_box_width,
|
||||
height = music_box_height,
|
||||
maximum_width = music_box_width,
|
||||
maximum_height = music_box_height,
|
||||
offset = dpi(5),
|
||||
shape = gears.shape.rectangle,
|
||||
bg = beautiful.transparent,
|
||||
preferred_anchors = {'middle', 'back', 'front'},
|
||||
preferred_positions = {'left', 'right', 'top', 'bottom'},
|
||||
|
||||
}
|
||||
|
||||
local ui_content = require('widget.music.content')
|
||||
|
||||
s.album = ui_content.album_cover
|
||||
s.progress_bar = ui_content.progress_bar
|
||||
s.time_track = ui_content.track_time.time_track
|
||||
s.song_info = ui_content.song_info.music_info
|
||||
s.media_buttons = ui_content.media_buttons.navigate_buttons
|
||||
s.volume_slider = ui_content.volume_slider.vol_slider
|
||||
|
||||
s.musicpop : setup {
|
||||
{
|
||||
{
|
||||
layout = wibox.layout.fixed.vertical,
|
||||
expand = 'none',
|
||||
spacing = dpi(8),
|
||||
{
|
||||
s.album,
|
||||
bottom = dpi(5),
|
||||
widget = wibox.container.margin,
|
||||
},
|
||||
{
|
||||
layout = wibox.layout.fixed.vertical,
|
||||
{
|
||||
spacing = dpi(4),
|
||||
layout = wibox.layout.fixed.vertical,
|
||||
s.progress_bar,
|
||||
s.time_track,
|
||||
},
|
||||
s.song_info,
|
||||
s.media_buttons,
|
||||
s.volume_slider,
|
||||
},
|
||||
},
|
||||
top = dpi(15),
|
||||
left = dpi(15),
|
||||
right = dpi(15),
|
||||
widget = wibox.container.margin
|
||||
|
||||
},
|
||||
bg = beautiful.background,
|
||||
shape = function(cr, width, height)
|
||||
gears.shape.partially_rounded_rect(
|
||||
cr, width, height, true, true, true, true, beautiful.groups_radius
|
||||
)
|
||||
end,
|
||||
widget = wibox.container.background()
|
||||
}
|
||||
|
||||
s.backdrop_music = wibox {
|
||||
ontop = true,
|
||||
visible = false,
|
||||
screen = s,
|
||||
type = 'utility',
|
||||
input_passthrough = false,
|
||||
bg = beautiful.transparent,
|
||||
x = s.geometry.x,
|
||||
y = s.geometry.y,
|
||||
width = s.geometry.width,
|
||||
height = s.geometry.height
|
||||
}
|
||||
|
||||
local toggle_music_box = function(type)
|
||||
|
||||
local focused = awful.screen.focused()
|
||||
local music_box = focused.musicpop
|
||||
local music_backdrop = focused.backdrop_music
|
||||
|
||||
if music_box.visible then
|
||||
music_backdrop.visible = not music_backdrop.visible
|
||||
music_box.visible = not music_box.visible
|
||||
|
||||
else
|
||||
|
||||
if type == 'keyboard' then
|
||||
music_backdrop.visible = true
|
||||
music_box.visible = true
|
||||
|
||||
awful.placement.top_right(music_box, { margins = {
|
||||
top = dpi(5),
|
||||
right = dpi(music_box_x or 5)
|
||||
},
|
||||
honor_workarea = true
|
||||
})
|
||||
else
|
||||
local widget_button = mouse.current_widget_geometry
|
||||
|
||||
music_backdrop.visible = true
|
||||
music_box:move_next_to(widget_button)
|
||||
music_box_x = (focused.geometry.width - music_box.x) - music_box_width
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
awesome.connect_signal(
|
||||
'widget::music',
|
||||
function(type)
|
||||
toggle_music_box(type)
|
||||
end
|
||||
)
|
||||
|
||||
|
||||
s.backdrop_music:buttons(
|
||||
awful.util.table.join(
|
||||
awful.button(
|
||||
{},
|
||||
1,
|
||||
nil,
|
||||
function()
|
||||
toggle_music_box()
|
||||
end
|
||||
)
|
||||
)
|
||||
)
|
||||
end)
|
||||
|
||||
|
||||
music_func.toggle_music_box = toggle_music_box
|
||||
|
||||
local mpd_updater = require('widget.music.mpd-music-updater')
|
||||
|
||||
return music_func
|
Loading…
Add table
Add a link
Reference in a new issue