Yessiest
2 years ago
9 changed files with 411 additions and 66 deletions
-
2core/binds/globalbuttons.lua
-
106core/layout.lua
-
2core/widgets/menu.lua
-
136presets/ubuntu-phone/layout.lua
-
155presets/ubuntu-phone/titlebar.lua
-
31presets/ubuntu-phone/vars.lua
-
3widgets/battery.lua
-
14widgets/polymenu.lua
-
28widgets/unitybar.lua
@ -0,0 +1,136 @@ |
|||
local beautiful = require("beautiful") |
|||
local awful = require("awful") |
|||
local gears = require("gears") |
|||
local wibox = require("wibox") |
|||
-- {{{ Wibar |
|||
|
|||
-- Create a wibox for each screen and add it |
|||
|
|||
local function set_wallpaper(s) |
|||
-- Wallpaper |
|||
if beautiful.wallpaper then |
|||
local wallpaper = beautiful.wallpaper |
|||
-- If wallpaper is a function, call it with the screen |
|||
if type(wallpaper) == "function" then |
|||
wallpaper = wallpaper(s) |
|||
end |
|||
gears.wallpaper.maximized(wallpaper, s, true) |
|||
end |
|||
end |
|||
|
|||
-- Re-set wallpaper when a screen's geometry changes (e.g. different resolution) |
|||
screen.connect_signal("property::geometry", set_wallpaper) |
|||
|
|||
-- {{{ Non-widget modules |
|||
-- The following modules are not exactly widgets, however they are part of the ui. |
|||
|
|||
-- Load the keybindings list |
|||
require("core.widgets.hotkeys_popup") |
|||
|
|||
-- Load the menubar |
|||
require("core.widgets.menubar") |
|||
-- }}} |
|||
|
|||
awful.screen.connect_for_each_screen(function(s) |
|||
-- Wallpaper |
|||
set_wallpaper(s) |
|||
|
|||
-- Each screen has its own tag table. |
|||
awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, awful.layout.layouts[1]) |
|||
|
|||
-- Create a promptbox for each screen |
|||
s.mypromptbox = require("core.widgets.prompt")() |
|||
-- Create an imagebox widget which will contain an icon indicating which layout we're using. |
|||
-- Create the taglist |
|||
s.mytaglist = require("core.widgets.taglist")(s) |
|||
-- We need one layoutbox per screen. |
|||
s.mylayoutbox = require("core.widgets.layout_box")(s) |
|||
-- Create a tasklist widget |
|||
s.mytasklist = require("core.widgets.tasklist")(s) |
|||
-- Create the wibox |
|||
s.mywibox = awful.wibar({ |
|||
position = "top", |
|||
screen = s, |
|||
bg = beautiful.topbar_bg, |
|||
}) |
|||
-- Add screen lock |
|||
require("widgets.lock")({screen = s, obscure = true}) |
|||
require("widgets.unitybar")(s,{ |
|||
top_widgets = { |
|||
require("widgets.polytasklist")({ |
|||
vertical = false, |
|||
stretch = false, |
|||
--constraint = 180, |
|||
names = false, |
|||
margins = 5 |
|||
})(s), |
|||
}, |
|||
bottom_widgets = { |
|||
require("widgets.polylauncher")({vertical = false}) |
|||
}, |
|||
position="bottom" |
|||
}) |
|||
-- Menu |
|||
require("core.widgets.menu") |
|||
-- Start button |
|||
local start_button = wibox.widget { |
|||
{ |
|||
{ |
|||
image = beautiful.awesome_icon, |
|||
widget = wibox.widget.imagebox |
|||
}, |
|||
widget = wibox.container.place, |
|||
halign = "center", |
|||
id = "menu" |
|||
}, |
|||
bg = "#26262633", |
|||
widget = wibox.container.background, |
|||
forced_width = require("beautiful.xresources").apply_dpi(61), |
|||
} |
|||
start_button:connect_signal("button::press",function(self,x,y,button) |
|||
if button == 1 then |
|||
menu:show() |
|||
end |
|||
end) |
|||
-- Add widgets to the wibox |
|||
s.mywibox:setup { |
|||
expand = "outside", |
|||
layout = wibox.layout.align.horizontal, |
|||
{ -- Left widgets |
|||
start_button, |
|||
layout = wibox.layout.fixed.horizontal, |
|||
--require("widgets.polylauncher")({vertical = false}), |
|||
--s.mytaglist, |
|||
s.mypromptbox, |
|||
spacing = 3 |
|||
}, |
|||
wibox.widget.textclock(), |
|||
{ -- Right widgets |
|||
{ |
|||
layout = wibox.layout.fixed.horizontal, |
|||
awful.widget.keyboardlayout(), |
|||
require("widgets.wallpapers")({ |
|||
screen = s, |
|||
path = os.getenv("HOME").."/Pictures/Wallpapers/", |
|||
}), |
|||
require("widgets.mailbox")({ |
|||
screen = s, |
|||
style = { |
|||
rounding = 1, |
|||
} |
|||
}), |
|||
--wibox.widget.systray(), |
|||
require("widgets.volume")({}), |
|||
require("widgets.battery")({ |
|||
percentage = true, |
|||
}), |
|||
s.mylayoutbox, |
|||
spacing = 4, |
|||
}, |
|||
widget = wibox.container.place, |
|||
halign = "right", |
|||
fill_horizontal = true |
|||
}, |
|||
} |
|||
end) |
|||
-- }}} |
@ -0,0 +1,155 @@ |
|||
local awful = require("awful") |
|||
local gears = require("gears") |
|||
local wibox = require("wibox") |
|||
local menu = require("widgets.polymenu") |
|||
local move_screentags = {} |
|||
local toggle_screentags = {} |
|||
awful.screen.connect_for_each_screen(function(s) |
|||
local move_tags = {} |
|||
local toggle_tags = {} |
|||
for _,tag in pairs(s.tags) do |
|||
table.insert(move_tags,{ |
|||
tag.name, |
|||
function() |
|||
if client.focus then |
|||
client.focus:tags({tag}) |
|||
end |
|||
end |
|||
}) |
|||
table.insert(toggle_tags,{ |
|||
tag.name, |
|||
function() |
|||
if client.focus then |
|||
local tags = client.focus:tags() |
|||
for k,v in pairs(tags) do |
|||
if v == tag then |
|||
table.remove(tags,k) |
|||
client.focus:tags(tags) |
|||
return |
|||
end |
|||
end |
|||
table.insert(tags,tag) |
|||
client.focus:tags(tags) |
|||
end |
|||
end |
|||
}) |
|||
end |
|||
table.insert(move_screentags,{ |
|||
"Screen "..tostring(s.index), |
|||
move_tags |
|||
}) |
|||
table.insert(toggle_screentags,{ |
|||
"Screen "..tostring(s.index), |
|||
toggle_tags |
|||
}) |
|||
end) |
|||
local controls_widget = wibox.widget { |
|||
forced_width = 72, |
|||
forced_height = 24, |
|||
layout = wibox.layout.fixed.horizontal, |
|||
} |
|||
-- To conserve memory we keep one menu at a time |
|||
local menu_widget = menu({ |
|||
before = { |
|||
controls_widget |
|||
}, |
|||
after = { |
|||
require("widgets.client-volume")({}) |
|||
}, |
|||
items = { |
|||
{ "Move to tag" , |
|||
move_screentags |
|||
}, |
|||
{ "Toggle on tag", |
|||
toggle_screentags |
|||
}, |
|||
{ "Stop task", |
|||
function() |
|||
awful.spawn("kill "..tostring(client.focus.pid)) |
|||
end |
|||
}, |
|||
{ "Kill task", |
|||
function() |
|||
awful.spawn("kill -s KILL "..tostring(client.focus.pid)) |
|||
end |
|||
}, |
|||
{ "Debug info", |
|||
{ |
|||
before = { |
|||
require("widgets.window-debug")() |
|||
} |
|||
} |
|||
} |
|||
}, |
|||
vertical = true |
|||
}) |
|||
|
|||
return function(c) |
|||
local buttons = gears.table.join( |
|||
awful.button({ }, 1, function() |
|||
c:emit_signal("request::activate", "titlebar", {raise = true}) |
|||
awful.mouse.client.move(c) |
|||
end), |
|||
awful.button({ }, 3, function() |
|||
c:emit_signal("request::activate", "titlebar", {raise = true}) |
|||
awful.mouse.client.resize(c) |
|||
end) |
|||
) |
|||
c.menu_button = awful.titlebar.widget.iconwidget(c) |
|||
-- A little trick we do to conserve memory and cpu usage on regenerating |
|||
-- buttons is we pop up a menu in the location of the icon |
|||
-- and insert buttons into the controls widget layout. |
|||
c.hidden_floatingbutton = awful.titlebar.widget.floatingbutton(c) |
|||
c.hidden_stickybutton = awful.titlebar.widget.stickybutton(c) |
|||
c.hidden_ontopbutton = awful.titlebar.widget.ontopbutton(c) |
|||
c.menu_button:connect_signal("button::press", function() |
|||
menu_widget.toggle() |
|||
if controls_widget then |
|||
controls_widget:reset() |
|||
controls_widget:add(c.hidden_floatingbutton) |
|||
controls_widget:add(c.hidden_stickybutton) |
|||
controls_widget:add(c.hidden_ontopbutton) |
|||
end |
|||
c:emit_signal("request::activate", "titlebar", {raise = true}) |
|||
end) |
|||
c:connect_signal("unfocus",function() |
|||
if menu_widget.visible then |
|||
menu_widget.toggle(0,0) |
|||
end |
|||
end) |
|||
return awful.titlebar(c) : setup { |
|||
{ -- Left |
|||
c.menu_button, |
|||
layout = wibox.layout.fixed.horizontal |
|||
}, |
|||
{ -- Middle |
|||
awful.titlebar.widget.titlewidget(c), |
|||
buttons = buttons, |
|||
layout = wibox.layout.flex.horizontal |
|||
}, |
|||
{ -- Right |
|||
{ |
|||
{ |
|||
awful.titlebar.widget.maximizedbutton(c), |
|||
awful.titlebar.widget.minimizebutton (c), |
|||
awful.titlebar.widget.closebutton (c), |
|||
layout = wibox.layout.fixed.horizontal(), |
|||
widget = wibox.container.margin, |
|||
margins = 3 |
|||
}, |
|||
widget = wibox.container.background, |
|||
shape = gears.shape.rounded_bar, |
|||
bg = { |
|||
type = "linear", |
|||
from = { 0, 15 }, |
|||
to = { 0, 0}, |
|||
stops = { { 0, "#5d5d5955"} , {1, "39383555"} } |
|||
}, |
|||
}, |
|||
widget = wibox.container.margin, |
|||
margins = 2 |
|||
}, |
|||
spacing = 10, |
|||
layout = wibox.layout.align.horizontal, |
|||
} |
|||
end |
@ -0,0 +1,31 @@ |
|||
local awful = require("awful") |
|||
local gears = require("gears") |
|||
-- {{{ Variable definitions |
|||
global = {} |
|||
global.awesome_dir = os.getenv("HOME").."/.config/awesome/" |
|||
global.config_dir = os.getenv("HOME").."/.awesome/" |
|||
global.themes_dir = os.getenv("HOME").."/.config/awesome/themes/" |
|||
global.theme = global.awesome_dir .. "themes/unity/theme.lua" |
|||
global.terminal = "xterm" |
|||
global.editor = os.getenv("EDITOR") or "vim" |
|||
global.editor_cmd = global.terminal .. " -e ".. global.editor |
|||
global.modkey = "Mod4" |
|||
awful.layout.layouts = { |
|||
awful.layout.suit.floating, |
|||
awful.layout.suit.tile, |
|||
awful.layout.suit.tile.left, |
|||
awful.layout.suit.tile.bottom, |
|||
awful.layout.suit.tile.top, |
|||
awful.layout.suit.fair, |
|||
awful.layout.suit.fair.horizontal, |
|||
awful.layout.suit.spiral, |
|||
awful.layout.suit.spiral.dwindle, |
|||
awful.layout.suit.max, |
|||
awful.layout.suit.max.fullscreen, |
|||
awful.layout.suit.magnifier, |
|||
awful.layout.suit.corner.nw, |
|||
-- awful.layout.suit.corner.ne, |
|||
-- awful.layout.suit.corner.sw, |
|||
-- awful.layout.suit.corner.se, |
|||
} |
|||
-- }}} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue