diff --git a/.config/awesome/awesome-wm-widgets/demomode-widget/demomode.lua b/.config/awesome/awesome-wm-widgets/demomode-widget/demomode.lua index 3641acc..7f5ff5e 100644 --- a/.config/awesome/awesome-wm-widgets/demomode-widget/demomode.lua +++ b/.config/awesome/awesome-wm-widgets/demomode-widget/demomode.lua @@ -15,7 +15,7 @@ local gears = require("gears") local XSCREENSAVER_DEACTIVATE_COMMAND = "xscreensaver-command -deactivate" local XSCREENSAVER_TIMER = 61 -local iconpath = "/home/josiah/.config/awesome/demomode.png" +local iconpath = "/home/josiah/.config/awesome/themes/jlj/icons/demomode.png" local demoMode_widget = wibox.widget { wibox.widget { diff --git a/.config/awesome/awesome-wm-widgets/gamemode-widget/gamemode.lua b/.config/awesome/awesome-wm-widgets/gamemode-widget/gamemode.lua index 78b48cf..3a9bd88 100644 --- a/.config/awesome/awesome-wm-widgets/gamemode-widget/gamemode.lua +++ b/.config/awesome/awesome-wm-widgets/gamemode-widget/gamemode.lua @@ -18,7 +18,7 @@ local XRANDR_GAME_RESOLUTION_COMMAND = "xrandr --output HDMI-0 --mode 1920x1080 local XRANDR_NORMAL_RESOLUTION_COMMAND = "xrandr --output HDMI-0 --mode 2560x1440 --pos 0x0 --rotate normal --primary --output DP-2 --mode 1920x1080 --right-of HDMI-0 --rotate left --output DP-4 --mode 1920x1080 --left-of HDMI-0 --rotate right --output DP-0 --off" -local iconpath = "/home/josiah/.config/awesome/gamemode.png" +local iconpath = "/home/josiah/.config/awesome/themes/jlj/icons/gamemode.png" local toggle = 0 diff --git a/.config/awesome/rc.lua b/.config/awesome/rc.lua index 735bc04..422e81c 100644 --- a/.config/awesome/rc.lua +++ b/.config/awesome/rc.lua @@ -28,7 +28,6 @@ require("awful.hotkeys_popup.keys") -- Shit to enable the use of lain themes and templates local my_table = awful.util.table or gears.table -- 4.{0,1} compatibility - local theme = {} theme.dir = os.getenv("HOME") .. "/.config/awesome/themes/copland" theme.wallpaper = theme.dir .. "/wall.png" @@ -191,7 +190,7 @@ end -- {{{ Variable definitions -- Themes define colours, icons, font and wallpapers. -- beautiful.init(gears.filesystem.get_themes_dir() .. "default/theme.lua") -- this is the OG theme -beautiful.init(gears.filesystem.get_configuration_dir() .. "jlj-theme.lua") -- this is my shitty test theme +beautiful.init(gears.filesystem.get_configuration_dir() .. "themes/jlj/jlj-theme.lua") -- this is my shitty test theme -- This is used later as the default terminal and editor to run. terminal = "konsole" diff --git a/.config/awesome/themes/blackburn/icons/awesome.png b/.config/awesome/themes/blackburn/icons/awesome.png new file mode 100755 index 0000000..947a06d Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/awesome.png differ diff --git a/.config/awesome/themes/blackburn/icons/dwindle.png b/.config/awesome/themes/blackburn/icons/dwindle.png new file mode 100755 index 0000000..2f4b4ac Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/dwindle.png differ diff --git a/.config/awesome/themes/blackburn/icons/fairh.png b/.config/awesome/themes/blackburn/icons/fairh.png new file mode 100755 index 0000000..b0030e7 Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/fairh.png differ diff --git a/.config/awesome/themes/blackburn/icons/fairv.png b/.config/awesome/themes/blackburn/icons/fairv.png new file mode 100755 index 0000000..2c0e157 Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/fairv.png differ diff --git a/.config/awesome/themes/blackburn/icons/floating.png b/.config/awesome/themes/blackburn/icons/floating.png new file mode 100755 index 0000000..e0bdd4b Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/floating.png differ diff --git a/.config/awesome/themes/blackburn/icons/magnifier.png b/.config/awesome/themes/blackburn/icons/magnifier.png new file mode 100755 index 0000000..3713108 Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/magnifier.png differ diff --git a/.config/awesome/themes/blackburn/icons/max.png b/.config/awesome/themes/blackburn/icons/max.png new file mode 100755 index 0000000..8828d12 Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/max.png differ diff --git a/.config/awesome/themes/blackburn/icons/spiral.png b/.config/awesome/themes/blackburn/icons/spiral.png new file mode 100755 index 0000000..54c2c5e Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/spiral.png differ diff --git a/.config/awesome/themes/blackburn/icons/square_sel.png b/.config/awesome/themes/blackburn/icons/square_sel.png new file mode 100755 index 0000000..6938cca Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/square_sel.png differ diff --git a/.config/awesome/themes/blackburn/icons/square_unsel.png b/.config/awesome/themes/blackburn/icons/square_unsel.png new file mode 100755 index 0000000..dd8064d Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/square_unsel.png differ diff --git a/.config/awesome/themes/blackburn/icons/submenu.png b/.config/awesome/themes/blackburn/icons/submenu.png new file mode 100755 index 0000000..10ca014 Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/submenu.png differ diff --git a/.config/awesome/themes/blackburn/icons/tile.png b/.config/awesome/themes/blackburn/icons/tile.png new file mode 100755 index 0000000..409141f Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/tile.png differ diff --git a/.config/awesome/themes/blackburn/icons/tilebottom.png b/.config/awesome/themes/blackburn/icons/tilebottom.png new file mode 100755 index 0000000..de68e9c Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/tilebottom.png differ diff --git a/.config/awesome/themes/blackburn/icons/tileleft.png b/.config/awesome/themes/blackburn/icons/tileleft.png new file mode 100755 index 0000000..c47e4ee Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/tileleft.png differ diff --git a/.config/awesome/themes/blackburn/icons/tiletop.png b/.config/awesome/themes/blackburn/icons/tiletop.png new file mode 100755 index 0000000..c50abdf Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/tiletop.png differ diff --git a/.config/awesome/themes/blackburn/icons/titlebar/close_focus.png b/.config/awesome/themes/blackburn/icons/titlebar/close_focus.png new file mode 100755 index 0000000..d0bc2e8 Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/titlebar/close_focus.png differ diff --git a/.config/awesome/themes/blackburn/icons/titlebar/close_normal.png b/.config/awesome/themes/blackburn/icons/titlebar/close_normal.png new file mode 100755 index 0000000..f99db1a Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/titlebar/close_normal.png differ diff --git a/.config/awesome/themes/blackburn/icons/titlebar/floating_focus_active.png b/.config/awesome/themes/blackburn/icons/titlebar/floating_focus_active.png new file mode 100755 index 0000000..1a0649f Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/titlebar/floating_focus_active.png differ diff --git a/.config/awesome/themes/blackburn/icons/titlebar/floating_focus_inactive.png b/.config/awesome/themes/blackburn/icons/titlebar/floating_focus_inactive.png new file mode 100755 index 0000000..47f19f6 Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/titlebar/floating_focus_inactive.png differ diff --git a/.config/awesome/themes/blackburn/icons/titlebar/floating_normal_active.png b/.config/awesome/themes/blackburn/icons/titlebar/floating_normal_active.png new file mode 100755 index 0000000..44b8dac Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/titlebar/floating_normal_active.png differ diff --git a/.config/awesome/themes/blackburn/icons/titlebar/floating_normal_inactive.png b/.config/awesome/themes/blackburn/icons/titlebar/floating_normal_inactive.png new file mode 100755 index 0000000..98f7f1d Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/titlebar/floating_normal_inactive.png differ diff --git a/.config/awesome/themes/blackburn/icons/titlebar/maximized_focus_active.png b/.config/awesome/themes/blackburn/icons/titlebar/maximized_focus_active.png new file mode 100755 index 0000000..eab9b37 Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/titlebar/maximized_focus_active.png differ diff --git a/.config/awesome/themes/blackburn/icons/titlebar/maximized_focus_inactive.png b/.config/awesome/themes/blackburn/icons/titlebar/maximized_focus_inactive.png new file mode 100755 index 0000000..bce1d00 Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/titlebar/maximized_focus_inactive.png differ diff --git a/.config/awesome/themes/blackburn/icons/titlebar/maximized_normal_active.png b/.config/awesome/themes/blackburn/icons/titlebar/maximized_normal_active.png new file mode 100755 index 0000000..4f03984 Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/titlebar/maximized_normal_active.png differ diff --git a/.config/awesome/themes/blackburn/icons/titlebar/maximized_normal_inactive.png b/.config/awesome/themes/blackburn/icons/titlebar/maximized_normal_inactive.png new file mode 100755 index 0000000..2e56d32 Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/titlebar/maximized_normal_inactive.png differ diff --git a/.config/awesome/themes/blackburn/icons/titlebar/minimize_focus.png b/.config/awesome/themes/blackburn/icons/titlebar/minimize_focus.png new file mode 100755 index 0000000..5a968c3 Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/titlebar/minimize_focus.png differ diff --git a/.config/awesome/themes/blackburn/icons/titlebar/minimize_normal.png b/.config/awesome/themes/blackburn/icons/titlebar/minimize_normal.png new file mode 100755 index 0000000..0574ae5 Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/titlebar/minimize_normal.png differ diff --git a/.config/awesome/themes/blackburn/icons/titlebar/ontop_focus_active.png b/.config/awesome/themes/blackburn/icons/titlebar/ontop_focus_active.png new file mode 100755 index 0000000..42a9770 Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/titlebar/ontop_focus_active.png differ diff --git a/.config/awesome/themes/blackburn/icons/titlebar/ontop_focus_inactive.png b/.config/awesome/themes/blackburn/icons/titlebar/ontop_focus_inactive.png new file mode 100755 index 0000000..2f3a2be Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/titlebar/ontop_focus_inactive.png differ diff --git a/.config/awesome/themes/blackburn/icons/titlebar/ontop_normal_active.png b/.config/awesome/themes/blackburn/icons/titlebar/ontop_normal_active.png new file mode 100755 index 0000000..499dfbf Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/titlebar/ontop_normal_active.png differ diff --git a/.config/awesome/themes/blackburn/icons/titlebar/ontop_normal_inactive.png b/.config/awesome/themes/blackburn/icons/titlebar/ontop_normal_inactive.png new file mode 100755 index 0000000..a9a3206 Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/titlebar/ontop_normal_inactive.png differ diff --git a/.config/awesome/themes/blackburn/icons/titlebar/sticky_focus_active.png b/.config/awesome/themes/blackburn/icons/titlebar/sticky_focus_active.png new file mode 100755 index 0000000..72864ac Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/titlebar/sticky_focus_active.png differ diff --git a/.config/awesome/themes/blackburn/icons/titlebar/sticky_focus_inactive.png b/.config/awesome/themes/blackburn/icons/titlebar/sticky_focus_inactive.png new file mode 100755 index 0000000..5493d8e Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/titlebar/sticky_focus_inactive.png differ diff --git a/.config/awesome/themes/blackburn/icons/titlebar/sticky_normal_active.png b/.config/awesome/themes/blackburn/icons/titlebar/sticky_normal_active.png new file mode 100755 index 0000000..a150154 Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/titlebar/sticky_normal_active.png differ diff --git a/.config/awesome/themes/blackburn/icons/titlebar/sticky_normal_inactive.png b/.config/awesome/themes/blackburn/icons/titlebar/sticky_normal_inactive.png new file mode 100755 index 0000000..7e6c99b Binary files /dev/null and b/.config/awesome/themes/blackburn/icons/titlebar/sticky_normal_inactive.png differ diff --git a/.config/awesome/themes/blackburn/theme.lua b/.config/awesome/themes/blackburn/theme.lua new file mode 100644 index 0000000..d777d9b --- /dev/null +++ b/.config/awesome/themes/blackburn/theme.lua @@ -0,0 +1,280 @@ +--[[ + + Blackburn Awesome WM theme 3.0 + github.com/lcpz + +--]] + +local gears = require("gears") +local lain = require("lain") +local awful = require("awful") +local wibox = require("wibox") +local dpi = require("beautiful.xresources").apply_dpi + +local os = os +local my_table = awful.util.table or gears.table -- 4.{0,1} compatibility + +local theme = {} +theme.dir = os.getenv("HOME") .. "/.config/awesome/themes/blackburn" +theme.wallpaper = theme.dir .. "/wall.png" +theme.font = "Terminus 10.5" +theme.taglist_font = "Icons 10" +theme.fg_normal = "#D7D7D7" +theme.fg_focus = "#F6784F" +theme.bg_normal = "#060606" +theme.bg_focus = "#060606" +theme.fg_urgent = "#CC9393" +theme.bg_urgent = "#2A1F1E" +theme.border_width = dpi(1) +theme.border_normal = "#0E0E0E" +theme.border_focus = "#F79372" +theme.taglist_fg_focus = "#F6784F" +theme.taglist_bg_focus = "#060606" +theme.tasklist_fg_focus = "#F6784F" +theme.tasklist_bg_focus = "#060606" +theme.menu_height = dpi(16) +theme.menu_width = dpi(130) +theme.menu_submenu_icon = theme.dir .. "/icons/submenu.png" +theme.awesome_icon = theme.dir .."/icons/awesome.png" +theme.taglist_squares_sel = theme.dir .. "/icons/square_sel.png" +theme.taglist_squares_unsel = theme.dir .. "/icons/square_unsel.png" +theme.layout_tile = theme.dir .. "/icons/tile.png" +theme.layout_tileleft = theme.dir .. "/icons/tileleft.png" +theme.layout_tilebottom = theme.dir .. "/icons/tilebottom.png" +theme.layout_tiletop = theme.dir .. "/icons/tiletop.png" +theme.layout_fairv = theme.dir .. "/icons/fairv.png" +theme.layout_fairh = theme.dir .. "/icons/fairh.png" +theme.layout_spiral = theme.dir .. "/icons/spiral.png" +theme.layout_dwindle = theme.dir .. "/icons/dwindle.png" +theme.layout_max = theme.dir .. "/icons/max.png" +theme.layout_fullscreen = theme.dir .. "/icons/fullscreen.png" +theme.layout_magnifier = theme.dir .. "/icons/magnifier.png" +theme.layout_floating = theme.dir .. "/icons/floating.png" +theme.tasklist_plain_task_name = true +theme.tasklist_disable_icon = true +theme.useless_gap = 0 +theme.titlebar_close_button_focus = theme.dir .. "/icons/titlebar/close_focus.png" +theme.titlebar_close_button_normal = theme.dir .. "/icons/titlebar/close_normal.png" +theme.titlebar_ontop_button_focus_active = theme.dir .. "/icons/titlebar/ontop_focus_active.png" +theme.titlebar_ontop_button_normal_active = theme.dir .. "/icons/titlebar/ontop_normal_active.png" +theme.titlebar_ontop_button_focus_inactive = theme.dir .. "/icons/titlebar/ontop_focus_inactive.png" +theme.titlebar_ontop_button_normal_inactive = theme.dir .. "/icons/titlebar/ontop_normal_inactive.png" +theme.titlebar_sticky_button_focus_active = theme.dir .. "/icons/titlebar/sticky_focus_active.png" +theme.titlebar_sticky_button_normal_active = theme.dir .. "/icons/titlebar/sticky_normal_active.png" +theme.titlebar_sticky_button_focus_inactive = theme.dir .. "/icons/titlebar/sticky_focus_inactive.png" +theme.titlebar_sticky_button_normal_inactive = theme.dir .. "/icons/titlebar/sticky_normal_inactive.png" +theme.titlebar_floating_button_focus_active = theme.dir .. "/icons/titlebar/floating_focus_active.png" +theme.titlebar_floating_button_normal_active = theme.dir .. "/icons/titlebar/floating_normal_active.png" +theme.titlebar_floating_button_focus_inactive = theme.dir .. "/icons/titlebar/floating_focus_inactive.png" +theme.titlebar_floating_button_normal_inactive = theme.dir .. "/icons/titlebar/floating_normal_inactive.png" +theme.titlebar_maximized_button_focus_active = theme.dir .. "/icons/titlebar/maximized_focus_active.png" +theme.titlebar_maximized_button_normal_active = theme.dir .. "/icons/titlebar/maximized_normal_active.png" +theme.titlebar_maximized_button_focus_inactive = theme.dir .. "/icons/titlebar/maximized_focus_inactive.png" +theme.titlebar_maximized_button_normal_inactive = theme.dir .. "/icons/titlebar/maximized_normal_inactive.png" +theme.titlebar_minimize_button_focus = theme.dir .. "/icons/titlebar/minimize_focus.png" +theme.titlebar_minimize_button_normal = theme.dir .. "/icons/titlebar/minimize_normal.png" + +awful.util.tagnames = { "ƀ", "Ƅ", "Ɗ", "ƈ", "ƙ" } + +local markup = lain.util.markup +local separators = lain.util.separators +local gray = "#9E9C9A" + +-- Textclock +local mytextclock = wibox.widget.textclock(" %H:%M ") +mytextclock.font = theme.font + +-- Calendar +theme.cal = lain.widget.cal({ + attach_to = { mytextclock }, + notification_preset = { + font = "Terminus 11", + fg = theme.fg_normal, + bg = theme.bg_normal + } +}) + +-- Mail IMAP check +--[[ to be set before use +theme.mail = lain.widget.imap({ + timeout = 180, + server = "server", + mail = "mail", + password = "keyring get mail", + notification_preset = { fg = white } + settings = function() + mail = "" + count = "" + + if mailcount > 0 then + mail = "Mail " + count = mailcount .. " " + end + + widget:set_markup(markup.font(theme.font, markup(gray, mail) .. count)) + end +}) +--]] + +-- MPD +theme.mpd = lain.widget.mpd({ + settings = function() + mpd_notification_preset.fg = white + artist = mpd_now.artist .. " " + title = mpd_now.title .. " " + + if mpd_now.state == "pause" then + artist = "mpd " + title = "paused " + elseif mpd_now.state == "stop" then + artist = "" + title = "" + end + + widget:set_markup(markup.font(theme.font, markup(gray, artist) .. title .. " ")) + end +}) + +-- /home fs +--[[ commented because it needs Gio/Glib >= 2.54 +theme.fs = lain.widget.fs({ + notification_preset = { fg = white, bg = theme.bg_normal, font = "Terminus 10.5" }, + settings = function() + fs_header = "" + fs_p = "" + + if fs_now["/home"].percentage >= 90 then + fs_header = " Hdd " + fs_p = fs_now["/home"].percentage + end + + widget:set_markup(markup.font(theme.font, markup(gray, fs_header) .. fs_p)) + end +}) +--]] + +-- Battery +local bat = lain.widget.bat({ + settings = function() + bat_header = " Bat " + bat_p = bat_now.perc .. " " + widget:set_markup(markup.font(theme.font, markup(gray, bat_header) .. bat_p)) + end +}) + +-- ALSA volume +theme.volume = lain.widget.alsa({ + --togglechannel = "IEC958,3", + settings = function() + header = " Vol " + vlevel = volume_now.level + + if volume_now.status == "off" then + vlevel = vlevel .. "M " + else + vlevel = vlevel .. " " + end + + widget:set_markup(markup.font(theme.font, markup(gray, header) .. vlevel)) + end +}) + +-- Weather +--[[ to be set before use +theme.weather = lain.widget.weather({ + --APPID = + city_id = 2643743, -- placeholder (London) + settings = function() + units = math.floor(weather_now["main"]["temp"]) + widget:set_markup(" " .. units .. " ") + end +}) +--]] + +-- Separators +local first = wibox.widget.textbox(' ') +local arrl_pre = separators.arrow_right("alpha", "#1A1A1A") +local arrl_post = separators.arrow_right("#1A1A1A", "alpha") + +local barheight = dpi(18) +local barcolor = gears.color({ + type = "linear", + from = { barheight, 0 }, + to = { barheight, barheight }, + stops = { {0, theme.bg_focus }, {0.8, theme.border_normal}, {1, "#1A1A1A"} } +}) +theme.titlebar_bg = barcolor + +theme.titlebar_bg_focus = gears.color({ + type = "linear", + from = { barheight, 0 }, + to = { barheight, barheight }, + stops = { {0, theme.bg_normal}, {0.5, theme.border_normal}, {1, "#492417"} } +}) + +function theme.at_screen_connect(s) + -- Quake application + s.quake = lain.util.quake({ app = awful.util.terminal }) + + -- If wallpaper is a function, call it with the screen + local wallpaper = theme.wallpaper + if type(wallpaper) == "function" then + wallpaper = wallpaper(s) + end + gears.wallpaper.maximized(wallpaper, s, true) + + -- Tags + awful.tag(awful.util.tagnames, s, awful.layout.layouts[1]) + + -- Create a promptbox for each screen + s.mypromptbox = awful.widget.prompt() + -- Create an imagebox widget which will contains an icon indicating which layout we're using. + -- We need one layoutbox per screen. + s.mylayoutbox = awful.widget.layoutbox(s) + s.mylayoutbox:buttons(my_table.join( + awful.button({}, 1, function () awful.layout.inc( 1) end), + awful.button({}, 2, function () awful.layout.set( awful.layout.layouts[1] ) end), + awful.button({}, 3, function () awful.layout.inc(-1) end), + awful.button({}, 4, function () awful.layout.inc( 1) end), + awful.button({}, 5, function () awful.layout.inc(-1) end))) + + -- Create a taglist widget + s.mytaglist = awful.widget.taglist(s, awful.widget.taglist.filter.all, awful.util.taglist_buttons) + + -- Create a tasklist widget + s.mytasklist = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, awful.util.tasklist_buttons, { bg_normal = barcolor, bg_focus = barcolor }) + + -- Create the wibox + s.mywibox = awful.wibar({ position = "top", screen = s, height = dpi(18), bg = barcolor }) + + -- Add widgets to the wibox + s.mywibox:setup { + layout = wibox.layout.align.horizontal, + { -- Left widgets + layout = wibox.layout.fixed.horizontal, + first, + s.mytaglist, + arrl_pre, + s.mylayoutbox, + arrl_post, + s.mypromptbox, + first, + }, + s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + wibox.widget.systray(), + first, + theme.mpd.widget, + --theme.mail.widget, + --theme.weather.icon, + --theme.weather.widget, + --theme.fs.widget, + bat, + theme.volume.widget, + mytextclock, + }, + } +end + +return theme diff --git a/.config/awesome/themes/blackburn/wall.png b/.config/awesome/themes/blackburn/wall.png new file mode 100755 index 0000000..6774d91 Binary files /dev/null and b/.config/awesome/themes/blackburn/wall.png differ diff --git a/.config/awesome/themes/copland/icons/ac.png b/.config/awesome/themes/copland/icons/ac.png new file mode 100755 index 0000000..4b00cd1 Binary files /dev/null and b/.config/awesome/themes/copland/icons/ac.png differ diff --git a/.config/awesome/themes/copland/icons/awesome.png b/.config/awesome/themes/copland/icons/awesome.png new file mode 100755 index 0000000..b24e00d Binary files /dev/null and b/.config/awesome/themes/copland/icons/awesome.png differ diff --git a/.config/awesome/themes/copland/icons/bat.png b/.config/awesome/themes/copland/icons/bat.png new file mode 100755 index 0000000..4ea9b2b Binary files /dev/null and b/.config/awesome/themes/copland/icons/bat.png differ diff --git a/.config/awesome/themes/copland/icons/bat_low.png b/.config/awesome/themes/copland/icons/bat_low.png new file mode 100755 index 0000000..c198675 Binary files /dev/null and b/.config/awesome/themes/copland/icons/bat_low.png differ diff --git a/.config/awesome/themes/copland/icons/bat_no.png b/.config/awesome/themes/copland/icons/bat_no.png new file mode 100755 index 0000000..5cf536f Binary files /dev/null and b/.config/awesome/themes/copland/icons/bat_no.png differ diff --git a/.config/awesome/themes/copland/icons/centerfair.png b/.config/awesome/themes/copland/icons/centerfair.png new file mode 100755 index 0000000..185d5e1 Binary files /dev/null and b/.config/awesome/themes/copland/icons/centerfair.png differ diff --git a/.config/awesome/themes/copland/icons/centerwork.png b/.config/awesome/themes/copland/icons/centerwork.png new file mode 100755 index 0000000..49d5a11 Binary files /dev/null and b/.config/awesome/themes/copland/icons/centerwork.png differ diff --git a/.config/awesome/themes/copland/icons/disk.png b/.config/awesome/themes/copland/icons/disk.png new file mode 100755 index 0000000..3ccd728 Binary files /dev/null and b/.config/awesome/themes/copland/icons/disk.png differ diff --git a/.config/awesome/themes/copland/icons/dwindle.png b/.config/awesome/themes/copland/icons/dwindle.png new file mode 100755 index 0000000..55b61b0 Binary files /dev/null and b/.config/awesome/themes/copland/icons/dwindle.png differ diff --git a/.config/awesome/themes/copland/icons/fairh.png b/.config/awesome/themes/copland/icons/fairh.png new file mode 100755 index 0000000..848f5a8 Binary files /dev/null and b/.config/awesome/themes/copland/icons/fairh.png differ diff --git a/.config/awesome/themes/copland/icons/fairv.png b/.config/awesome/themes/copland/icons/fairv.png new file mode 100755 index 0000000..610eb7b Binary files /dev/null and b/.config/awesome/themes/copland/icons/fairv.png differ diff --git a/.config/awesome/themes/copland/icons/floating.png b/.config/awesome/themes/copland/icons/floating.png new file mode 100755 index 0000000..d8ce00a Binary files /dev/null and b/.config/awesome/themes/copland/icons/floating.png differ diff --git a/.config/awesome/themes/copland/icons/fullscreen.png b/.config/awesome/themes/copland/icons/fullscreen.png new file mode 100755 index 0000000..feb44d1 Binary files /dev/null and b/.config/awesome/themes/copland/icons/fullscreen.png differ diff --git a/.config/awesome/themes/copland/icons/magnifier.png b/.config/awesome/themes/copland/icons/magnifier.png new file mode 100755 index 0000000..49616bc Binary files /dev/null and b/.config/awesome/themes/copland/icons/magnifier.png differ diff --git a/.config/awesome/themes/copland/icons/max.png b/.config/awesome/themes/copland/icons/max.png new file mode 100755 index 0000000..3f4bdec Binary files /dev/null and b/.config/awesome/themes/copland/icons/max.png differ diff --git a/.config/awesome/themes/copland/icons/pause.png b/.config/awesome/themes/copland/icons/pause.png new file mode 100755 index 0000000..381e532 Binary files /dev/null and b/.config/awesome/themes/copland/icons/pause.png differ diff --git a/.config/awesome/themes/copland/icons/play.png b/.config/awesome/themes/copland/icons/play.png new file mode 100755 index 0000000..05ad253 Binary files /dev/null and b/.config/awesome/themes/copland/icons/play.png differ diff --git a/.config/awesome/themes/copland/icons/spiral.png b/.config/awesome/themes/copland/icons/spiral.png new file mode 100755 index 0000000..664afb4 Binary files /dev/null and b/.config/awesome/themes/copland/icons/spiral.png differ diff --git a/.config/awesome/themes/copland/icons/square_sel.png b/.config/awesome/themes/copland/icons/square_sel.png new file mode 100755 index 0000000..58b58f2 Binary files /dev/null and b/.config/awesome/themes/copland/icons/square_sel.png differ diff --git a/.config/awesome/themes/copland/icons/square_unsel.png b/.config/awesome/themes/copland/icons/square_unsel.png new file mode 100755 index 0000000..40411f4 Binary files /dev/null and b/.config/awesome/themes/copland/icons/square_unsel.png differ diff --git a/.config/awesome/themes/copland/icons/stop.png b/.config/awesome/themes/copland/icons/stop.png new file mode 100755 index 0000000..b01b75e Binary files /dev/null and b/.config/awesome/themes/copland/icons/stop.png differ diff --git a/.config/awesome/themes/copland/icons/submenu.png b/.config/awesome/themes/copland/icons/submenu.png new file mode 100755 index 0000000..10ed739 Binary files /dev/null and b/.config/awesome/themes/copland/icons/submenu.png differ diff --git a/.config/awesome/themes/copland/icons/termfair.png b/.config/awesome/themes/copland/icons/termfair.png new file mode 100755 index 0000000..9cfb636 Binary files /dev/null and b/.config/awesome/themes/copland/icons/termfair.png differ diff --git a/.config/awesome/themes/copland/icons/tile.png b/.config/awesome/themes/copland/icons/tile.png new file mode 100755 index 0000000..890e354 Binary files /dev/null and b/.config/awesome/themes/copland/icons/tile.png differ diff --git a/.config/awesome/themes/copland/icons/tilebottom.png b/.config/awesome/themes/copland/icons/tilebottom.png new file mode 100755 index 0000000..aac4302 Binary files /dev/null and b/.config/awesome/themes/copland/icons/tilebottom.png differ diff --git a/.config/awesome/themes/copland/icons/tileleft.png b/.config/awesome/themes/copland/icons/tileleft.png new file mode 100755 index 0000000..c87a32f Binary files /dev/null and b/.config/awesome/themes/copland/icons/tileleft.png differ diff --git a/.config/awesome/themes/copland/icons/tiletop.png b/.config/awesome/themes/copland/icons/tiletop.png new file mode 100755 index 0000000..89f7f8d Binary files /dev/null and b/.config/awesome/themes/copland/icons/tiletop.png differ diff --git a/.config/awesome/themes/copland/icons/titlebar/close_focus.png b/.config/awesome/themes/copland/icons/titlebar/close_focus.png new file mode 100755 index 0000000..c1fa3ad Binary files /dev/null and b/.config/awesome/themes/copland/icons/titlebar/close_focus.png differ diff --git a/.config/awesome/themes/copland/icons/titlebar/close_normal.png b/.config/awesome/themes/copland/icons/titlebar/close_normal.png new file mode 100755 index 0000000..77cd8eb Binary files /dev/null and b/.config/awesome/themes/copland/icons/titlebar/close_normal.png differ diff --git a/.config/awesome/themes/copland/icons/titlebar/floating_focus_active.png b/.config/awesome/themes/copland/icons/titlebar/floating_focus_active.png new file mode 100755 index 0000000..8fcf336 Binary files /dev/null and b/.config/awesome/themes/copland/icons/titlebar/floating_focus_active.png differ diff --git a/.config/awesome/themes/copland/icons/titlebar/floating_focus_inactive.png b/.config/awesome/themes/copland/icons/titlebar/floating_focus_inactive.png new file mode 100755 index 0000000..47f19f6 Binary files /dev/null and b/.config/awesome/themes/copland/icons/titlebar/floating_focus_inactive.png differ diff --git a/.config/awesome/themes/copland/icons/titlebar/floating_normal_active.png b/.config/awesome/themes/copland/icons/titlebar/floating_normal_active.png new file mode 100755 index 0000000..df17970 Binary files /dev/null and b/.config/awesome/themes/copland/icons/titlebar/floating_normal_active.png differ diff --git a/.config/awesome/themes/copland/icons/titlebar/floating_normal_inactive.png b/.config/awesome/themes/copland/icons/titlebar/floating_normal_inactive.png new file mode 100755 index 0000000..98f7f1d Binary files /dev/null and b/.config/awesome/themes/copland/icons/titlebar/floating_normal_inactive.png differ diff --git a/.config/awesome/themes/copland/icons/titlebar/maximized_focus_active.png b/.config/awesome/themes/copland/icons/titlebar/maximized_focus_active.png new file mode 100755 index 0000000..96e8937 Binary files /dev/null and b/.config/awesome/themes/copland/icons/titlebar/maximized_focus_active.png differ diff --git a/.config/awesome/themes/copland/icons/titlebar/maximized_focus_inactive.png b/.config/awesome/themes/copland/icons/titlebar/maximized_focus_inactive.png new file mode 100755 index 0000000..bce1d00 Binary files /dev/null and b/.config/awesome/themes/copland/icons/titlebar/maximized_focus_inactive.png differ diff --git a/.config/awesome/themes/copland/icons/titlebar/maximized_normal_active.png b/.config/awesome/themes/copland/icons/titlebar/maximized_normal_active.png new file mode 100755 index 0000000..6ce0b10 Binary files /dev/null and b/.config/awesome/themes/copland/icons/titlebar/maximized_normal_active.png differ diff --git a/.config/awesome/themes/copland/icons/titlebar/maximized_normal_inactive.png b/.config/awesome/themes/copland/icons/titlebar/maximized_normal_inactive.png new file mode 100755 index 0000000..2e56d32 Binary files /dev/null and b/.config/awesome/themes/copland/icons/titlebar/maximized_normal_inactive.png differ diff --git a/.config/awesome/themes/copland/icons/titlebar/ontop_focus_active.png b/.config/awesome/themes/copland/icons/titlebar/ontop_focus_active.png new file mode 100755 index 0000000..d206ea4 Binary files /dev/null and b/.config/awesome/themes/copland/icons/titlebar/ontop_focus_active.png differ diff --git a/.config/awesome/themes/copland/icons/titlebar/ontop_focus_inactive.png b/.config/awesome/themes/copland/icons/titlebar/ontop_focus_inactive.png new file mode 100755 index 0000000..2f3a2be Binary files /dev/null and b/.config/awesome/themes/copland/icons/titlebar/ontop_focus_inactive.png differ diff --git a/.config/awesome/themes/copland/icons/titlebar/ontop_normal_active.png b/.config/awesome/themes/copland/icons/titlebar/ontop_normal_active.png new file mode 100755 index 0000000..9a26d34 Binary files /dev/null and b/.config/awesome/themes/copland/icons/titlebar/ontop_normal_active.png differ diff --git a/.config/awesome/themes/copland/icons/titlebar/ontop_normal_inactive.png b/.config/awesome/themes/copland/icons/titlebar/ontop_normal_inactive.png new file mode 100755 index 0000000..a9a3206 Binary files /dev/null and b/.config/awesome/themes/copland/icons/titlebar/ontop_normal_inactive.png differ diff --git a/.config/awesome/themes/copland/icons/titlebar/sticky_focus_active.png b/.config/awesome/themes/copland/icons/titlebar/sticky_focus_active.png new file mode 100755 index 0000000..7e360db Binary files /dev/null and b/.config/awesome/themes/copland/icons/titlebar/sticky_focus_active.png differ diff --git a/.config/awesome/themes/copland/icons/titlebar/sticky_focus_inactive.png b/.config/awesome/themes/copland/icons/titlebar/sticky_focus_inactive.png new file mode 100755 index 0000000..5493d8e Binary files /dev/null and b/.config/awesome/themes/copland/icons/titlebar/sticky_focus_inactive.png differ diff --git a/.config/awesome/themes/copland/icons/titlebar/sticky_normal_active.png b/.config/awesome/themes/copland/icons/titlebar/sticky_normal_active.png new file mode 100755 index 0000000..a06138d Binary files /dev/null and b/.config/awesome/themes/copland/icons/titlebar/sticky_normal_active.png differ diff --git a/.config/awesome/themes/copland/icons/titlebar/sticky_normal_inactive.png b/.config/awesome/themes/copland/icons/titlebar/sticky_normal_inactive.png new file mode 100755 index 0000000..7e6c99b Binary files /dev/null and b/.config/awesome/themes/copland/icons/titlebar/sticky_normal_inactive.png differ diff --git a/.config/awesome/themes/copland/icons/vol.png b/.config/awesome/themes/copland/icons/vol.png new file mode 100755 index 0000000..847d575 Binary files /dev/null and b/.config/awesome/themes/copland/icons/vol.png differ diff --git a/.config/awesome/themes/copland/icons/vol_low.png b/.config/awesome/themes/copland/icons/vol_low.png new file mode 100755 index 0000000..54d653e Binary files /dev/null and b/.config/awesome/themes/copland/icons/vol_low.png differ diff --git a/.config/awesome/themes/copland/icons/vol_mute.png b/.config/awesome/themes/copland/icons/vol_mute.png new file mode 100755 index 0000000..361412d Binary files /dev/null and b/.config/awesome/themes/copland/icons/vol_mute.png differ diff --git a/.config/awesome/themes/copland/icons/vol_no.png b/.config/awesome/themes/copland/icons/vol_no.png new file mode 100755 index 0000000..06d1a97 Binary files /dev/null and b/.config/awesome/themes/copland/icons/vol_no.png differ diff --git a/.config/awesome/themes/copland/theme.lua b/.config/awesome/themes/copland/theme.lua new file mode 100644 index 0000000..56a25d6 --- /dev/null +++ b/.config/awesome/themes/copland/theme.lua @@ -0,0 +1,375 @@ +--[[ + + Copland Awesome WM theme 2.0 + github.com/lcpz + +--]] + +local gears = require("gears") +local lain = require("lain") +local awful = require("awful") +local wibox = require("wibox") +local dpi = require("beautiful.xresources").apply_dpi + +local awesome, client, os = awesome, client, os +local my_table = awful.util.table or gears.table -- 4.{0,1} compatibility + +local theme = {} +theme.dir = os.getenv("HOME") .. "/.config/awesome/themes/copland" +theme.wallpaper = theme.dir .. "/wall.png" +theme.font = "Terminus 10.5" +theme.fg_normal = "#BBBBBB" +theme.fg_focus = "#78A4FF" +theme.bg_normal = "#111111" +theme.bg_focus = "#111111" +theme.fg_urgent = "#000000" +theme.bg_urgent = "#FFFFFF" +theme.border_width = dpi(1) +theme.border_normal = "#141414" +theme.border_focus = "#93B6FF" +theme.taglist_fg_focus = "#FFFFFF" +theme.taglist_bg_focus = "#111111" +theme.taglist_bg_normal = "#111111" +theme.titlebar_bg_normal = "#191919" +theme.titlebar_bg_focus = "#262626" +theme.menu_height = dpi(16) +theme.menu_width = dpi(130) +theme.tasklist_disable_icon = true +theme.awesome_icon = theme.dir .."/icons/awesome.png" +theme.menu_submenu_icon = theme.dir .. "/icons/submenu.png" +theme.taglist_squares_sel = theme.dir .. "/icons/square_unsel.png" +theme.taglist_squares_unsel = theme.dir .. "/icons/square_unsel.png" +theme.vol = theme.dir .. "/icons/vol.png" +theme.vol_low = theme.dir .. "/icons/vol_low.png" +theme.vol_no = theme.dir .. "/icons/vol_no.png" +theme.vol_mute = theme.dir .. "/icons/vol_mute.png" +theme.disk = theme.dir .. "/icons/disk.png" +theme.ac = theme.dir .. "/icons/ac.png" +theme.bat = theme.dir .. "/icons/bat.png" +theme.bat_low = theme.dir .. "/icons/bat_low.png" +theme.bat_no = theme.dir .. "/icons/bat_no.png" +theme.play = theme.dir .. "/icons/play.png" +theme.pause = theme.dir .. "/icons/pause.png" +theme.stop = theme.dir .. "/icons/stop.png" +theme.layout_tile = theme.dir .. "/icons/tile.png" +theme.layout_tileleft = theme.dir .. "/icons/tileleft.png" +theme.layout_tilebottom = theme.dir .. "/icons/tilebottom.png" +theme.layout_tiletop = theme.dir .. "/icons/tiletop.png" +theme.layout_fairv = theme.dir .. "/icons/fairv.png" +theme.layout_fairh = theme.dir .. "/icons/fairh.png" +theme.layout_spiral = theme.dir .. "/icons/spiral.png" +theme.layout_dwindle = theme.dir .. "/icons/dwindle.png" +theme.layout_max = theme.dir .. "/icons/max.png" +theme.layout_fullscreen = theme.dir .. "/icons/fullscreen.png" +theme.layout_magnifier = theme.dir .. "/icons/magnifier.png" +theme.layout_floating = theme.dir .. "/icons/floating.png" +theme.useless_gap = 0 +theme.titlebar_close_button_focus = theme.dir .. "/icons/titlebar/close_focus.png" +theme.titlebar_close_button_normal = theme.dir .. "/icons/titlebar/close_normal.png" +theme.titlebar_ontop_button_focus_active = theme.dir .. "/icons/titlebar/ontop_focus_active.png" +theme.titlebar_ontop_button_normal_active = theme.dir .. "/icons/titlebar/ontop_normal_active.png" +theme.titlebar_ontop_button_focus_inactive = theme.dir .. "/icons/titlebar/ontop_focus_inactive.png" +theme.titlebar_ontop_button_normal_inactive = theme.dir .. "/icons/titlebar/ontop_normal_inactive.png" +theme.titlebar_sticky_button_focus_active = theme.dir .. "/icons/titlebar/sticky_focus_active.png" +theme.titlebar_sticky_button_normal_active = theme.dir .. "/icons/titlebar/sticky_normal_active.png" +theme.titlebar_sticky_button_focus_inactive = theme.dir .. "/icons/titlebar/sticky_focus_inactive.png" +theme.titlebar_sticky_button_normal_inactive = theme.dir .. "/icons/titlebar/sticky_normal_inactive.png" +theme.titlebar_floating_button_focus_active = theme.dir .. "/icons/titlebar/floating_focus_active.png" +theme.titlebar_floating_button_normal_active = theme.dir .. "/icons/titlebar/floating_normal_active.png" +theme.titlebar_floating_button_focus_inactive = theme.dir .. "/icons/titlebar/floating_focus_inactive.png" +theme.titlebar_floating_button_normal_inactive = theme.dir .. "/icons/titlebar/floating_normal_inactive.png" +theme.titlebar_maximized_button_focus_active = theme.dir .. "/icons/titlebar/maximized_focus_active.png" +theme.titlebar_maximized_button_normal_active = theme.dir .. "/icons/titlebar/maximized_normal_active.png" +theme.titlebar_maximized_button_focus_inactive = theme.dir .. "/icons/titlebar/maximized_focus_inactive.png" +theme.titlebar_maximized_button_normal_inactive = theme.dir .. "/icons/titlebar/maximized_normal_inactive.png" + +-- lain related +theme.layout_centerfair = theme.dir .. "/icons/centerfair.png" +theme.layout_termfair = theme.dir .. "/icons/termfair.png" +theme.layout_centerwork = theme.dir .. "/icons/centerwork.png" + +local markup = lain.util.markup +local blue = theme.fg_focus +local red = "#EB8F8F" +local green = "#8FEB8F" + +-- Textclock +--os.setlocale(os.getenv("LANG")) -- to localize the clock +local mytextclock = wibox.widget.textclock(" %H:%M ") +mytextclock.font = theme.font + +-- Calendar +theme.cal = lain.widget.cal({ + attach_to = { mytextclock }, + notification_preset = { + font = "Terminus 11", + fg = theme.fg_normal, + bg = theme.bg_normal + } +}) + +-- Mail IMAP check +--[[ to be set before use +theme.mail = lain.widget.imap({ + timeout = 180, + server = "server", + mail = "mail", + password = "keyring get mail", + settings = function() + mail = "" + count = "" + + if mailcount > 0 then + mail = " Mail " + count = mailcount .. " " + end + + widget:set_markup(markup(blue, mail) .. count) + end +}) +--]] + +-- MPD +local mpdicon = wibox.widget.imagebox() +theme.mpd = lain.widget.mpd({ + settings = function() + if mpd_now.state == "play" then + title = mpd_now.title + artist = " " .. mpd_now.artist .. markup("#777777", " | ") + mpdicon:set_image(theme.play) + elseif mpd_now.state == "pause" then + title = "mpd " + artist = "paused" .. markup("#777777", " | ") + mpdicon:set_image(theme.pause) + else + title = "" + artist = "" + mpdicon._private.image = nil + mpdicon:emit_signal("widget::redraw_needed") + mpdicon:emit_signal("widget::layout_changed") + end + + widget:set_markup(markup.font(theme.font, markup(blue, title) .. artist)) + end +}) + +-- Battery +local baticon = wibox.widget.imagebox(theme.bat) +local batbar = wibox.widget { + forced_height = dpi(1), + forced_width = dpi(59), + color = theme.fg_normal, + background_color = theme.bg_normal, + margins = 1, + paddings = 1, + ticks = true, + ticks_size = dpi(6), + widget = wibox.widget.progressbar, +} +local batupd = lain.widget.bat({ + settings = function() + if (not bat_now.status) or bat_now.status == "N/A" or type(bat_now.perc) ~= "number" then return end + + if bat_now.status == "Charging" then + baticon:set_image(theme.ac) + if bat_now.perc >= 98 then + batbar:set_color(green) + elseif bat_now.perc > 50 then + batbar:set_color(theme.fg_normal) + elseif bat_now.perc > 15 then + batbar:set_color(theme.fg_normal) + else + batbar:set_color(red) + end + else + if bat_now.perc >= 98 then + batbar:set_color(green) + elseif bat_now.perc > 50 then + batbar:set_color(theme.fg_normal) + baticon:set_image(theme.bat) + elseif bat_now.perc > 15 then + batbar:set_color(theme.fg_normal) + baticon:set_image(theme.bat_low) + else + batbar:set_color(red) + baticon:set_image(theme.bat_no) + end + end + batbar:set_value(bat_now.perc / 100) + end +}) +local batbg = wibox.container.background(batbar, "#474747", gears.shape.rectangle) +local batwidget = wibox.container.margin(batbg, dpi(2), dpi(7), dpi(4), dpi(4)) + +-- /home fs +--[[ commented because it needs Gio/Glib >= 2.54 +local fsicon = wibox.widget.imagebox(theme.disk) +local fsbar = wibox.widget { + forced_height = dpi(1), + forced_width = dpi(59), + color = theme.fg_normal, + background_color = theme.bg_normal, + margins = 1, + paddings = 1, + ticks = true, + ticks_size = dpi(6), + widget = wibox.widget.progressbar, +} +theme.fs = lain.widget.fs { + notification_preset = { fg = theme.fg_normal, bg = theme.bg_normal, font = "Terminus 10.5" }, + settings = function() + if fs_now["/home"].percentage < 90 then + fsbar:set_color(theme.fg_normal) + else + fsbar:set_color("#EB8F8F") + end + fsbar:set_value(fs_now["/home"].percentage / 100) + end +} +local fsbg = wibox.container.background(fsbar, "#474747", gears.shape.rectangle) +local fswidget = wibox.container.margin(fsbg, dpi(2), dpi(7), dpi(4), dpi(4)) +--]] + +-- ALSA volume bar +local volicon = wibox.widget.imagebox(theme.vol) +theme.volume = lain.widget.alsabar { + width = dpi(59), border_width = 0, ticks = true, ticks_size = dpi(6), + notification_preset = { font = theme.font }, + --togglechannel = "IEC958,3", + settings = function() + if volume_now.status == "off" then + volicon:set_image(theme.vol_mute) + elseif volume_now.level == 0 then + volicon:set_image(theme.vol_no) + elseif volume_now.level <= 50 then + volicon:set_image(theme.vol_low) + else + volicon:set_image(theme.vol) + end + end, + colors = { + background = theme.bg_normal, + mute = red, + unmute = theme.fg_normal + } +} +theme.volume.tooltip.wibox.fg = theme.fg_focus +theme.volume.bar:buttons(my_table.join ( + awful.button({}, 1, function() + awful.spawn(string.format("%s -e alsamixer", awful.util.terminal)) + end), + awful.button({}, 2, function() + os.execute(string.format("%s set %s 100%%", theme.volume.cmd, theme.volume.channel)) + theme.volume.update() + end), + awful.button({}, 3, function() + os.execute(string.format("%s set %s toggle", theme.volume.cmd, theme.volume.togglechannel or theme.volume.channel)) + theme.volume.update() + end), + awful.button({}, 4, function() + os.execute(string.format("%s set %s 1%%+", theme.volume.cmd, theme.volume.channel)) + theme.volume.update() + end), + awful.button({}, 5, function() + os.execute(string.format("%s set %s 1%%-", theme.volume.cmd, theme.volume.channel)) + theme.volume.update() + end) +)) +local volumebg = wibox.container.background(theme.volume.bar, "#474747", gears.shape.rectangle) +local volumewidget = wibox.container.margin(volumebg, dpi(2), dpi(7), dpi(4), dpi(4)) + +-- Weather +--[[ to be set before use +theme.weather = lain.widget.weather({ + --APPID = + city_id = 2643743, -- placeholder (London) +}) +--]] + +-- Separators +local first = wibox.widget.textbox(markup.font("Terminus 3", " ")) +local spr = wibox.widget.textbox(' ') +local small_spr = wibox.widget.textbox(markup.font("Terminus 4", " ")) +local bar_spr = wibox.widget.textbox(markup.font("Terminus 3", " ") .. markup.fontfg(theme.font, "#777777", "|") .. markup.font("Terminus 5", " ")) + +-- Eminent-like task filtering +local orig_filter = awful.widget.taglist.filter.all + +-- Taglist label functions +awful.widget.taglist.filter.all = function (t, args) + if t.selected or #t:clients() > 0 then + return orig_filter(t, args) + end +end + +function theme.at_screen_connect(s) + -- Quake application + s.quake = lain.util.quake({ app = awful.util.terminal }) + + -- If wallpaper is a function, call it with the screen + local wallpaper = theme.wallpaper + if type(wallpaper) == "function" then + wallpaper = wallpaper(s) + end + gears.wallpaper.maximized(wallpaper, s, true) + + -- Tags + awful.tag(awful.util.tagnames, s, awful.layout.layouts[1]) + + -- Create a promptbox for each screen + s.mypromptbox = awful.widget.prompt() + -- Create an imagebox widget which will contains an icon indicating which layout we're using. + -- We need one layoutbox per screen. + s.mylayoutbox = awful.widget.layoutbox(s) + s.mylayoutbox:buttons(my_table.join( + awful.button({}, 1, function () awful.layout.inc( 1) end), + awful.button({}, 2, function () awful.layout.set( awful.layout.layouts[1] ) end), + awful.button({}, 3, function () awful.layout.inc(-1) end), + awful.button({}, 4, function () awful.layout.inc( 1) end), + awful.button({}, 5, function () awful.layout.inc(-1) end))) + + -- Create a taglist widget + s.mytaglist = awful.widget.taglist(s, awful.widget.taglist.filter.all, awful.util.taglist_buttons) + + -- Create a tasklist widget + s.mytasklist = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, awful.util.tasklist_buttons) + + -- Create the wibox + s.mywibox = awful.wibar({ position = "top", screen = s, height = dpi(18), bg = theme.bg_normal, fg = theme.fg_normal }) + + -- Add widgets to the wibox + s.mywibox:setup { + layout = wibox.layout.align.horizontal, + { -- Left widgets + layout = wibox.layout.fixed.horizontal, + small_spr, + s.mylayoutbox, + first, + bar_spr, + s.mytaglist, + first, + s.mypromptbox, + }, + s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + wibox.widget.systray(), + small_spr, + --theme.mail.widget, + mpdicon, + theme.mpd.widget, + baticon, + batwidget, + bar_spr, + --fsicon, + --fswidget, + bar_spr, + volicon, + volumewidget, + bar_spr, + mytextclock, + }, + } +end + +return theme diff --git a/.config/awesome/themes/copland/wall.png b/.config/awesome/themes/copland/wall.png new file mode 100644 index 0000000..ea9e4cc Binary files /dev/null and b/.config/awesome/themes/copland/wall.png differ diff --git a/.config/awesome/themes/dremora/icons/awesome.png b/.config/awesome/themes/dremora/icons/awesome.png new file mode 100755 index 0000000..ffb105e Binary files /dev/null and b/.config/awesome/themes/dremora/icons/awesome.png differ diff --git a/.config/awesome/themes/dremora/icons/dwindle.png b/.config/awesome/themes/dremora/icons/dwindle.png new file mode 100755 index 0000000..04f3918 Binary files /dev/null and b/.config/awesome/themes/dremora/icons/dwindle.png differ diff --git a/.config/awesome/themes/dremora/icons/fairh.png b/.config/awesome/themes/dremora/icons/fairh.png new file mode 100755 index 0000000..0bb6dab Binary files /dev/null and b/.config/awesome/themes/dremora/icons/fairh.png differ diff --git a/.config/awesome/themes/dremora/icons/fairv.png b/.config/awesome/themes/dremora/icons/fairv.png new file mode 100755 index 0000000..aff6c26 Binary files /dev/null and b/.config/awesome/themes/dremora/icons/fairv.png differ diff --git a/.config/awesome/themes/dremora/icons/floating.png b/.config/awesome/themes/dremora/icons/floating.png new file mode 100755 index 0000000..5d021b1 Binary files /dev/null and b/.config/awesome/themes/dremora/icons/floating.png differ diff --git a/.config/awesome/themes/dremora/icons/magnifier.png b/.config/awesome/themes/dremora/icons/magnifier.png new file mode 100755 index 0000000..dd4dec3 Binary files /dev/null and b/.config/awesome/themes/dremora/icons/magnifier.png differ diff --git a/.config/awesome/themes/dremora/icons/max.png b/.config/awesome/themes/dremora/icons/max.png new file mode 100755 index 0000000..7334f8b Binary files /dev/null and b/.config/awesome/themes/dremora/icons/max.png differ diff --git a/.config/awesome/themes/dremora/icons/spiral.png b/.config/awesome/themes/dremora/icons/spiral.png new file mode 100755 index 0000000..31cbbd0 Binary files /dev/null and b/.config/awesome/themes/dremora/icons/spiral.png differ diff --git a/.config/awesome/themes/dremora/icons/square_sel.png b/.config/awesome/themes/dremora/icons/square_sel.png new file mode 100755 index 0000000..85cc605 Binary files /dev/null and b/.config/awesome/themes/dremora/icons/square_sel.png differ diff --git a/.config/awesome/themes/dremora/icons/square_unsel.png b/.config/awesome/themes/dremora/icons/square_unsel.png new file mode 100755 index 0000000..1c58e4b Binary files /dev/null and b/.config/awesome/themes/dremora/icons/square_unsel.png differ diff --git a/.config/awesome/themes/dremora/icons/submenu.png b/.config/awesome/themes/dremora/icons/submenu.png new file mode 100755 index 0000000..988ef9e Binary files /dev/null and b/.config/awesome/themes/dremora/icons/submenu.png differ diff --git a/.config/awesome/themes/dremora/icons/tile.png b/.config/awesome/themes/dremora/icons/tile.png new file mode 100755 index 0000000..72cbd6c Binary files /dev/null and b/.config/awesome/themes/dremora/icons/tile.png differ diff --git a/.config/awesome/themes/dremora/icons/tilebottom.png b/.config/awesome/themes/dremora/icons/tilebottom.png new file mode 100755 index 0000000..a927128 Binary files /dev/null and b/.config/awesome/themes/dremora/icons/tilebottom.png differ diff --git a/.config/awesome/themes/dremora/icons/tileleft.png b/.config/awesome/themes/dremora/icons/tileleft.png new file mode 100755 index 0000000..c54d1f5 Binary files /dev/null and b/.config/awesome/themes/dremora/icons/tileleft.png differ diff --git a/.config/awesome/themes/dremora/icons/tiletop.png b/.config/awesome/themes/dremora/icons/tiletop.png new file mode 100755 index 0000000..db74cf3 Binary files /dev/null and b/.config/awesome/themes/dremora/icons/tiletop.png differ diff --git a/.config/awesome/themes/dremora/icons/titlebar/close_focus.png b/.config/awesome/themes/dremora/icons/titlebar/close_focus.png new file mode 100755 index 0000000..221bca0 Binary files /dev/null and b/.config/awesome/themes/dremora/icons/titlebar/close_focus.png differ diff --git a/.config/awesome/themes/dremora/icons/titlebar/close_normal.png b/.config/awesome/themes/dremora/icons/titlebar/close_normal.png new file mode 100755 index 0000000..f923983 Binary files /dev/null and b/.config/awesome/themes/dremora/icons/titlebar/close_normal.png differ diff --git a/.config/awesome/themes/dremora/icons/titlebar/floating_focus_active.png b/.config/awesome/themes/dremora/icons/titlebar/floating_focus_active.png new file mode 100755 index 0000000..d83bd00 Binary files /dev/null and b/.config/awesome/themes/dremora/icons/titlebar/floating_focus_active.png differ diff --git a/.config/awesome/themes/dremora/icons/titlebar/floating_focus_inactive.png b/.config/awesome/themes/dremora/icons/titlebar/floating_focus_inactive.png new file mode 100755 index 0000000..47f19f6 Binary files /dev/null and b/.config/awesome/themes/dremora/icons/titlebar/floating_focus_inactive.png differ diff --git a/.config/awesome/themes/dremora/icons/titlebar/floating_normal_active.png b/.config/awesome/themes/dremora/icons/titlebar/floating_normal_active.png new file mode 100755 index 0000000..b788552 Binary files /dev/null and b/.config/awesome/themes/dremora/icons/titlebar/floating_normal_active.png differ diff --git a/.config/awesome/themes/dremora/icons/titlebar/floating_normal_inactive.png b/.config/awesome/themes/dremora/icons/titlebar/floating_normal_inactive.png new file mode 100755 index 0000000..4adc5e9 Binary files /dev/null and b/.config/awesome/themes/dremora/icons/titlebar/floating_normal_inactive.png differ diff --git a/.config/awesome/themes/dremora/icons/titlebar/maximized_focus_active.png b/.config/awesome/themes/dremora/icons/titlebar/maximized_focus_active.png new file mode 100755 index 0000000..2599cd5 Binary files /dev/null and b/.config/awesome/themes/dremora/icons/titlebar/maximized_focus_active.png differ diff --git a/.config/awesome/themes/dremora/icons/titlebar/maximized_focus_inactive.png b/.config/awesome/themes/dremora/icons/titlebar/maximized_focus_inactive.png new file mode 100755 index 0000000..bce1d00 Binary files /dev/null and b/.config/awesome/themes/dremora/icons/titlebar/maximized_focus_inactive.png differ diff --git a/.config/awesome/themes/dremora/icons/titlebar/maximized_normal_active.png b/.config/awesome/themes/dremora/icons/titlebar/maximized_normal_active.png new file mode 100755 index 0000000..a5b1d76 Binary files /dev/null and b/.config/awesome/themes/dremora/icons/titlebar/maximized_normal_active.png differ diff --git a/.config/awesome/themes/dremora/icons/titlebar/maximized_normal_inactive.png b/.config/awesome/themes/dremora/icons/titlebar/maximized_normal_inactive.png new file mode 100755 index 0000000..2e56d32 Binary files /dev/null and b/.config/awesome/themes/dremora/icons/titlebar/maximized_normal_inactive.png differ diff --git a/.config/awesome/themes/dremora/icons/titlebar/ontop_focus_active.png b/.config/awesome/themes/dremora/icons/titlebar/ontop_focus_active.png new file mode 100755 index 0000000..ade12fe Binary files /dev/null and b/.config/awesome/themes/dremora/icons/titlebar/ontop_focus_active.png differ diff --git a/.config/awesome/themes/dremora/icons/titlebar/ontop_focus_inactive.png b/.config/awesome/themes/dremora/icons/titlebar/ontop_focus_inactive.png new file mode 100755 index 0000000..2f3a2be Binary files /dev/null and b/.config/awesome/themes/dremora/icons/titlebar/ontop_focus_inactive.png differ diff --git a/.config/awesome/themes/dremora/icons/titlebar/ontop_normal_active.png b/.config/awesome/themes/dremora/icons/titlebar/ontop_normal_active.png new file mode 100755 index 0000000..02facc4 Binary files /dev/null and b/.config/awesome/themes/dremora/icons/titlebar/ontop_normal_active.png differ diff --git a/.config/awesome/themes/dremora/icons/titlebar/ontop_normal_inactive.png b/.config/awesome/themes/dremora/icons/titlebar/ontop_normal_inactive.png new file mode 100755 index 0000000..a9a3206 Binary files /dev/null and b/.config/awesome/themes/dremora/icons/titlebar/ontop_normal_inactive.png differ diff --git a/.config/awesome/themes/dremora/icons/titlebar/sticky_focus_active.png b/.config/awesome/themes/dremora/icons/titlebar/sticky_focus_active.png new file mode 100755 index 0000000..ebd45a1 Binary files /dev/null and b/.config/awesome/themes/dremora/icons/titlebar/sticky_focus_active.png differ diff --git a/.config/awesome/themes/dremora/icons/titlebar/sticky_focus_inactive.png b/.config/awesome/themes/dremora/icons/titlebar/sticky_focus_inactive.png new file mode 100755 index 0000000..5493d8e Binary files /dev/null and b/.config/awesome/themes/dremora/icons/titlebar/sticky_focus_inactive.png differ diff --git a/.config/awesome/themes/dremora/icons/titlebar/sticky_normal_active.png b/.config/awesome/themes/dremora/icons/titlebar/sticky_normal_active.png new file mode 100755 index 0000000..15f0bc4 Binary files /dev/null and b/.config/awesome/themes/dremora/icons/titlebar/sticky_normal_active.png differ diff --git a/.config/awesome/themes/dremora/icons/titlebar/sticky_normal_inactive.png b/.config/awesome/themes/dremora/icons/titlebar/sticky_normal_inactive.png new file mode 100755 index 0000000..7e6c99b Binary files /dev/null and b/.config/awesome/themes/dremora/icons/titlebar/sticky_normal_inactive.png differ diff --git a/.config/awesome/themes/dremora/theme.lua b/.config/awesome/themes/dremora/theme.lua new file mode 100644 index 0000000..5b84554 --- /dev/null +++ b/.config/awesome/themes/dremora/theme.lua @@ -0,0 +1,256 @@ +--[[ + + Dremora Awesome WM theme 2.0 + github.com/lcpz + +--]] + +local gears = require("gears") +local lain = require("lain") +local awful = require("awful") +local wibox = require("wibox") +local dpi = require("beautiful.xresources").apply_dpi + +local os = os +local my_table = awful.util.table or gears.table -- 4.{0,1} compatibility + +local theme = {} +theme.dir = os.getenv("HOME") .. "/.config/awesome/themes/dremora" +theme.wallpaper = theme.dir .. "/wall.png" +theme.font = "Terminus 10.5" +theme.taglist_font = "Icons 10" +theme.fg_normal = "#747474" +theme.fg_focus = "#DDDCFF" +theme.bg_normal = "#121212" +theme.bg_focus = "#121212" +theme.fg_urgent = "#CC9393" +theme.bg_urgent = "#2A1F1E" +theme.border_width = dpi(0) +theme.border_normal = "#121212" +theme.border_focus = "#292929" +theme.titlebar_bg_focus = "#292929" +theme.taglist_fg_focus = "#dddcff" +theme.taglist_bg_focus = "#121212" +theme.menu_height = dpi(16) +theme.menu_width = dpi(130) +theme.menu_submenu_icon = theme.dir .. "/icons/submenu.png" +theme.awesome_icon = theme.dir .."/icons/awesome.png" +theme.taglist_squares_sel = theme.dir .. "/icons/square_sel.png" +theme.taglist_squares_unsel = theme.dir .. "/icons/square_unsel.png" +theme.layout_tile = theme.dir .. "/icons/tile.png" +theme.layout_tileleft = theme.dir .. "/icons/tileleft.png" +theme.layout_tilebottom = theme.dir .. "/icons/tilebottom.png" +theme.layout_tiletop = theme.dir .. "/icons/tiletop.png" +theme.layout_fairv = theme.dir .. "/icons/fairv.png" +theme.layout_fairh = theme.dir .. "/icons/fairh.png" +theme.layout_spiral = theme.dir .. "/icons/spiral.png" +theme.layout_dwindle = theme.dir .. "/icons/dwindle.png" +theme.layout_max = theme.dir .. "/icons/max.png" +theme.layout_fullscreen = theme.dir .. "/icons/fullscreen.png" +theme.layout_magnifier = theme.dir .. "/icons/magnifier.png" +theme.layout_floating = theme.dir .. "/icons/floating.png" +theme.tasklist_plain_task_name = true +theme.tasklist_disable_icon = true +theme.useless_gap = dpi(10) +theme.titlebar_close_button_focus = theme.dir .. "/icons/titlebar/close_focus.png" +theme.titlebar_close_button_normal = theme.dir .. "/icons/titlebar/close_normal.png" +theme.titlebar_ontop_button_focus_active = theme.dir .. "/icons/titlebar/ontop_focus_active.png" +theme.titlebar_ontop_button_normal_active = theme.dir .. "/icons/titlebar/ontop_normal_active.png" +theme.titlebar_ontop_button_focus_inactive = theme.dir .. "/icons/titlebar/ontop_focus_inactive.png" +theme.titlebar_ontop_button_normal_inactive = theme.dir .. "/icons/titlebar/ontop_normal_inactive.png" +theme.titlebar_sticky_button_focus_active = theme.dir .. "/icons/titlebar/sticky_focus_active.png" +theme.titlebar_sticky_button_normal_active = theme.dir .. "/icons/titlebar/sticky_normal_active.png" +theme.titlebar_sticky_button_focus_inactive = theme.dir .. "/icons/titlebar/sticky_focus_inactive.png" +theme.titlebar_sticky_button_normal_inactive = theme.dir .. "/icons/titlebar/sticky_normal_inactive.png" +theme.titlebar_floating_button_focus_active = theme.dir .. "/icons/titlebar/floating_focus_active.png" +theme.titlebar_floating_button_normal_active = theme.dir .. "/icons/titlebar/floating_normal_active.png" +theme.titlebar_floating_button_focus_inactive = theme.dir .. "/icons/titlebar/floating_focus_inactive.png" +theme.titlebar_floating_button_normal_inactive = theme.dir .. "/icons/titlebar/floating_normal_inactive.png" +theme.titlebar_maximized_button_focus_active = theme.dir .. "/icons/titlebar/maximized_focus_active.png" +theme.titlebar_maximized_button_normal_active = theme.dir .. "/icons/titlebar/maximized_normal_active.png" +theme.titlebar_maximized_button_focus_inactive = theme.dir .. "/icons/titlebar/maximized_focus_inactive.png" +theme.titlebar_maximized_button_normal_inactive = theme.dir .. "/icons/titlebar/maximized_normal_inactive.png" + +awful.util.tagnames = { "ƀ", "Ƅ", "Ɗ", "ƈ", "ƙ" } + +local markup = lain.util.markup +local separators = lain.util.separators +local white = theme.fg_focus +local gray = "#858585" + +-- Textclock +local mytextclock = wibox.widget.textclock(markup(gray, " %a") +.. markup(white, " %d ") .. markup(gray, "%b ") .. markup(white, "%H:%M ")) +mytextclock.font = theme.font + +-- Calendar +theme.cal = lain.widget.cal({ + attach_to = { mytextclock }, + notification_preset = { + font = "Terminus 11", + fg = white, + bg = theme.bg_normal +}}) + +-- Mail IMAP check +--[[ to be set before use +theme.mail = lain.widget.imap({ + timeout = 180, + server = "server", + mail = "mail", + password = "keyring get mail", + notification_preset = { fg = white } + settings = function() + mail = "" + count = "" + + if mailcount > 0 then + mail = "Mail " + count = mailcount .. " " + end + + widget:set_markup(markup.font(theme.font, markup(gray, mail) .. markup(white, count))) + end +}) +--]] + +-- MPD +theme.mpd = lain.widget.mpd({ + settings = function() + mpd_notification_preset.fg = white + artist = mpd_now.artist .. " " + title = mpd_now.title .. " " + + if mpd_now.state == "pause" then + artist = "mpd " + title = "paused " + elseif mpd_now.state == "stop" then + artist = "" + title = "" + end + + widget:set_markup(markup.font(theme.font, markup(gray, artist) .. markup(white, title))) + end +}) + +-- /home fs +--[[ commented because it needs Gio/Glib >= 2.54 +theme.fs = lain.widget.fs({ + notification_preset = { fg = white, bg = theme.bg_normal, font = "Terminus 10.5" }, + settings = function() + fs_header = "" + fs_p = "" + + if fs_now["/home"].percentage >= 90 then + fs_header = " Hdd " + fs_p = fs_now["/home"].percentage + end + + widget:set_markup(markup.font(theme.font, markup(gray, fs_header) .. markup(white, fs_p))) + end +}) +--]] + +-- Battery +local bat = lain.widget.bat({ + settings = function() + bat_header = " Bat " + bat_p = bat_now.perc .. " " + widget:set_markup(markup.font(theme.font, markup(gray, bat_header) .. markup(white, bat_p))) + end +}) + +-- ALSA volume +theme.volume = lain.widget.alsa({ + --togglechannel = "IEC958,3", + settings = function() + header = " Vol " + vlevel = volume_now.level + + if volume_now.status == "off" then + vlevel = vlevel .. "M " + else + vlevel = vlevel .. " " + end + + widget:set_markup(markup.font(theme.font, markup(gray, header) .. markup(white, vlevel))) + end +}) + +-- Weather +--[[ to be set before use +theme.weather = lain.widget.weather({ + --APPID = + city_id = 2643743, -- placeholder (London) + notification_preset = { fg = white } +}) +--]] + +-- Separators +local first = wibox.widget.textbox(' ') +local arrl_pre = separators.arrow_right("alpha", "#1A1A1A") +local arrl_post = separators.arrow_right("#1A1A1A", "alpha") + +function theme.at_screen_connect(s) + -- Quake application + s.quake = lain.util.quake({ app = awful.util.terminal }) + + -- If wallpaper is a function, call it with the screen + local wallpaper = theme.wallpaper + if type(wallpaper) == "function" then + wallpaper = wallpaper(s) + end + gears.wallpaper.maximized(wallpaper, s, true) + + -- Tags + awful.tag(awful.util.tagnames, s, awful.layout.layouts[1]) + + -- Create a promptbox for each screen + s.mypromptbox = awful.widget.prompt() + -- Create an imagebox widget which will contains an icon indicating which layout we're using. + -- We need one layoutbox per screen. + s.mylayoutbox = awful.widget.layoutbox(s) + s.mylayoutbox:buttons(my_table.join( + awful.button({}, 1, function () awful.layout.inc( 1) end), + awful.button({}, 2, function () awful.layout.set( awful.layout.layouts[1] ) end), + awful.button({}, 3, function () awful.layout.inc(-1) end), + awful.button({}, 4, function () awful.layout.inc( 1) end), + awful.button({}, 5, function () awful.layout.inc(-1) end))) + -- Create a taglist widget + s.mytaglist = awful.widget.taglist(s, awful.widget.taglist.filter.all, awful.util.taglist_buttons) + + -- Create a tasklist widget + s.mytasklist = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, awful.util.tasklist_buttons) + + -- Create the wibox + s.mywibox = awful.wibar({ position = "top", screen = s, height = dpi(18), bg = theme.bg_normal, fg = theme.fg_normal }) + + -- Add widgets to the wibox + s.mywibox:setup { + layout = wibox.layout.align.horizontal, + { -- Left widgets + layout = wibox.layout.fixed.horizontal, + first, + s.mytaglist, + arrl_pre, + s.mylayoutbox, + arrl_post, + s.mypromptbox, + first, + }, + s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + wibox.widget.systray(), + first, + theme.mpd.widget, + --theme.mail.widget, + --theme.fs.widget, + bat.widget, + theme.volume.widget, + mytextclock, + }, + } +end + +return theme diff --git a/.config/awesome/themes/dremora/wall.png b/.config/awesome/themes/dremora/wall.png new file mode 100755 index 0000000..4501b60 Binary files /dev/null and b/.config/awesome/themes/dremora/wall.png differ diff --git a/.config/awesome/themes/holo/icons/awesome_icon.png b/.config/awesome/themes/holo/icons/awesome_icon.png new file mode 100755 index 0000000..ae13162 Binary files /dev/null and b/.config/awesome/themes/holo/icons/awesome_icon.png differ diff --git a/.config/awesome/themes/holo/icons/awesome_icon_white.png b/.config/awesome/themes/holo/icons/awesome_icon_white.png new file mode 100755 index 0000000..1b0de6e Binary files /dev/null and b/.config/awesome/themes/holo/icons/awesome_icon_white.png differ diff --git a/.config/awesome/themes/holo/icons/bar.png b/.config/awesome/themes/holo/icons/bar.png new file mode 100755 index 0000000..767885c Binary files /dev/null and b/.config/awesome/themes/holo/icons/bar.png differ diff --git a/.config/awesome/themes/holo/icons/bottom_bar.png b/.config/awesome/themes/holo/icons/bottom_bar.png new file mode 100755 index 0000000..076ad3b Binary files /dev/null and b/.config/awesome/themes/holo/icons/bottom_bar.png differ diff --git a/.config/awesome/themes/holo/icons/cal.png b/.config/awesome/themes/holo/icons/cal.png new file mode 100755 index 0000000..1b023ec Binary files /dev/null and b/.config/awesome/themes/holo/icons/cal.png differ diff --git a/.config/awesome/themes/holo/icons/clock.png b/.config/awesome/themes/holo/icons/clock.png new file mode 100755 index 0000000..6b2c4e5 Binary files /dev/null and b/.config/awesome/themes/holo/icons/clock.png differ diff --git a/.config/awesome/themes/holo/icons/cpu.png b/.config/awesome/themes/holo/icons/cpu.png new file mode 100755 index 0000000..1ce87eb Binary files /dev/null and b/.config/awesome/themes/holo/icons/cpu.png differ diff --git a/.config/awesome/themes/holo/icons/dwindle.png b/.config/awesome/themes/holo/icons/dwindle.png new file mode 100755 index 0000000..f68b484 Binary files /dev/null and b/.config/awesome/themes/holo/icons/dwindle.png differ diff --git a/.config/awesome/themes/holo/icons/fairh.png b/.config/awesome/themes/holo/icons/fairh.png new file mode 100755 index 0000000..c7e5e6d Binary files /dev/null and b/.config/awesome/themes/holo/icons/fairh.png differ diff --git a/.config/awesome/themes/holo/icons/fairv.png b/.config/awesome/themes/holo/icons/fairv.png new file mode 100755 index 0000000..d416b9d Binary files /dev/null and b/.config/awesome/themes/holo/icons/fairv.png differ diff --git a/.config/awesome/themes/holo/icons/floating.png b/.config/awesome/themes/holo/icons/floating.png new file mode 100755 index 0000000..b91cd07 Binary files /dev/null and b/.config/awesome/themes/holo/icons/floating.png differ diff --git a/.config/awesome/themes/holo/icons/magnifier.png b/.config/awesome/themes/holo/icons/magnifier.png new file mode 100755 index 0000000..e1f744e Binary files /dev/null and b/.config/awesome/themes/holo/icons/magnifier.png differ diff --git a/.config/awesome/themes/holo/icons/max.png b/.config/awesome/themes/holo/icons/max.png new file mode 100755 index 0000000..50d3994 Binary files /dev/null and b/.config/awesome/themes/holo/icons/max.png differ diff --git a/.config/awesome/themes/holo/icons/mpd.png b/.config/awesome/themes/holo/icons/mpd.png new file mode 100755 index 0000000..efa8ec3 Binary files /dev/null and b/.config/awesome/themes/holo/icons/mpd.png differ diff --git a/.config/awesome/themes/holo/icons/net_down.png b/.config/awesome/themes/holo/icons/net_down.png new file mode 100755 index 0000000..d5075a1 Binary files /dev/null and b/.config/awesome/themes/holo/icons/net_down.png differ diff --git a/.config/awesome/themes/holo/icons/net_up.png b/.config/awesome/themes/holo/icons/net_up.png new file mode 100755 index 0000000..66dfb54 Binary files /dev/null and b/.config/awesome/themes/holo/icons/net_up.png differ diff --git a/.config/awesome/themes/holo/icons/next.png b/.config/awesome/themes/holo/icons/next.png new file mode 100755 index 0000000..148ce90 Binary files /dev/null and b/.config/awesome/themes/holo/icons/next.png differ diff --git a/.config/awesome/themes/holo/icons/pause.png b/.config/awesome/themes/holo/icons/pause.png new file mode 100755 index 0000000..9e9bc3f Binary files /dev/null and b/.config/awesome/themes/holo/icons/pause.png differ diff --git a/.config/awesome/themes/holo/icons/play.png b/.config/awesome/themes/holo/icons/play.png new file mode 100755 index 0000000..1949983 Binary files /dev/null and b/.config/awesome/themes/holo/icons/play.png differ diff --git a/.config/awesome/themes/holo/icons/prev.png b/.config/awesome/themes/holo/icons/prev.png new file mode 100755 index 0000000..d913bba Binary files /dev/null and b/.config/awesome/themes/holo/icons/prev.png differ diff --git a/.config/awesome/themes/holo/icons/spiral.png b/.config/awesome/themes/holo/icons/spiral.png new file mode 100755 index 0000000..ebb7bb3 Binary files /dev/null and b/.config/awesome/themes/holo/icons/spiral.png differ diff --git a/.config/awesome/themes/holo/icons/spr_bottom_right.png b/.config/awesome/themes/holo/icons/spr_bottom_right.png new file mode 100755 index 0000000..d702f98 Binary files /dev/null and b/.config/awesome/themes/holo/icons/spr_bottom_right.png differ diff --git a/.config/awesome/themes/holo/icons/spr_left.png b/.config/awesome/themes/holo/icons/spr_left.png new file mode 100755 index 0000000..44822ed Binary files /dev/null and b/.config/awesome/themes/holo/icons/spr_left.png differ diff --git a/.config/awesome/themes/holo/icons/spr_right.png b/.config/awesome/themes/holo/icons/spr_right.png new file mode 100755 index 0000000..5cca795 Binary files /dev/null and b/.config/awesome/themes/holo/icons/spr_right.png differ diff --git a/.config/awesome/themes/holo/icons/spr_small.png b/.config/awesome/themes/holo/icons/spr_small.png new file mode 100755 index 0000000..16492a8 Binary files /dev/null and b/.config/awesome/themes/holo/icons/spr_small.png differ diff --git a/.config/awesome/themes/holo/icons/spr_very_small.png b/.config/awesome/themes/holo/icons/spr_very_small.png new file mode 100755 index 0000000..8b9a227 Binary files /dev/null and b/.config/awesome/themes/holo/icons/spr_very_small.png differ diff --git a/.config/awesome/themes/holo/icons/square_sel.png b/.config/awesome/themes/holo/icons/square_sel.png new file mode 100755 index 0000000..73fb845 Binary files /dev/null and b/.config/awesome/themes/holo/icons/square_sel.png differ diff --git a/.config/awesome/themes/holo/icons/square_unsel.png b/.config/awesome/themes/holo/icons/square_unsel.png new file mode 100755 index 0000000..07dd9f0 Binary files /dev/null and b/.config/awesome/themes/holo/icons/square_unsel.png differ diff --git a/.config/awesome/themes/holo/icons/stop.png b/.config/awesome/themes/holo/icons/stop.png new file mode 100755 index 0000000..bfc819c Binary files /dev/null and b/.config/awesome/themes/holo/icons/stop.png differ diff --git a/.config/awesome/themes/holo/icons/tile.png b/.config/awesome/themes/holo/icons/tile.png new file mode 100755 index 0000000..e2e52bb Binary files /dev/null and b/.config/awesome/themes/holo/icons/tile.png differ diff --git a/.config/awesome/themes/holo/icons/tilebottom.png b/.config/awesome/themes/holo/icons/tilebottom.png new file mode 100755 index 0000000..439f528 Binary files /dev/null and b/.config/awesome/themes/holo/icons/tilebottom.png differ diff --git a/.config/awesome/themes/holo/icons/tileleft.png b/.config/awesome/themes/holo/icons/tileleft.png new file mode 100755 index 0000000..827e0d1 Binary files /dev/null and b/.config/awesome/themes/holo/icons/tileleft.png differ diff --git a/.config/awesome/themes/holo/icons/tiletop.png b/.config/awesome/themes/holo/icons/tiletop.png new file mode 100755 index 0000000..7139846 Binary files /dev/null and b/.config/awesome/themes/holo/icons/tiletop.png differ diff --git a/.config/awesome/themes/holo/theme.lua b/.config/awesome/themes/holo/theme.lua new file mode 100644 index 0000000..75a7b48 --- /dev/null +++ b/.config/awesome/themes/holo/theme.lua @@ -0,0 +1,393 @@ +--[[ + + Holo Awesome WM theme 3.0 + github.com/lcpz + +--]] + +local gears = require("gears") +local lain = require("lain") +local awful = require("awful") +local wibox = require("wibox") +local dpi = require("beautiful.xresources").apply_dpi + +local string, os = string, os +local my_table = awful.util.table or gears.table -- 4.{0,1} compatibility + +local theme = {} +theme.default_dir = require("awful.util").get_themes_dir() .. "default" +theme.icon_dir = os.getenv("HOME") .. "/.config/awesome/themes/holo/icons" +theme.wallpaper = os.getenv("HOME") .. "/.config/awesome/themes/holo/wall.png" +theme.font = "Roboto Bold 10" +theme.taglist_font = "Roboto Condensed Regular 8" +theme.fg_normal = "#FFFFFF" +theme.fg_focus = "#0099CC" +theme.bg_focus = "#303030" +theme.bg_normal = "#242424" +theme.fg_urgent = "#CC9393" +theme.bg_urgent = "#006B8E" +theme.border_width = dpi(3) +theme.border_normal = "#252525" +theme.border_focus = "#0099CC" +theme.taglist_fg_focus = "#FFFFFF" +theme.tasklist_bg_normal = "#222222" +theme.tasklist_fg_focus = "#4CB7DB" +theme.menu_height = dpi(20) +theme.menu_width = dpi(160) +theme.menu_icon_size = dpi(32) +theme.awesome_icon = theme.icon_dir .. "/awesome_icon_white.png" +theme.awesome_icon_launcher = theme.icon_dir .. "/awesome_icon.png" +theme.taglist_squares_sel = theme.icon_dir .. "/square_sel.png" +theme.taglist_squares_unsel = theme.icon_dir .. "/square_unsel.png" +theme.spr_small = theme.icon_dir .. "/spr_small.png" +theme.spr_very_small = theme.icon_dir .. "/spr_very_small.png" +theme.spr_right = theme.icon_dir .. "/spr_right.png" +theme.spr_bottom_right = theme.icon_dir .. "/spr_bottom_right.png" +theme.spr_left = theme.icon_dir .. "/spr_left.png" +theme.bar = theme.icon_dir .. "/bar.png" +theme.bottom_bar = theme.icon_dir .. "/bottom_bar.png" +theme.mpdl = theme.icon_dir .. "/mpd.png" +theme.mpd_on = theme.icon_dir .. "/mpd_on.png" +theme.prev = theme.icon_dir .. "/prev.png" +theme.nex = theme.icon_dir .. "/next.png" +theme.stop = theme.icon_dir .. "/stop.png" +theme.pause = theme.icon_dir .. "/pause.png" +theme.play = theme.icon_dir .. "/play.png" +theme.clock = theme.icon_dir .. "/clock.png" +theme.calendar = theme.icon_dir .. "/cal.png" +theme.cpu = theme.icon_dir .. "/cpu.png" +theme.net_up = theme.icon_dir .. "/net_up.png" +theme.net_down = theme.icon_dir .. "/net_down.png" +theme.layout_tile = theme.icon_dir .. "/tile.png" +theme.layout_tileleft = theme.icon_dir .. "/tileleft.png" +theme.layout_tilebottom = theme.icon_dir .. "/tilebottom.png" +theme.layout_tiletop = theme.icon_dir .. "/tiletop.png" +theme.layout_fairv = theme.icon_dir .. "/fairv.png" +theme.layout_fairh = theme.icon_dir .. "/fairh.png" +theme.layout_spiral = theme.icon_dir .. "/spiral.png" +theme.layout_dwindle = theme.icon_dir .. "/dwindle.png" +theme.layout_max = theme.icon_dir .. "/max.png" +theme.layout_fullscreen = theme.icon_dir .. "/fullscreen.png" +theme.layout_magnifier = theme.icon_dir .. "/magnifier.png" +theme.layout_floating = theme.icon_dir .. "/floating.png" +theme.tasklist_plain_task_name = true +theme.tasklist_disable_icon = true +theme.useless_gap = dpi(4) +theme.titlebar_close_button_normal = theme.default_dir.."/titlebar/close_normal.png" +theme.titlebar_close_button_focus = theme.default_dir.."/titlebar/close_focus.png" +theme.titlebar_minimize_button_normal = theme.default_dir.."/titlebar/minimize_normal.png" +theme.titlebar_minimize_button_focus = theme.default_dir.."/titlebar/minimize_focus.png" +theme.titlebar_ontop_button_normal_inactive = theme.default_dir.."/titlebar/ontop_normal_inactive.png" +theme.titlebar_ontop_button_focus_inactive = theme.default_dir.."/titlebar/ontop_focus_inactive.png" +theme.titlebar_ontop_button_normal_active = theme.default_dir.."/titlebar/ontop_normal_active.png" +theme.titlebar_ontop_button_focus_active = theme.default_dir.."/titlebar/ontop_focus_active.png" +theme.titlebar_sticky_button_normal_inactive = theme.default_dir.."/titlebar/sticky_normal_inactive.png" +theme.titlebar_sticky_button_focus_inactive = theme.default_dir.."/titlebar/sticky_focus_inactive.png" +theme.titlebar_sticky_button_normal_active = theme.default_dir.."/titlebar/sticky_normal_active.png" +theme.titlebar_sticky_button_focus_active = theme.default_dir.."/titlebar/sticky_focus_active.png" +theme.titlebar_floating_button_normal_inactive = theme.default_dir.."/titlebar/floating_normal_inactive.png" +theme.titlebar_floating_button_focus_inactive = theme.default_dir.."/titlebar/floating_focus_inactive.png" +theme.titlebar_floating_button_normal_active = theme.default_dir.."/titlebar/floating_normal_active.png" +theme.titlebar_floating_button_focus_active = theme.default_dir.."/titlebar/floating_focus_active.png" +theme.titlebar_maximized_button_normal_inactive = theme.default_dir.."/titlebar/maximized_normal_inactive.png" +theme.titlebar_maximized_button_focus_inactive = theme.default_dir.."/titlebar/maximized_focus_inactive.png" +theme.titlebar_maximized_button_normal_active = theme.default_dir.."/titlebar/maximized_normal_active.png" +theme.titlebar_maximized_button_focus_active = theme.default_dir.."/titlebar/maximized_focus_active.png" + +theme.musicplr = string.format("%s -e ncmpcpp", awful.util.terminal) + +local markup = lain.util.markup +local blue = "#80CCE6" +local space3 = markup.font("Roboto 3", " ") + +-- Clock +local mytextclock = wibox.widget.textclock(markup("#FFFFFF", space3 .. "%H:%M " .. markup.font("Roboto 4", " "))) +mytextclock.font = theme.font +local clock_icon = wibox.widget.imagebox(theme.clock) +local clockbg = wibox.container.background(mytextclock, theme.bg_focus, gears.shape.rectangle) +local clockwidget = wibox.container.margin(clockbg, dpi(0), dpi(3), dpi(5), dpi(5)) + +-- Calendar +local mytextcalendar = wibox.widget.textclock(markup.fontfg(theme.font, "#FFFFFF", space3 .. "%d %b " .. markup.font("Roboto 5", " "))) +local calendar_icon = wibox.widget.imagebox(theme.calendar) +local calbg = wibox.container.background(mytextcalendar, theme.bg_focus, gears.shape.rectangle) +local calendarwidget = wibox.container.margin(calbg, dpi(0), dpi(0), dpi(5), dpi(5)) +theme.cal = lain.widget.cal({ + attach_to = { mytextclock, mytextcalendar }, + notification_preset = { + fg = "#FFFFFF", + bg = theme.bg_normal, + position = "bottom_right", + font = "Monospace 10" + } +}) + +-- Mail IMAP check +--[[ to be set before use +theme.mail = lain.widget.imap({ + timeout = 180, + server = "server", + mail = "mail", + password = "keyring get mail", + settings = function() + mail_notification_preset.fg = "#FFFFFF" + mail = "" + count = "" + + if mailcount > 0 then + mail = "Mail " + count = mailcount .. " " + end + + widget:set_markup(markup.font(theme.font, markup(blue, mail) .. markup("#FFFFFF", count))) + end +}) +--]] + +-- MPD +local mpd_icon = awful.widget.launcher({ image = theme.mpdl, command = theme.musicplr }) +local prev_icon = wibox.widget.imagebox(theme.prev) +local next_icon = wibox.widget.imagebox(theme.nex) +local stop_icon = wibox.widget.imagebox(theme.stop) +local pause_icon = wibox.widget.imagebox(theme.pause) +local play_pause_icon = wibox.widget.imagebox(theme.play) +theme.mpd = lain.widget.mpd({ + settings = function () + if mpd_now.state == "play" then + mpd_now.artist = mpd_now.artist:upper():gsub("&.-;", string.lower) + mpd_now.title = mpd_now.title:upper():gsub("&.-;", string.lower) + widget:set_markup(markup.font("Roboto 4", " ") + .. markup.font(theme.taglist_font, + " " .. mpd_now.artist + .. " - " .. + mpd_now.title .. " ") .. markup.font("Roboto 5", " ")) + play_pause_icon:set_image(theme.pause) + elseif mpd_now.state == "pause" then + widget:set_markup(markup.font("Roboto 4", " ") .. + markup.font(theme.taglist_font, " MPD PAUSED ") .. + markup.font("Roboto 5", " ")) + play_pause_icon:set_image(theme.play) + else + widget:set_markup("") + play_pause_icon:set_image(theme.play) + end + end +}) +local musicbg = wibox.container.background(theme.mpd.widget, theme.bg_focus, gears.shape.rectangle) +local musicwidget = wibox.container.margin(musicbg, dpi(0), dpi(0), dpi(5), dpi(5)) + +musicwidget:buttons(my_table.join(awful.button({ }, 1, +function () awful.spawn(theme.musicplr) end))) +prev_icon:buttons(my_table.join(awful.button({}, 1, +function () + os.execute("mpc prev") + theme.mpd.update() +end))) +next_icon:buttons(my_table.join(awful.button({}, 1, +function () + os.execute("mpc next") + theme.mpd.update() +end))) +stop_icon:buttons(my_table.join(awful.button({}, 1, +function () + play_pause_icon:set_image(theme.play) + os.execute("mpc stop") + theme.mpd.update() +end))) +play_pause_icon:buttons(my_table.join(awful.button({}, 1, +function () + os.execute("mpc toggle") + theme.mpd.update() +end))) + +-- Battery +local bat = lain.widget.bat({ + settings = function() + bat_header = " Bat " + bat_p = bat_now.perc .. " " + if bat_now.ac_status == 1 then + bat_p = bat_p .. "Plugged " + end + widget:set_markup(markup.font(theme.font, markup(blue, bat_header) .. bat_p)) + end +}) + +-- / fs +--[[ commented because it needs Gio/Glib >= 2.54 +theme.fs = lain.widget.fs({ + notification_preset = { bg = theme.bg_normal, font = "Monospace 9" }, +}) +--]] + +-- ALSA volume bar +theme.volume = lain.widget.alsabar({ + notification_preset = { font = "Monospace 9"}, + --togglechannel = "IEC958,3", + width = dpi(80), height = dpi(10), border_width = dpi(0), + colors = { + background = "#383838", + unmute = "#80CCE6", + mute = "#FF9F9F" + }, +}) +theme.volume.bar.paddings = dpi(0) +theme.volume.bar.margins = dpi(5) +local volumewidget = wibox.container.background(theme.volume.bar, theme.bg_focus, gears.shape.rectangle) +volumewidget = wibox.container.margin(volumewidget, dpi(0), dpi(0), dpi(5), dpi(5)) + +-- CPU +local cpu_icon = wibox.widget.imagebox(theme.cpu) +local cpu = lain.widget.cpu({ + settings = function() + widget:set_markup(space3 .. markup.font(theme.font, "CPU " .. cpu_now.usage + .. "% ") .. markup.font("Roboto 5", " ")) + end +}) +local cpubg = wibox.container.background(cpu.widget, theme.bg_focus, gears.shape.rectangle) +local cpuwidget = wibox.container.margin(cpubg, dpi(0), dpi(0), dpi(5), dpi(5)) + +-- Net +local netdown_icon = wibox.widget.imagebox(theme.net_down) +local netup_icon = wibox.widget.imagebox(theme.net_up) +local net = lain.widget.net({ + settings = function() + widget:set_markup(markup.font("Roboto 1", " ") .. markup.font(theme.font, net_now.received .. " - " + .. net_now.sent) .. markup.font("Roboto 2", " ")) + end +}) +local netbg = wibox.container.background(net.widget, theme.bg_focus, gears.shape.rectangle) +local networkwidget = wibox.container.margin(netbg, dpi(0), dpi(0), dpi(5), dpi(5)) + +-- Weather +--[[ to be set before use +theme.weather = lain.widget.weather({ + --APPID = + city_id = 2643743, -- placeholder (London) + notification_preset = { font = "Monospace 9", position = "bottom_right" }, +}) +--]] + +-- Launcher +local mylauncher = awful.widget.button({ image = theme.awesome_icon_launcher }) +mylauncher:connect_signal("button::press", function() awful.util.mymainmenu:toggle() end) + +-- Separators +local first = wibox.widget.textbox(' ') +local spr_small = wibox.widget.imagebox(theme.spr_small) +local spr_very_small = wibox.widget.imagebox(theme.spr_very_small) +local spr_right = wibox.widget.imagebox(theme.spr_right) +local spr_bottom_right = wibox.widget.imagebox(theme.spr_bottom_right) +local spr_left = wibox.widget.imagebox(theme.spr_left) +local bar = wibox.widget.imagebox(theme.bar) +local bottom_bar = wibox.widget.imagebox(theme.bottom_bar) + +local barcolor = gears.color({ + type = "linear", + from = { dpi(32), 0 }, + to = { dpi(32), dpi(32) }, + stops = { {0, theme.bg_focus}, {0.25, "#505050"}, {1, theme.bg_focus} } +}) + +function theme.at_screen_connect(s) + -- Quake application + s.quake = lain.util.quake({ app = awful.util.terminal }) + + -- If wallpaper is a function, call it with the screen + local wallpaper = theme.wallpaper + if type(wallpaper) == "function" then + wallpaper = wallpaper(s) + end + gears.wallpaper.maximized(wallpaper, s, true) + + -- Tags + awful.tag(awful.util.tagnames, s, awful.layout.layouts[1]) + + -- Create a promptbox for each screen + s.mypromptbox = awful.widget.prompt() + -- Create an imagebox widget which will contains an icon indicating which layout we're using. + -- We need one layoutbox per screen. + s.mylayoutbox = awful.widget.layoutbox(s) + s.mylayoutbox:buttons(my_table.join( + awful.button({}, 1, function () awful.layout.inc( 1) end), + awful.button({}, 2, function () awful.layout.set( awful.layout.layouts[1] ) end), + awful.button({}, 3, function () awful.layout.inc(-1) end), + awful.button({}, 4, function () awful.layout.inc( 1) end), + awful.button({}, 5, function () awful.layout.inc(-1) end))) + -- Create a taglist widget + s.mytaglist = awful.widget.taglist(s, awful.widget.taglist.filter.all, awful.util.taglist_buttons, { bg_focus = barcolor }) + + mytaglistcont = wibox.container.background(s.mytaglist, theme.bg_focus, gears.shape.rectangle) + s.mytag = wibox.container.margin(mytaglistcont, dpi(0), dpi(0), dpi(5), dpi(5)) + + -- Create a tasklist widget + s.mytasklist = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, awful.util.tasklist_buttons, { bg_focus = theme.bg_focus, shape = gears.shape.rectangle, shape_border_width = 5, shape_border_color = theme.tasklist_bg_normal, align = "center" }) + + -- Create the wibox + s.mywibox = awful.wibar({ position = "top", screen = s, height = dpi(32) }) + + -- Add widgets to the wibox + s.mywibox:setup { + layout = wibox.layout.align.horizontal, + { -- Left widgets + layout = wibox.layout.fixed.horizontal, + first, + s.mytag, + spr_small, + s.mylayoutbox, + spr_small, + s.mypromptbox, + }, + nil, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + wibox.widget.systray(), + --theme.mail.widget, + --bat.widget, + spr_right, + musicwidget, + bar, + prev_icon, + next_icon, + stop_icon, + play_pause_icon, + bar, + mpd_icon, + bar, + spr_very_small, + volumewidget, + spr_left, + }, + } + + -- Create the bottom wibox + s.mybottomwibox = awful.wibar({ position = "bottom", screen = s, border_width = dpi(0), height = dpi(32) }) + s.borderwibox = awful.wibar({ position = "bottom", screen = s, height = dpi(1), bg = theme.fg_focus, x = dpi(0), y = dpi(33)}) + + -- Add widgets to the bottom wibox + s.mybottomwibox:setup { + layout = wibox.layout.align.horizontal, + { -- Left widgets + layout = wibox.layout.fixed.horizontal, + mylauncher, + }, + s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + spr_bottom_right, + netdown_icon, + networkwidget, + netup_icon, + bottom_bar, + cpu_icon, + cpuwidget, + bottom_bar, + calendar_icon, + calendarwidget, + bottom_bar, + clock_icon, + clockwidget, + }, + } +end + +return theme diff --git a/.config/awesome/themes/holo/wall.png b/.config/awesome/themes/holo/wall.png new file mode 100755 index 0000000..7ec8009 Binary files /dev/null and b/.config/awesome/themes/holo/wall.png differ diff --git a/.config/awesome/Hi_Fi_Girl_Remix_by_cycloidbeta.jpg b/.config/awesome/themes/jlj/backgrounds/Hi_Fi_Girl_Remix_by_cycloidbeta.jpg similarity index 100% rename from .config/awesome/Hi_Fi_Girl_Remix_by_cycloidbeta.jpg rename to .config/awesome/themes/jlj/backgrounds/Hi_Fi_Girl_Remix_by_cycloidbeta.jpg diff --git a/.config/awesome/weeb-shit-2.jpg b/.config/awesome/themes/jlj/backgrounds/weeb-shit-2.jpg similarity index 100% rename from .config/awesome/weeb-shit-2.jpg rename to .config/awesome/themes/jlj/backgrounds/weeb-shit-2.jpg diff --git a/.config/awesome/demomode.png b/.config/awesome/themes/jlj/icons/demomode.png similarity index 100% rename from .config/awesome/demomode.png rename to .config/awesome/themes/jlj/icons/demomode.png diff --git a/.config/awesome/gamemode.png b/.config/awesome/themes/jlj/icons/gamemode.png similarity index 100% rename from .config/awesome/gamemode.png rename to .config/awesome/themes/jlj/icons/gamemode.png diff --git a/.config/awesome/tiny-purple-bat.png b/.config/awesome/themes/jlj/icons/tiny-purple-bat.png similarity index 100% rename from .config/awesome/tiny-purple-bat.png rename to .config/awesome/themes/jlj/icons/tiny-purple-bat.png diff --git a/.config/awesome/jlj-theme.lua b/.config/awesome/themes/jlj/jlj-theme.lua similarity index 98% rename from .config/awesome/jlj-theme.lua rename to .config/awesome/themes/jlj/jlj-theme.lua index 8be9889..bab29fe 100644 --- a/.config/awesome/jlj-theme.lua +++ b/.config/awesome/themes/jlj/jlj-theme.lua @@ -107,7 +107,7 @@ theme.titlebar_maximized_button_focus_active = themes_path.."default/titlebar/m -- i edited this thing theme.wallpaper = "~/network-share/sainthood/homes/josiah/Photos/backgrounds/convenience store [3840x2160].png" -theme.awesome_icon = "~/.config/awesome/tiny-purple-bat.png" +theme.awesome_icon = "~/.config/awesome/themes/jlj/icons/tiny-purple-bat.png" -- You can use your own layout icons like this: theme.layout_fairh = themes_path.."default/layouts/fairhw.png" diff --git a/.config/awesome/themes/multicolor/icons/ac.png b/.config/awesome/themes/multicolor/icons/ac.png new file mode 100755 index 0000000..272b832 Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/ac.png differ diff --git a/.config/awesome/themes/multicolor/icons/bat.png b/.config/awesome/themes/multicolor/icons/bat.png new file mode 100755 index 0000000..bd63927 Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/bat.png differ diff --git a/.config/awesome/themes/multicolor/icons/clock.png b/.config/awesome/themes/multicolor/icons/clock.png new file mode 100755 index 0000000..22aef71 Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/clock.png differ diff --git a/.config/awesome/themes/multicolor/icons/cpu.png b/.config/awesome/themes/multicolor/icons/cpu.png new file mode 100755 index 0000000..e3794ca Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/cpu.png differ diff --git a/.config/awesome/themes/multicolor/icons/dish.png b/.config/awesome/themes/multicolor/icons/dish.png new file mode 100755 index 0000000..c71499b Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/dish.png differ diff --git a/.config/awesome/themes/multicolor/icons/dwindle.png b/.config/awesome/themes/multicolor/icons/dwindle.png new file mode 100755 index 0000000..94d8382 Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/dwindle.png differ diff --git a/.config/awesome/themes/multicolor/icons/fairh.png b/.config/awesome/themes/multicolor/icons/fairh.png new file mode 100755 index 0000000..4468efc Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/fairh.png differ diff --git a/.config/awesome/themes/multicolor/icons/fairv.png b/.config/awesome/themes/multicolor/icons/fairv.png new file mode 100755 index 0000000..7c8728e Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/fairv.png differ diff --git a/.config/awesome/themes/multicolor/icons/floating.png b/.config/awesome/themes/multicolor/icons/floating.png new file mode 100755 index 0000000..7593a2a Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/floating.png differ diff --git a/.config/awesome/themes/multicolor/icons/fs.png b/.config/awesome/themes/multicolor/icons/fs.png new file mode 100755 index 0000000..1c1b13e Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/fs.png differ diff --git a/.config/awesome/themes/multicolor/icons/fullscreen.png b/.config/awesome/themes/multicolor/icons/fullscreen.png new file mode 100755 index 0000000..f63a69c Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/fullscreen.png differ diff --git a/.config/awesome/themes/multicolor/icons/magnifier.png b/.config/awesome/themes/multicolor/icons/magnifier.png new file mode 100755 index 0000000..8819554 Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/magnifier.png differ diff --git a/.config/awesome/themes/multicolor/icons/mail.png b/.config/awesome/themes/multicolor/icons/mail.png new file mode 100755 index 0000000..25021f5 Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/mail.png differ diff --git a/.config/awesome/themes/multicolor/icons/max.png b/.config/awesome/themes/multicolor/icons/max.png new file mode 100755 index 0000000..4b6a8c3 Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/max.png differ diff --git a/.config/awesome/themes/multicolor/icons/mem.png b/.config/awesome/themes/multicolor/icons/mem.png new file mode 100755 index 0000000..d04ee11 Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/mem.png differ diff --git a/.config/awesome/themes/multicolor/icons/net_down.png b/.config/awesome/themes/multicolor/icons/net_down.png new file mode 100755 index 0000000..09433b1 Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/net_down.png differ diff --git a/.config/awesome/themes/multicolor/icons/net_up.png b/.config/awesome/themes/multicolor/icons/net_up.png new file mode 100755 index 0000000..395d014 Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/net_up.png differ diff --git a/.config/awesome/themes/multicolor/icons/note.png b/.config/awesome/themes/multicolor/icons/note.png new file mode 100755 index 0000000..2f41eb3 Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/note.png differ diff --git a/.config/awesome/themes/multicolor/icons/note_on.png b/.config/awesome/themes/multicolor/icons/note_on.png new file mode 100755 index 0000000..264d2c8 Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/note_on.png differ diff --git a/.config/awesome/themes/multicolor/icons/spiral.png b/.config/awesome/themes/multicolor/icons/spiral.png new file mode 100755 index 0000000..6a1ebf1 Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/spiral.png differ diff --git a/.config/awesome/themes/multicolor/icons/spkr.png b/.config/awesome/themes/multicolor/icons/spkr.png new file mode 100755 index 0000000..80c20b0 Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/spkr.png differ diff --git a/.config/awesome/themes/multicolor/icons/square_a.png b/.config/awesome/themes/multicolor/icons/square_a.png new file mode 100755 index 0000000..1774d95 Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/square_a.png differ diff --git a/.config/awesome/themes/multicolor/icons/square_b.png b/.config/awesome/themes/multicolor/icons/square_b.png new file mode 100755 index 0000000..b47e9f3 Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/square_b.png differ diff --git a/.config/awesome/themes/multicolor/icons/submenu.png b/.config/awesome/themes/multicolor/icons/submenu.png new file mode 100755 index 0000000..7c81cab Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/submenu.png differ diff --git a/.config/awesome/themes/multicolor/icons/temp.png b/.config/awesome/themes/multicolor/icons/temp.png new file mode 100755 index 0000000..6c8f8bd Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/temp.png differ diff --git a/.config/awesome/themes/multicolor/icons/tile.png b/.config/awesome/themes/multicolor/icons/tile.png new file mode 100755 index 0000000..64103d9 Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/tile.png differ diff --git a/.config/awesome/themes/multicolor/icons/tilebottom.png b/.config/awesome/themes/multicolor/icons/tilebottom.png new file mode 100755 index 0000000..9363636 Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/tilebottom.png differ diff --git a/.config/awesome/themes/multicolor/icons/tileleft.png b/.config/awesome/themes/multicolor/icons/tileleft.png new file mode 100755 index 0000000..9331898 Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/tileleft.png differ diff --git a/.config/awesome/themes/multicolor/icons/tiletop.png b/.config/awesome/themes/multicolor/icons/tiletop.png new file mode 100755 index 0000000..1cef886 Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/tiletop.png differ diff --git a/.config/awesome/themes/multicolor/icons/titlebar/close_focus.png b/.config/awesome/themes/multicolor/icons/titlebar/close_focus.png new file mode 100755 index 0000000..cd297db Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/titlebar/close_focus.png differ diff --git a/.config/awesome/themes/multicolor/icons/titlebar/close_normal.png b/.config/awesome/themes/multicolor/icons/titlebar/close_normal.png new file mode 100755 index 0000000..5448ed8 Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/titlebar/close_normal.png differ diff --git a/.config/awesome/themes/multicolor/icons/titlebar/floating_focus_active.png b/.config/awesome/themes/multicolor/icons/titlebar/floating_focus_active.png new file mode 100755 index 0000000..ae5a8e2 Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/titlebar/floating_focus_active.png differ diff --git a/.config/awesome/themes/multicolor/icons/titlebar/floating_focus_inactive.png b/.config/awesome/themes/multicolor/icons/titlebar/floating_focus_inactive.png new file mode 100755 index 0000000..c54eb0c Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/titlebar/floating_focus_inactive.png differ diff --git a/.config/awesome/themes/multicolor/icons/titlebar/floating_normal_active.png b/.config/awesome/themes/multicolor/icons/titlebar/floating_normal_active.png new file mode 100755 index 0000000..62342d1 Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/titlebar/floating_normal_active.png differ diff --git a/.config/awesome/themes/multicolor/icons/titlebar/floating_normal_inactive.png b/.config/awesome/themes/multicolor/icons/titlebar/floating_normal_inactive.png new file mode 100755 index 0000000..e2bbdfa Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/titlebar/floating_normal_inactive.png differ diff --git a/.config/awesome/themes/multicolor/icons/titlebar/maximized_focus_active.png b/.config/awesome/themes/multicolor/icons/titlebar/maximized_focus_active.png new file mode 100755 index 0000000..957298b Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/titlebar/maximized_focus_active.png differ diff --git a/.config/awesome/themes/multicolor/icons/titlebar/maximized_focus_inactive.png b/.config/awesome/themes/multicolor/icons/titlebar/maximized_focus_inactive.png new file mode 100755 index 0000000..1187229 Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/titlebar/maximized_focus_inactive.png differ diff --git a/.config/awesome/themes/multicolor/icons/titlebar/maximized_normal_active.png b/.config/awesome/themes/multicolor/icons/titlebar/maximized_normal_active.png new file mode 100755 index 0000000..a705f81 Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/titlebar/maximized_normal_active.png differ diff --git a/.config/awesome/themes/multicolor/icons/titlebar/maximized_normal_inactive.png b/.config/awesome/themes/multicolor/icons/titlebar/maximized_normal_inactive.png new file mode 100755 index 0000000..4c1ab1f Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/titlebar/maximized_normal_inactive.png differ diff --git a/.config/awesome/themes/multicolor/icons/titlebar/minimize_focus.png b/.config/awesome/themes/multicolor/icons/titlebar/minimize_focus.png new file mode 100755 index 0000000..bbe8cff Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/titlebar/minimize_focus.png differ diff --git a/.config/awesome/themes/multicolor/icons/titlebar/minimize_normal.png b/.config/awesome/themes/multicolor/icons/titlebar/minimize_normal.png new file mode 100755 index 0000000..36621d0 Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/titlebar/minimize_normal.png differ diff --git a/.config/awesome/themes/multicolor/icons/titlebar/ontop_focus_active.png b/.config/awesome/themes/multicolor/icons/titlebar/ontop_focus_active.png new file mode 100755 index 0000000..25a3080 Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/titlebar/ontop_focus_active.png differ diff --git a/.config/awesome/themes/multicolor/icons/titlebar/ontop_focus_inactive.png b/.config/awesome/themes/multicolor/icons/titlebar/ontop_focus_inactive.png new file mode 100755 index 0000000..d3c077a Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/titlebar/ontop_focus_inactive.png differ diff --git a/.config/awesome/themes/multicolor/icons/titlebar/ontop_normal_active.png b/.config/awesome/themes/multicolor/icons/titlebar/ontop_normal_active.png new file mode 100755 index 0000000..117a203 Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/titlebar/ontop_normal_active.png differ diff --git a/.config/awesome/themes/multicolor/icons/titlebar/ontop_normal_inactive.png b/.config/awesome/themes/multicolor/icons/titlebar/ontop_normal_inactive.png new file mode 100755 index 0000000..d3a10c8 Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/titlebar/ontop_normal_inactive.png differ diff --git a/.config/awesome/themes/multicolor/icons/titlebar/sticky_focus_active.png b/.config/awesome/themes/multicolor/icons/titlebar/sticky_focus_active.png new file mode 100755 index 0000000..147ce6a Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/titlebar/sticky_focus_active.png differ diff --git a/.config/awesome/themes/multicolor/icons/titlebar/sticky_focus_inactive.png b/.config/awesome/themes/multicolor/icons/titlebar/sticky_focus_inactive.png new file mode 100755 index 0000000..396628a Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/titlebar/sticky_focus_inactive.png differ diff --git a/.config/awesome/themes/multicolor/icons/titlebar/sticky_normal_active.png b/.config/awesome/themes/multicolor/icons/titlebar/sticky_normal_active.png new file mode 100755 index 0000000..bdb5595 Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/titlebar/sticky_normal_active.png differ diff --git a/.config/awesome/themes/multicolor/icons/titlebar/sticky_normal_inactive.png b/.config/awesome/themes/multicolor/icons/titlebar/sticky_normal_inactive.png new file mode 100755 index 0000000..a96b9b1 Binary files /dev/null and b/.config/awesome/themes/multicolor/icons/titlebar/sticky_normal_inactive.png differ diff --git a/.config/awesome/themes/multicolor/theme.lua b/.config/awesome/themes/multicolor/theme.lua new file mode 100644 index 0000000..f7d62b5 --- /dev/null +++ b/.config/awesome/themes/multicolor/theme.lua @@ -0,0 +1,350 @@ +--[[ + + Multicolor Awesome WM theme 2.0 + github.com/lcpz + +--]] + +local gears = require("gears") +local lain = require("lain") +local awful = require("awful") +local wibox = require("wibox") +local dpi = require("beautiful.xresources").apply_dpi + +local os = os +local my_table = awful.util.table or gears.table -- 4.{0,1} compatibility + +local theme = {} +theme.confdir = os.getenv("HOME") .. "/.config/awesome/themes/multicolor" +theme.wallpaper = theme.confdir .. "/wall.png" +theme.font = "Terminus 8" +theme.menu_bg_normal = "#000000" +theme.menu_bg_focus = "#000000" +theme.bg_normal = "#000000" +theme.bg_focus = "#000000" +theme.bg_urgent = "#000000" +theme.fg_normal = "#aaaaaa" +theme.fg_focus = "#ff8c00" +theme.fg_urgent = "#af1d18" +theme.fg_minimize = "#ffffff" +theme.border_width = dpi(1) +theme.border_normal = "#1c2022" +theme.border_focus = "#606060" +theme.border_marked = "#3ca4d8" +theme.menu_border_width = 0 +theme.menu_width = dpi(130) +theme.menu_submenu_icon = theme.confdir .. "/icons/submenu.png" +theme.menu_fg_normal = "#aaaaaa" +theme.menu_fg_focus = "#ff8c00" +theme.menu_bg_normal = "#050505dd" +theme.menu_bg_focus = "#050505dd" +theme.widget_temp = theme.confdir .. "/icons/temp.png" +theme.widget_uptime = theme.confdir .. "/icons/ac.png" +theme.widget_cpu = theme.confdir .. "/icons/cpu.png" +theme.widget_weather = theme.confdir .. "/icons/dish.png" +theme.widget_fs = theme.confdir .. "/icons/fs.png" +theme.widget_mem = theme.confdir .. "/icons/mem.png" +theme.widget_note = theme.confdir .. "/icons/note.png" +theme.widget_note_on = theme.confdir .. "/icons/note_on.png" +theme.widget_netdown = theme.confdir .. "/icons/net_down.png" +theme.widget_netup = theme.confdir .. "/icons/net_up.png" +theme.widget_mail = theme.confdir .. "/icons/mail.png" +theme.widget_batt = theme.confdir .. "/icons/bat.png" +theme.widget_clock = theme.confdir .. "/icons/clock.png" +theme.widget_vol = theme.confdir .. "/icons/spkr.png" +theme.taglist_squares_sel = theme.confdir .. "/icons/square_a.png" +theme.taglist_squares_unsel = theme.confdir .. "/icons/square_b.png" +theme.tasklist_plain_task_name = true +theme.tasklist_disable_icon = true +theme.useless_gap = 0 +theme.layout_tile = theme.confdir .. "/icons/tile.png" +theme.layout_tilegaps = theme.confdir .. "/icons/tilegaps.png" +theme.layout_tileleft = theme.confdir .. "/icons/tileleft.png" +theme.layout_tilebottom = theme.confdir .. "/icons/tilebottom.png" +theme.layout_tiletop = theme.confdir .. "/icons/tiletop.png" +theme.layout_fairv = theme.confdir .. "/icons/fairv.png" +theme.layout_fairh = theme.confdir .. "/icons/fairh.png" +theme.layout_spiral = theme.confdir .. "/icons/spiral.png" +theme.layout_dwindle = theme.confdir .. "/icons/dwindle.png" +theme.layout_max = theme.confdir .. "/icons/max.png" +theme.layout_fullscreen = theme.confdir .. "/icons/fullscreen.png" +theme.layout_magnifier = theme.confdir .. "/icons/magnifier.png" +theme.layout_floating = theme.confdir .. "/icons/floating.png" +theme.titlebar_close_button_normal = theme.confdir .. "/icons/titlebar/close_normal.png" +theme.titlebar_close_button_focus = theme.confdir .. "/icons/titlebar/close_focus.png" +theme.titlebar_minimize_button_normal = theme.confdir .. "/icons/titlebar/minimize_normal.png" +theme.titlebar_minimize_button_focus = theme.confdir .. "/icons/titlebar/minimize_focus.png" +theme.titlebar_ontop_button_normal_inactive = theme.confdir .. "/icons/titlebar/ontop_normal_inactive.png" +theme.titlebar_ontop_button_focus_inactive = theme.confdir .. "/icons/titlebar/ontop_focus_inactive.png" +theme.titlebar_ontop_button_normal_active = theme.confdir .. "/icons/titlebar/ontop_normal_active.png" +theme.titlebar_ontop_button_focus_active = theme.confdir .. "/icons/titlebar/ontop_focus_active.png" +theme.titlebar_sticky_button_normal_inactive = theme.confdir .. "/icons/titlebar/sticky_normal_inactive.png" +theme.titlebar_sticky_button_focus_inactive = theme.confdir .. "/icons/titlebar/sticky_focus_inactive.png" +theme.titlebar_sticky_button_normal_active = theme.confdir .. "/icons/titlebar/sticky_normal_active.png" +theme.titlebar_sticky_button_focus_active = theme.confdir .. "/icons/titlebar/sticky_focus_active.png" +theme.titlebar_floating_button_normal_inactive = theme.confdir .. "/icons/titlebar/floating_normal_inactive.png" +theme.titlebar_floating_button_focus_inactive = theme.confdir .. "/icons/titlebar/floating_focus_inactive.png" +theme.titlebar_floating_button_normal_active = theme.confdir .. "/icons/titlebar/floating_normal_active.png" +theme.titlebar_floating_button_focus_active = theme.confdir .. "/icons/titlebar/floating_focus_active.png" +theme.titlebar_maximized_button_normal_inactive = theme.confdir .. "/icons/titlebar/maximized_normal_inactive.png" +theme.titlebar_maximized_button_focus_inactive = theme.confdir .. "/icons/titlebar/maximized_focus_inactive.png" +theme.titlebar_maximized_button_normal_active = theme.confdir .. "/icons/titlebar/maximized_normal_active.png" +theme.titlebar_maximized_button_focus_active = theme.confdir .. "/icons/titlebar/maximized_focus_active.png" + +local markup = lain.util.markup + +-- Textclock +os.setlocale(os.getenv("LANG")) -- to localize the clock +local clockicon = wibox.widget.imagebox(theme.widget_clock) +local mytextclock = wibox.widget.textclock(markup("#7788af", "%A %d %B ") .. markup("#ab7367", ">") .. markup("#de5e1e", " %H:%M ")) +mytextclock.font = theme.font + +-- Calendar +theme.cal = lain.widget.cal({ + attach_to = { mytextclock }, + notification_preset = { + font = "Terminus 10", + fg = theme.fg_normal, + bg = theme.bg_normal + } +}) + +-- Weather +--[[ to be set before use +local weathericon = wibox.widget.imagebox(theme.widget_weather) +theme.weather = lain.widget.weather({ + city_id = 2643743, -- placeholder (London) + notification_preset = { font = "Terminus 10", fg = theme.fg_normal }, + weather_na_markup = markup.fontfg(theme.font, "#eca4c4", "N/A "), + settings = function() + descr = weather_now["weather"][1]["description"]:lower() + units = math.floor(weather_now["main"]["temp"]) + widget:set_markup(markup.fontfg(theme.font, "#eca4c4", descr .. " @ " .. units .. "°C ")) + end +}) +--]] + +-- / fs +--[[ commented because it needs Gio/Glib >= 2.54 +local fsicon = wibox.widget.imagebox(theme.widget_fs) +theme.fs = lain.widget.fs({ + notification_preset = { font = "Terminus 10", fg = theme.fg_normal }, + settings = function() + widget:set_markup(markup.fontfg(theme.font, "#80d9d8", string.format("%.1f", fs_now["/"].percentage) .. "% ")) + end +}) +--]] + +-- Mail IMAP check +--[[ to be set before use +local mailicon = wibox.widget.imagebox() +theme.mail = lain.widget.imap({ + timeout = 180, + server = "server", + mail = "mail", + password = "keyring get mail", + settings = function() + if mailcount > 0 then + mailicon:set_image(theme.widget_mail) + widget:set_markup(markup.fontfg(theme.font, "#cccccc", mailcount .. " ")) + else + widget:set_text("") + --mailicon:set_image() -- not working in 4.0 + mailicon._private.image = nil + mailicon:emit_signal("widget::redraw_needed") + mailicon:emit_signal("widget::layout_changed") + end + end +}) +--]] + +-- CPU +local cpuicon = wibox.widget.imagebox(theme.widget_cpu) +local cpu = lain.widget.cpu({ + settings = function() + widget:set_markup(markup.fontfg(theme.font, "#e33a6e", cpu_now.usage .. "% ")) + end +}) + +-- Coretemp +local tempicon = wibox.widget.imagebox(theme.widget_temp) +local temp = lain.widget.temp({ + settings = function() + widget:set_markup(markup.fontfg(theme.font, "#f1af5f", coretemp_now .. "°C ")) + end +}) + +-- Battery +local baticon = wibox.widget.imagebox(theme.widget_batt) +local bat = lain.widget.bat({ + settings = function() + local perc = bat_now.perc ~= "N/A" and bat_now.perc .. "%" or bat_now.perc + + if bat_now.ac_status == 1 then + perc = perc .. " plug" + end + + widget:set_markup(markup.fontfg(theme.font, theme.fg_normal, perc .. " ")) + end +}) + +-- ALSA volume +local volicon = wibox.widget.imagebox(theme.widget_vol) +theme.volume = lain.widget.alsa({ + settings = function() + if volume_now.status == "off" then + volume_now.level = volume_now.level .. "M" + end + + widget:set_markup(markup.fontfg(theme.font, "#7493d2", volume_now.level .. "% ")) + end +}) + +-- Net +local netdownicon = wibox.widget.imagebox(theme.widget_netdown) +local netdowninfo = wibox.widget.textbox() +local netupicon = wibox.widget.imagebox(theme.widget_netup) +local netupinfo = lain.widget.net({ + settings = function() + --[[ uncomment if using the weather widget + if iface ~= "network off" and + string.match(theme.weather.widget.text, "N/A") + then + theme.weather.update() + end + --]] + + widget:set_markup(markup.fontfg(theme.font, "#e54c62", net_now.sent .. " ")) + netdowninfo:set_markup(markup.fontfg(theme.font, "#87af5f", net_now.received .. " ")) + end +}) + +-- MEM +local memicon = wibox.widget.imagebox(theme.widget_mem) +local memory = lain.widget.mem({ + settings = function() + widget:set_markup(markup.fontfg(theme.font, "#e0da37", mem_now.used .. "M ")) + end +}) + +-- MPD +local mpdicon = wibox.widget.imagebox() +theme.mpd = lain.widget.mpd({ + settings = function() + mpd_notification_preset = { + text = string.format("%s [%s] - %s\n%s", mpd_now.artist, + mpd_now.album, mpd_now.date, mpd_now.title) + } + + if mpd_now.state == "play" then + artist = mpd_now.artist .. " > " + title = mpd_now.title .. " " + mpdicon:set_image(theme.widget_note_on) + elseif mpd_now.state == "pause" then + artist = "mpd " + title = "paused " + else + artist = "" + title = "" + --mpdicon:set_image() -- not working in 4.0 + mpdicon._private.image = nil + mpdicon:emit_signal("widget::redraw_needed") + mpdicon:emit_signal("widget::layout_changed") + end + widget:set_markup(markup.fontfg(theme.font, "#e54c62", artist) .. markup.fontfg(theme.font, "#b2b2b2", title)) + end +}) + +function theme.at_screen_connect(s) + -- Quake application + s.quake = lain.util.quake({ app = awful.util.terminal }) + + -- If wallpaper is a function, call it with the screen + local wallpaper = theme.wallpaper + if type(wallpaper) == "function" then + wallpaper = wallpaper(s) + end + gears.wallpaper.maximized(wallpaper, s, true) + + -- Tags + awful.tag(awful.util.tagnames, s, awful.layout.layouts[1]) + + -- Create a promptbox for each screen + s.mypromptbox = awful.widget.prompt() + -- Create an imagebox widget which will contains an icon indicating which layout we're using. + -- We need one layoutbox per screen. + s.mylayoutbox = awful.widget.layoutbox(s) + s.mylayoutbox:buttons(my_table.join( + awful.button({}, 1, function () awful.layout.inc( 1) end), + awful.button({}, 2, function () awful.layout.set( awful.layout.layouts[1] ) end), + awful.button({}, 3, function () awful.layout.inc(-1) end), + awful.button({}, 4, function () awful.layout.inc( 1) end), + awful.button({}, 5, function () awful.layout.inc(-1) end))) + -- Create a taglist widget + s.mytaglist = awful.widget.taglist(s, awful.widget.taglist.filter.all, awful.util.taglist_buttons) + + -- Create a tasklist widget + s.mytasklist = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, awful.util.tasklist_buttons) + + -- Create the wibox + s.mywibox = awful.wibar({ position = "top", screen = s, height = dpi(19), bg = theme.bg_normal, fg = theme.fg_normal }) + + -- Add widgets to the wibox + s.mywibox:setup { + layout = wibox.layout.align.horizontal, + { -- Left widgets + layout = wibox.layout.fixed.horizontal, + --s.mylayoutbox, + s.mytaglist, + s.mypromptbox, + mpdicon, + theme.mpd.widget, + }, + --s.mytasklist, -- Middle widget + nil, + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + wibox.widget.systray(), + --mailicon, + --theme.mail.widget, + netdownicon, + netdowninfo, + netupicon, + netupinfo.widget, + volicon, + theme.volume.widget, + memicon, + memory.widget, + cpuicon, + cpu.widget, + --fsicon, + --theme.fs.widget, + --weathericon, + --theme.weather.widget, + tempicon, + temp.widget, + baticon, + bat.widget, + clockicon, + mytextclock, + }, + } + + -- Create the bottom wibox + s.mybottomwibox = awful.wibar({ position = "bottom", screen = s, border_width = 0, height = dpi(20), bg = theme.bg_normal, fg = theme.fg_normal }) + + -- Add widgets to the bottom wibox + s.mybottomwibox:setup { + layout = wibox.layout.align.horizontal, + { -- Left widgets + layout = wibox.layout.fixed.horizontal, + }, + s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + s.mylayoutbox, + }, + } +end + +return theme diff --git a/.config/awesome/themes/multicolor/wall.png b/.config/awesome/themes/multicolor/wall.png new file mode 100755 index 0000000..a3188d0 Binary files /dev/null and b/.config/awesome/themes/multicolor/wall.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/ac.png b/.config/awesome/themes/powerarrow-dark/icons/ac.png new file mode 100755 index 0000000..96efcb4 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/ac.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/battery.png b/.config/awesome/themes/powerarrow-dark/icons/battery.png new file mode 100755 index 0000000..8c85596 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/battery.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/battery_empty.png b/.config/awesome/themes/powerarrow-dark/icons/battery_empty.png new file mode 100755 index 0000000..00821c9 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/battery_empty.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/battery_low.png b/.config/awesome/themes/powerarrow-dark/icons/battery_low.png new file mode 100755 index 0000000..29f3fc5 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/battery_low.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/centerfair.png b/.config/awesome/themes/powerarrow-dark/icons/centerfair.png new file mode 100755 index 0000000..c4f64b0 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/centerfair.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/centerwork.png b/.config/awesome/themes/powerarrow-dark/icons/centerwork.png new file mode 100755 index 0000000..9071516 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/centerwork.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/centerworkh.png b/.config/awesome/themes/powerarrow-dark/icons/centerworkh.png new file mode 100755 index 0000000..b1d1379 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/centerworkh.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/cpu.png b/.config/awesome/themes/powerarrow-dark/icons/cpu.png new file mode 100755 index 0000000..35af1c3 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/cpu.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/dwindle.png b/.config/awesome/themes/powerarrow-dark/icons/dwindle.png new file mode 100755 index 0000000..649ea99 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/dwindle.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/fairh.png b/.config/awesome/themes/powerarrow-dark/icons/fairh.png new file mode 100755 index 0000000..62d3d99 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/fairh.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/fairv.png b/.config/awesome/themes/powerarrow-dark/icons/fairv.png new file mode 100755 index 0000000..131dd0f Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/fairv.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/floating.png b/.config/awesome/themes/powerarrow-dark/icons/floating.png new file mode 100755 index 0000000..d25c47b Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/floating.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/hdd.png b/.config/awesome/themes/powerarrow-dark/icons/hdd.png new file mode 100755 index 0000000..0fb6833 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/hdd.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/magnifier.png b/.config/awesome/themes/powerarrow-dark/icons/magnifier.png new file mode 100755 index 0000000..60d3e0d Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/magnifier.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/mail.png b/.config/awesome/themes/powerarrow-dark/icons/mail.png new file mode 100755 index 0000000..474e602 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/mail.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/mail_on.png b/.config/awesome/themes/powerarrow-dark/icons/mail_on.png new file mode 100755 index 0000000..19106d7 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/mail_on.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/max.png b/.config/awesome/themes/powerarrow-dark/icons/max.png new file mode 100755 index 0000000..5b0a5b7 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/max.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/mem.png b/.config/awesome/themes/powerarrow-dark/icons/mem.png new file mode 100755 index 0000000..7860a1a Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/mem.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/net.png b/.config/awesome/themes/powerarrow-dark/icons/net.png new file mode 100755 index 0000000..bc42fdc Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/net.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/net_wired.png b/.config/awesome/themes/powerarrow-dark/icons/net_wired.png new file mode 100755 index 0000000..e8cc2bd Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/net_wired.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/note.png b/.config/awesome/themes/powerarrow-dark/icons/note.png new file mode 100755 index 0000000..baa29c3 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/note.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/note_on.png b/.config/awesome/themes/powerarrow-dark/icons/note_on.png new file mode 100755 index 0000000..1a7ab94 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/note_on.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/scissors.png b/.config/awesome/themes/powerarrow-dark/icons/scissors.png new file mode 100755 index 0000000..f8c700d Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/scissors.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/spiral.png b/.config/awesome/themes/powerarrow-dark/icons/spiral.png new file mode 100755 index 0000000..d9ee0f6 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/spiral.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/square_sel.png b/.config/awesome/themes/powerarrow-dark/icons/square_sel.png new file mode 100755 index 0000000..1102a9f Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/square_sel.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/square_unsel.png b/.config/awesome/themes/powerarrow-dark/icons/square_unsel.png new file mode 100755 index 0000000..7386b85 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/square_unsel.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/submenu.png b/.config/awesome/themes/powerarrow-dark/icons/submenu.png new file mode 100755 index 0000000..b55ebce Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/submenu.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/task.png b/.config/awesome/themes/powerarrow-dark/icons/task.png new file mode 100755 index 0000000..9701b68 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/task.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/temp.png b/.config/awesome/themes/powerarrow-dark/icons/temp.png new file mode 100755 index 0000000..6793a9f Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/temp.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/termfair.png b/.config/awesome/themes/powerarrow-dark/icons/termfair.png new file mode 100755 index 0000000..3e06023 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/termfair.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/tile.png b/.config/awesome/themes/powerarrow-dark/icons/tile.png new file mode 100755 index 0000000..922c05c Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/tile.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/tilebottom.png b/.config/awesome/themes/powerarrow-dark/icons/tilebottom.png new file mode 100755 index 0000000..6ec9cb8 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/tilebottom.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/tileleft.png b/.config/awesome/themes/powerarrow-dark/icons/tileleft.png new file mode 100755 index 0000000..8e3d2d6 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/tileleft.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/tiletop.png b/.config/awesome/themes/powerarrow-dark/icons/tiletop.png new file mode 100755 index 0000000..3da75a1 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/tiletop.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/titlebar/close_focus.png b/.config/awesome/themes/powerarrow-dark/icons/titlebar/close_focus.png new file mode 100755 index 0000000..b2051b0 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/titlebar/close_focus.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/titlebar/close_normal.png b/.config/awesome/themes/powerarrow-dark/icons/titlebar/close_normal.png new file mode 100755 index 0000000..da6028c Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/titlebar/close_normal.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/titlebar/floating_focus_active.png b/.config/awesome/themes/powerarrow-dark/icons/titlebar/floating_focus_active.png new file mode 100755 index 0000000..5fe84c0 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/titlebar/floating_focus_active.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/titlebar/floating_focus_inactive.png b/.config/awesome/themes/powerarrow-dark/icons/titlebar/floating_focus_inactive.png new file mode 100755 index 0000000..47f19f6 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/titlebar/floating_focus_inactive.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/titlebar/floating_normal_active.png b/.config/awesome/themes/powerarrow-dark/icons/titlebar/floating_normal_active.png new file mode 100755 index 0000000..576fa36 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/titlebar/floating_normal_active.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/titlebar/floating_normal_inactive.png b/.config/awesome/themes/powerarrow-dark/icons/titlebar/floating_normal_inactive.png new file mode 100755 index 0000000..4adc5e9 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/titlebar/floating_normal_inactive.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/titlebar/maximized_focus_active.png b/.config/awesome/themes/powerarrow-dark/icons/titlebar/maximized_focus_active.png new file mode 100755 index 0000000..7d9a11a Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/titlebar/maximized_focus_active.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/titlebar/maximized_focus_inactive.png b/.config/awesome/themes/powerarrow-dark/icons/titlebar/maximized_focus_inactive.png new file mode 100755 index 0000000..bce1d00 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/titlebar/maximized_focus_inactive.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/titlebar/maximized_normal_active.png b/.config/awesome/themes/powerarrow-dark/icons/titlebar/maximized_normal_active.png new file mode 100755 index 0000000..9f24945 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/titlebar/maximized_normal_active.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/titlebar/maximized_normal_inactive.png b/.config/awesome/themes/powerarrow-dark/icons/titlebar/maximized_normal_inactive.png new file mode 100755 index 0000000..2e56d32 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/titlebar/maximized_normal_inactive.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/titlebar/ontop_focus_active.png b/.config/awesome/themes/powerarrow-dark/icons/titlebar/ontop_focus_active.png new file mode 100755 index 0000000..41a69e2 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/titlebar/ontop_focus_active.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/titlebar/ontop_focus_inactive.png b/.config/awesome/themes/powerarrow-dark/icons/titlebar/ontop_focus_inactive.png new file mode 100755 index 0000000..2f3a2be Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/titlebar/ontop_focus_inactive.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/titlebar/ontop_normal_active.png b/.config/awesome/themes/powerarrow-dark/icons/titlebar/ontop_normal_active.png new file mode 100755 index 0000000..0f937b7 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/titlebar/ontop_normal_active.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/titlebar/ontop_normal_inactive.png b/.config/awesome/themes/powerarrow-dark/icons/titlebar/ontop_normal_inactive.png new file mode 100755 index 0000000..a9a3206 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/titlebar/ontop_normal_inactive.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/titlebar/sticky_focus_active.png b/.config/awesome/themes/powerarrow-dark/icons/titlebar/sticky_focus_active.png new file mode 100755 index 0000000..a9bc8a2 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/titlebar/sticky_focus_active.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/titlebar/sticky_focus_inactive.png b/.config/awesome/themes/powerarrow-dark/icons/titlebar/sticky_focus_inactive.png new file mode 100755 index 0000000..5493d8e Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/titlebar/sticky_focus_inactive.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/titlebar/sticky_normal_active.png b/.config/awesome/themes/powerarrow-dark/icons/titlebar/sticky_normal_active.png new file mode 100755 index 0000000..1e150f5 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/titlebar/sticky_normal_active.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/titlebar/sticky_normal_inactive.png b/.config/awesome/themes/powerarrow-dark/icons/titlebar/sticky_normal_inactive.png new file mode 100755 index 0000000..7e6c99b Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/titlebar/sticky_normal_inactive.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/vol.png b/.config/awesome/themes/powerarrow-dark/icons/vol.png new file mode 100755 index 0000000..bbf33d4 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/vol.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/vol_low.png b/.config/awesome/themes/powerarrow-dark/icons/vol_low.png new file mode 100755 index 0000000..aa3ce4d Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/vol_low.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/vol_mute.png b/.config/awesome/themes/powerarrow-dark/icons/vol_mute.png new file mode 100755 index 0000000..e855fd2 Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/vol_mute.png differ diff --git a/.config/awesome/themes/powerarrow-dark/icons/vol_no.png b/.config/awesome/themes/powerarrow-dark/icons/vol_no.png new file mode 100755 index 0000000..bbe917b Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/icons/vol_no.png differ diff --git a/.config/awesome/themes/powerarrow-dark/theme.lua b/.config/awesome/themes/powerarrow-dark/theme.lua new file mode 100644 index 0000000..f72b3c9 --- /dev/null +++ b/.config/awesome/themes/powerarrow-dark/theme.lua @@ -0,0 +1,359 @@ +--[[ + + Powerarrow Dark Awesome WM theme + github.com/lcpz + +--]] + +local gears = require("gears") +local lain = require("lain") +local awful = require("awful") +local wibox = require("wibox") +local dpi = require("beautiful.xresources").apply_dpi + +local os = os +local my_table = awful.util.table or gears.table -- 4.{0,1} compatibility + +local theme = {} +theme.dir = os.getenv("HOME") .. "/.config/awesome/themes/powerarrow-dark" +theme.wallpaper = theme.dir .. "/wall.png" +theme.font = "Terminus 9" +theme.fg_normal = "#DDDDFF" +theme.fg_focus = "#EA6F81" +theme.fg_urgent = "#CC9393" +theme.bg_normal = "#1A1A1A" +theme.bg_focus = "#313131" +theme.bg_urgent = "#1A1A1A" +theme.border_width = dpi(1) +theme.border_normal = "#3F3F3F" +theme.border_focus = "#7F7F7F" +theme.border_marked = "#CC9393" +theme.tasklist_bg_focus = "#1A1A1A" +theme.titlebar_bg_focus = theme.bg_focus +theme.titlebar_bg_normal = theme.bg_normal +theme.titlebar_fg_focus = theme.fg_focus +theme.menu_height = dpi(16) +theme.menu_width = dpi(140) +theme.menu_submenu_icon = theme.dir .. "/icons/submenu.png" +theme.taglist_squares_sel = theme.dir .. "/icons/square_sel.png" +theme.taglist_squares_unsel = theme.dir .. "/icons/square_unsel.png" +theme.layout_tile = theme.dir .. "/icons/tile.png" +theme.layout_tileleft = theme.dir .. "/icons/tileleft.png" +theme.layout_tilebottom = theme.dir .. "/icons/tilebottom.png" +theme.layout_tiletop = theme.dir .. "/icons/tiletop.png" +theme.layout_fairv = theme.dir .. "/icons/fairv.png" +theme.layout_fairh = theme.dir .. "/icons/fairh.png" +theme.layout_spiral = theme.dir .. "/icons/spiral.png" +theme.layout_dwindle = theme.dir .. "/icons/dwindle.png" +theme.layout_max = theme.dir .. "/icons/max.png" +theme.layout_fullscreen = theme.dir .. "/icons/fullscreen.png" +theme.layout_magnifier = theme.dir .. "/icons/magnifier.png" +theme.layout_floating = theme.dir .. "/icons/floating.png" +theme.widget_ac = theme.dir .. "/icons/ac.png" +theme.widget_battery = theme.dir .. "/icons/battery.png" +theme.widget_battery_low = theme.dir .. "/icons/battery_low.png" +theme.widget_battery_empty = theme.dir .. "/icons/battery_empty.png" +theme.widget_mem = theme.dir .. "/icons/mem.png" +theme.widget_cpu = theme.dir .. "/icons/cpu.png" +theme.widget_temp = theme.dir .. "/icons/temp.png" +theme.widget_net = theme.dir .. "/icons/net.png" +theme.widget_hdd = theme.dir .. "/icons/hdd.png" +theme.widget_music = theme.dir .. "/icons/note.png" +theme.widget_music_on = theme.dir .. "/icons/note_on.png" +theme.widget_vol = theme.dir .. "/icons/vol.png" +theme.widget_vol_low = theme.dir .. "/icons/vol_low.png" +theme.widget_vol_no = theme.dir .. "/icons/vol_no.png" +theme.widget_vol_mute = theme.dir .. "/icons/vol_mute.png" +theme.widget_mail = theme.dir .. "/icons/mail.png" +theme.widget_mail_on = theme.dir .. "/icons/mail_on.png" +theme.tasklist_plain_task_name = true +theme.tasklist_disable_icon = true +theme.useless_gap = dpi(0) +theme.titlebar_close_button_focus = theme.dir .. "/icons/titlebar/close_focus.png" +theme.titlebar_close_button_normal = theme.dir .. "/icons/titlebar/close_normal.png" +theme.titlebar_ontop_button_focus_active = theme.dir .. "/icons/titlebar/ontop_focus_active.png" +theme.titlebar_ontop_button_normal_active = theme.dir .. "/icons/titlebar/ontop_normal_active.png" +theme.titlebar_ontop_button_focus_inactive = theme.dir .. "/icons/titlebar/ontop_focus_inactive.png" +theme.titlebar_ontop_button_normal_inactive = theme.dir .. "/icons/titlebar/ontop_normal_inactive.png" +theme.titlebar_sticky_button_focus_active = theme.dir .. "/icons/titlebar/sticky_focus_active.png" +theme.titlebar_sticky_button_normal_active = theme.dir .. "/icons/titlebar/sticky_normal_active.png" +theme.titlebar_sticky_button_focus_inactive = theme.dir .. "/icons/titlebar/sticky_focus_inactive.png" +theme.titlebar_sticky_button_normal_inactive = theme.dir .. "/icons/titlebar/sticky_normal_inactive.png" +theme.titlebar_floating_button_focus_active = theme.dir .. "/icons/titlebar/floating_focus_active.png" +theme.titlebar_floating_button_normal_active = theme.dir .. "/icons/titlebar/floating_normal_active.png" +theme.titlebar_floating_button_focus_inactive = theme.dir .. "/icons/titlebar/floating_focus_inactive.png" +theme.titlebar_floating_button_normal_inactive = theme.dir .. "/icons/titlebar/floating_normal_inactive.png" +theme.titlebar_maximized_button_focus_active = theme.dir .. "/icons/titlebar/maximized_focus_active.png" +theme.titlebar_maximized_button_normal_active = theme.dir .. "/icons/titlebar/maximized_normal_active.png" +theme.titlebar_maximized_button_focus_inactive = theme.dir .. "/icons/titlebar/maximized_focus_inactive.png" +theme.titlebar_maximized_button_normal_inactive = theme.dir .. "/icons/titlebar/maximized_normal_inactive.png" + +local markup = lain.util.markup +local separators = lain.util.separators + +local keyboardlayout = awful.widget.keyboardlayout:new() + +-- Textclock +local clockicon = wibox.widget.imagebox(theme.widget_clock) +local clock = awful.widget.watch( + "date +'%a %d %b %R'", 60, + function(widget, stdout) + widget:set_markup(" " .. markup.font(theme.font, stdout)) + end +) + +-- Calendar +theme.cal = lain.widget.cal({ + attach_to = { clock }, + notification_preset = { + font = "Terminus 10", + fg = theme.fg_normal, + bg = theme.bg_normal + } +}) + +-- Mail IMAP check +local mailicon = wibox.widget.imagebox(theme.widget_mail) +--[[ commented because it needs to be set before use +mailicon:buttons(my_table.join(awful.button({ }, 1, function () awful.spawn(mail) end))) +theme.mail = lain.widget.imap({ + timeout = 180, + server = "server", + mail = "mail", + password = "keyring get mail", + settings = function() + if mailcount > 0 then + widget:set_markup(markup.font(theme.font, " " .. mailcount .. " ")) + mailicon:set_image(theme.widget_mail_on) + else + widget:set_text("") + mailicon:set_image(theme.widget_mail) + end + end +}) +--]] + +-- MPD +local musicplr = awful.util.terminal .. " -title Music -e ncmpcpp" +local mpdicon = wibox.widget.imagebox(theme.widget_music) +mpdicon:buttons(my_table.join( + awful.button({ "Mod4" }, 1, function () awful.spawn(musicplr) end), + awful.button({ }, 1, function () + os.execute("mpc prev") + theme.mpd.update() + end), + awful.button({ }, 2, function () + os.execute("mpc toggle") + theme.mpd.update() + end), + awful.button({ }, 3, function () + os.execute("mpc next") + theme.mpd.update() + end))) +theme.mpd = lain.widget.mpd({ + settings = function() + if mpd_now.state == "play" then + artist = " " .. mpd_now.artist .. " " + title = mpd_now.title .. " " + mpdicon:set_image(theme.widget_music_on) + elseif mpd_now.state == "pause" then + artist = " mpd " + title = "paused " + else + artist = "" + title = "" + mpdicon:set_image(theme.widget_music) + end + + widget:set_markup(markup.font(theme.font, markup("#EA6F81", artist) .. title)) + end +}) + +-- MEM +local memicon = wibox.widget.imagebox(theme.widget_mem) +local mem = lain.widget.mem({ + settings = function() + widget:set_markup(markup.font(theme.font, " " .. mem_now.used .. "MB ")) + end +}) + +-- CPU +local cpuicon = wibox.widget.imagebox(theme.widget_cpu) +local cpu = lain.widget.cpu({ + settings = function() + widget:set_markup(markup.font(theme.font, " " .. cpu_now.usage .. "% ")) + end +}) + +-- Coretemp +local tempicon = wibox.widget.imagebox(theme.widget_temp) +local temp = lain.widget.temp({ + settings = function() + widget:set_markup(markup.font(theme.font, " " .. coretemp_now .. "°C ")) + end +}) + +-- / fs +local fsicon = wibox.widget.imagebox(theme.widget_hdd) +--[[ commented because it needs Gio/Glib >= 2.54 +theme.fs = lain.widget.fs({ + notification_preset = { fg = theme.fg_normal, bg = theme.bg_normal, font = "Terminus 10" }, + settings = function() + widget:set_markup(markup.font(theme.font, " " .. fs_now["/"].percentage .. "% ")) + end +}) +--]] + +-- Battery +local baticon = wibox.widget.imagebox(theme.widget_battery) +local bat = lain.widget.bat({ + settings = function() + if bat_now.status and bat_now.status ~= "N/A" then + if bat_now.ac_status == 1 then + baticon:set_image(theme.widget_ac) + elseif not bat_now.perc and tonumber(bat_now.perc) <= 5 then + baticon:set_image(theme.widget_battery_empty) + elseif not bat_now.perc and tonumber(bat_now.perc) <= 15 then + baticon:set_image(theme.widget_battery_low) + else + baticon:set_image(theme.widget_battery) + end + widget:set_markup(markup.font(theme.font, " " .. bat_now.perc .. "% ")) + else + widget:set_markup(markup.font(theme.font, " AC ")) + baticon:set_image(theme.widget_ac) + end + end +}) + +-- ALSA volume +local volicon = wibox.widget.imagebox(theme.widget_vol) +theme.volume = lain.widget.alsa({ + settings = function() + if volume_now.status == "off" then + volicon:set_image(theme.widget_vol_mute) + elseif tonumber(volume_now.level) == 0 then + volicon:set_image(theme.widget_vol_no) + elseif tonumber(volume_now.level) <= 50 then + volicon:set_image(theme.widget_vol_low) + else + volicon:set_image(theme.widget_vol) + end + + widget:set_markup(markup.font(theme.font, " " .. volume_now.level .. "% ")) + end +}) +theme.volume.widget:buttons(awful.util.table.join( + awful.button({}, 4, function () + awful.util.spawn("amixer set Master 1%+") + theme.volume.update() + end), + awful.button({}, 5, function () + awful.util.spawn("amixer set Master 1%-") + theme.volume.update() + end) +)) + +-- Net +local neticon = wibox.widget.imagebox(theme.widget_net) +local net = lain.widget.net({ + settings = function() + widget:set_markup(markup.font(theme.font, + markup("#7AC82E", " " .. string.format("%06.1f", net_now.received)) + .. " " .. + markup("#46A8C3", " " .. string.format("%06.1f", net_now.sent) .. " "))) + end +}) + +-- Separators +local spr = wibox.widget.textbox(' ') +local arrl_dl = separators.arrow_left(theme.bg_focus, "alpha") +local arrl_ld = separators.arrow_left("alpha", theme.bg_focus) + +function theme.at_screen_connect(s) + -- Quake application + s.quake = lain.util.quake({ app = awful.util.terminal }) + + -- If wallpaper is a function, call it with the screen + local wallpaper = theme.wallpaper + if type(wallpaper) == "function" then + wallpaper = wallpaper(s) + end + gears.wallpaper.maximized(wallpaper, s, true) + + -- Tags + awful.tag(awful.util.tagnames, s, awful.layout.layouts[1]) + + -- Create a promptbox for each screen + s.mypromptbox = awful.widget.prompt() + -- Create an imagebox widget which will contains an icon indicating which layout we're using. + -- We need one layoutbox per screen. + s.mylayoutbox = awful.widget.layoutbox(s) + s.mylayoutbox:buttons(my_table.join( + awful.button({}, 1, function () awful.layout.inc( 1) end), + awful.button({}, 2, function () awful.layout.set( awful.layout.layouts[1] ) end), + awful.button({}, 3, function () awful.layout.inc(-1) end), + awful.button({}, 4, function () awful.layout.inc( 1) end), + awful.button({}, 5, function () awful.layout.inc(-1) end))) + -- Create a taglist widget + s.mytaglist = awful.widget.taglist(s, awful.widget.taglist.filter.all, awful.util.taglist_buttons) + + -- Create a tasklist widget + s.mytasklist = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, awful.util.tasklist_buttons) + + -- Create the wibox + s.mywibox = awful.wibar({ position = "top", screen = s, height = dpi(18), bg = theme.bg_normal, fg = theme.fg_normal }) + + -- Add widgets to the wibox + s.mywibox:setup { + layout = wibox.layout.align.horizontal, + { -- Left widgets + layout = wibox.layout.fixed.horizontal, + --spr, + s.mytaglist, + s.mypromptbox, + spr, + }, + s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + wibox.widget.systray(), + keyboardlayout, + spr, + arrl_ld, + wibox.container.background(mpdicon, theme.bg_focus), + wibox.container.background(theme.mpd.widget, theme.bg_focus), + arrl_dl, + volicon, + theme.volume.widget, + arrl_ld, + wibox.container.background(mailicon, theme.bg_focus), + --wibox.container.background(theme.mail.widget, theme.bg_focus), + arrl_dl, + memicon, + mem.widget, + arrl_ld, + wibox.container.background(cpuicon, theme.bg_focus), + wibox.container.background(cpu.widget, theme.bg_focus), + arrl_dl, + tempicon, + temp.widget, + arrl_ld, + wibox.container.background(fsicon, theme.bg_focus), + --wibox.container.background(theme.fs.widget, theme.bg_focus), + arrl_dl, + baticon, + bat.widget, + arrl_ld, + wibox.container.background(neticon, theme.bg_focus), + wibox.container.background(net.widget, theme.bg_focus), + arrl_dl, + clock, + spr, + arrl_ld, + wibox.container.background(s.mylayoutbox, theme.bg_focus), + }, + } +end + +return theme diff --git a/.config/awesome/themes/powerarrow-dark/wall.png b/.config/awesome/themes/powerarrow-dark/wall.png new file mode 100755 index 0000000..9d1118b Binary files /dev/null and b/.config/awesome/themes/powerarrow-dark/wall.png differ diff --git a/.config/awesome/themes/powerarrow/binclock.lua b/.config/awesome/themes/powerarrow/binclock.lua new file mode 100644 index 0000000..68668ea --- /dev/null +++ b/.config/awesome/themes/powerarrow/binclock.lua @@ -0,0 +1,96 @@ +--[[ + + Licensed under GNU General Public License v2 + * (c) 2017, Luca CPZ + * (c) 2013, romockee + +--]] + +local gears = require("gears") +local wibox = require("wibox") +local dpi = require("beautiful.xresources").apply_dpi +local date = os.date +local ipairs = ipairs +local math = math +local select = select +local string = string + +local binclock = {} + +function binclock.dec2bin(num, bits) + local bits, t = bits or select(2, math.frexp(num)), {} + for b = bits, 1, -1 do + t[b] = math.fmod(num, 2) + num = (num - t[b]) / 2 + end + return t +end + +function binclock.paintdot(cr, val, shift) + local height = 0 + for _, bit in ipairs(binclock.dec2bin(val, 4)) do + if bit >= 1 then + cr:set_source(gears.color(binclock.color_active)) + else + cr:set_source(gears.color(binclock.color_inactive)) + end + cr:rectangle(shift, height, binclock.dotsize, binclock.dotsize) + cr:fill() + height = height + binclock.dotsize + binclock.step + end +end + +local function factory(args) + local args = args or {} + + binclock.width = args.width or dpi(42) + binclock.height = args.height or dpi(18) + binclock.show_seconds = args.show_seconds or false + binclock.color_active = args.color_active or "#CCCCCC" + binclock.color_inactive = args.color_inactive or "#444444" + binclock.dotsize = math.floor(binclock.height / 5) + binclock.step = math.floor(binclock.dotsize / 3) + + binclock.widget = wibox.widget { + fit = function(self, context, width, height) + return binclock.width, binclock.height + end, + draw = function(self, context, cr, width, height) + local t = date("*t") + + local hour = string.format("%02d", t.hour) + local min = string.format("%02d", t.min) + local sec = string.format("%02d", t.sec) + + local col_count = 4 + if binclock.show_seconds then + col_count = 6 + end + local step = math.floor((binclock.width - col_count * binclock.dotsize) / 8) + + binclock.paintdot(cr, string.sub(hour, 1, 1), step, 2) + binclock.paintdot(cr, string.sub(hour, 2, 2), binclock.dotsize + 2 * step) + + binclock.paintdot(cr, string.sub(min, 1, 1), binclock.dotsize * 2 + 4 * step) + binclock.paintdot(cr, string.sub(min, 2, 2), binclock.dotsize * 3 + 5 * step) + + if binclock.show_seconds then + binclock.paintdot(cr, string.sub(sec, 1, 1), binclock.dotsize * 4 + 7 * step) + binclock.paintdot(cr, string.sub(sec, 2, 2), binclock.dotsize * 5 + 8 * step) + end + end, + layout = wibox.widget.base.make_widget + } + + binclock.timer = gears.timer { + autostart = true, + timeout = binclock.show_seconds and 1 or 60, + callback = function() + binclock.widget:emit_signal("widget::redraw_needed") + end + } + + return binclock +end + +return factory diff --git a/.config/awesome/themes/powerarrow/icons/ac.png b/.config/awesome/themes/powerarrow/icons/ac.png new file mode 100755 index 0000000..453af4e Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/ac.png differ diff --git a/.config/awesome/themes/powerarrow/icons/awesome.png b/.config/awesome/themes/powerarrow/icons/awesome.png new file mode 100755 index 0000000..4cabb6c Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/awesome.png differ diff --git a/.config/awesome/themes/powerarrow/icons/battery.png b/.config/awesome/themes/powerarrow/icons/battery.png new file mode 100755 index 0000000..7dd78a5 Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/battery.png differ diff --git a/.config/awesome/themes/powerarrow/icons/battery_empty.png b/.config/awesome/themes/powerarrow/icons/battery_empty.png new file mode 100755 index 0000000..763aa93 Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/battery_empty.png differ diff --git a/.config/awesome/themes/powerarrow/icons/battery_low.png b/.config/awesome/themes/powerarrow/icons/battery_low.png new file mode 100755 index 0000000..626222f Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/battery_low.png differ diff --git a/.config/awesome/themes/powerarrow/icons/brightness.png b/.config/awesome/themes/powerarrow/icons/brightness.png new file mode 100755 index 0000000..030d524 Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/brightness.png differ diff --git a/.config/awesome/themes/powerarrow/icons/cpu.png b/.config/awesome/themes/powerarrow/icons/cpu.png new file mode 100755 index 0000000..c28a787 Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/cpu.png differ diff --git a/.config/awesome/themes/powerarrow/icons/floating.png b/.config/awesome/themes/powerarrow/icons/floating.png new file mode 100755 index 0000000..079fea4 Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/floating.png differ diff --git a/.config/awesome/themes/powerarrow/icons/fwd.png b/.config/awesome/themes/powerarrow/icons/fwd.png new file mode 100755 index 0000000..e9b875e Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/fwd.png differ diff --git a/.config/awesome/themes/powerarrow/icons/hdd.png b/.config/awesome/themes/powerarrow/icons/hdd.png new file mode 100755 index 0000000..8922eaa Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/hdd.png differ diff --git a/.config/awesome/themes/powerarrow/icons/mail.png b/.config/awesome/themes/powerarrow/icons/mail.png new file mode 100755 index 0000000..be656ed Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/mail.png differ diff --git a/.config/awesome/themes/powerarrow/icons/mail_on.png b/.config/awesome/themes/powerarrow/icons/mail_on.png new file mode 100755 index 0000000..ce8984f Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/mail_on.png differ diff --git a/.config/awesome/themes/powerarrow/icons/mem.png b/.config/awesome/themes/powerarrow/icons/mem.png new file mode 100755 index 0000000..ee6d480 Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/mem.png differ diff --git a/.config/awesome/themes/powerarrow/icons/net.png b/.config/awesome/themes/powerarrow/icons/net.png new file mode 100755 index 0000000..769bfec Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/net.png differ diff --git a/.config/awesome/themes/powerarrow/icons/next.png b/.config/awesome/themes/powerarrow/icons/next.png new file mode 100755 index 0000000..9a62593 Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/next.png differ diff --git a/.config/awesome/themes/powerarrow/icons/note.png b/.config/awesome/themes/powerarrow/icons/note.png new file mode 100755 index 0000000..19866aa Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/note.png differ diff --git a/.config/awesome/themes/powerarrow/icons/note_on.png b/.config/awesome/themes/powerarrow/icons/note_on.png new file mode 100755 index 0000000..aae5ca3 Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/note_on.png differ diff --git a/.config/awesome/themes/powerarrow/icons/pacman.png b/.config/awesome/themes/powerarrow/icons/pacman.png new file mode 100755 index 0000000..575144a Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/pacman.png differ diff --git a/.config/awesome/themes/powerarrow/icons/pause.png b/.config/awesome/themes/powerarrow/icons/pause.png new file mode 100755 index 0000000..d4546e6 Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/pause.png differ diff --git a/.config/awesome/themes/powerarrow/icons/phones.png b/.config/awesome/themes/powerarrow/icons/phones.png new file mode 100755 index 0000000..bec0e57 Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/phones.png differ diff --git a/.config/awesome/themes/powerarrow/icons/play.png b/.config/awesome/themes/powerarrow/icons/play.png new file mode 100755 index 0000000..b228f74 Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/play.png differ diff --git a/.config/awesome/themes/powerarrow/icons/prev.png b/.config/awesome/themes/powerarrow/icons/prev.png new file mode 100755 index 0000000..4c4ca40 Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/prev.png differ diff --git a/.config/awesome/themes/powerarrow/icons/rwd.png b/.config/awesome/themes/powerarrow/icons/rwd.png new file mode 100755 index 0000000..ac3d6f4 Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/rwd.png differ diff --git a/.config/awesome/themes/powerarrow/icons/scissors.png b/.config/awesome/themes/powerarrow/icons/scissors.png new file mode 100755 index 0000000..30f867d Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/scissors.png differ diff --git a/.config/awesome/themes/powerarrow/icons/square_sel.png b/.config/awesome/themes/powerarrow/icons/square_sel.png new file mode 100755 index 0000000..874a3a5 Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/square_sel.png differ diff --git a/.config/awesome/themes/powerarrow/icons/square_unsel.png b/.config/awesome/themes/powerarrow/icons/square_unsel.png new file mode 100755 index 0000000..979642f Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/square_unsel.png differ diff --git a/.config/awesome/themes/powerarrow/icons/stop.png b/.config/awesome/themes/powerarrow/icons/stop.png new file mode 100755 index 0000000..207915b Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/stop.png differ diff --git a/.config/awesome/themes/powerarrow/icons/submenu.png b/.config/awesome/themes/powerarrow/icons/submenu.png new file mode 100755 index 0000000..e9a6b7c Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/submenu.png differ diff --git a/.config/awesome/themes/powerarrow/icons/task.png b/.config/awesome/themes/powerarrow/icons/task.png new file mode 100755 index 0000000..962b51a Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/task.png differ diff --git a/.config/awesome/themes/powerarrow/icons/temp.png b/.config/awesome/themes/powerarrow/icons/temp.png new file mode 100755 index 0000000..7952de8 Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/temp.png differ diff --git a/.config/awesome/themes/powerarrow/icons/tile.png b/.config/awesome/themes/powerarrow/icons/tile.png new file mode 100755 index 0000000..01fd1b5 Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/tile.png differ diff --git a/.config/awesome/themes/powerarrow/icons/tilebottom.png b/.config/awesome/themes/powerarrow/icons/tilebottom.png new file mode 100755 index 0000000..bff1f42 Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/tilebottom.png differ diff --git a/.config/awesome/themes/powerarrow/icons/tileleft.png b/.config/awesome/themes/powerarrow/icons/tileleft.png new file mode 100755 index 0000000..205140a Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/tileleft.png differ diff --git a/.config/awesome/themes/powerarrow/icons/tiletop.png b/.config/awesome/themes/powerarrow/icons/tiletop.png new file mode 100755 index 0000000..148cb9b Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/tiletop.png differ diff --git a/.config/awesome/themes/powerarrow/icons/titlebar/close_focus.png b/.config/awesome/themes/powerarrow/icons/titlebar/close_focus.png new file mode 100755 index 0000000..cccbadc Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/titlebar/close_focus.png differ diff --git a/.config/awesome/themes/powerarrow/icons/titlebar/close_normal.png b/.config/awesome/themes/powerarrow/icons/titlebar/close_normal.png new file mode 100755 index 0000000..cb0c3fa Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/titlebar/close_normal.png differ diff --git a/.config/awesome/themes/powerarrow/icons/titlebar/floating_focus_active.png b/.config/awesome/themes/powerarrow/icons/titlebar/floating_focus_active.png new file mode 100755 index 0000000..77ea127 Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/titlebar/floating_focus_active.png differ diff --git a/.config/awesome/themes/powerarrow/icons/titlebar/floating_focus_inactive.png b/.config/awesome/themes/powerarrow/icons/titlebar/floating_focus_inactive.png new file mode 100755 index 0000000..d254a73 Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/titlebar/floating_focus_inactive.png differ diff --git a/.config/awesome/themes/powerarrow/icons/titlebar/floating_normal_active.png b/.config/awesome/themes/powerarrow/icons/titlebar/floating_normal_active.png new file mode 100755 index 0000000..c5ce3de Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/titlebar/floating_normal_active.png differ diff --git a/.config/awesome/themes/powerarrow/icons/titlebar/floating_normal_inactive.png b/.config/awesome/themes/powerarrow/icons/titlebar/floating_normal_inactive.png new file mode 100755 index 0000000..850b602 Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/titlebar/floating_normal_inactive.png differ diff --git a/.config/awesome/themes/powerarrow/icons/titlebar/maximized_focus_active.png b/.config/awesome/themes/powerarrow/icons/titlebar/maximized_focus_active.png new file mode 100755 index 0000000..9fc0483 Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/titlebar/maximized_focus_active.png differ diff --git a/.config/awesome/themes/powerarrow/icons/titlebar/maximized_focus_inactive.png b/.config/awesome/themes/powerarrow/icons/titlebar/maximized_focus_inactive.png new file mode 100755 index 0000000..f684470 Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/titlebar/maximized_focus_inactive.png differ diff --git a/.config/awesome/themes/powerarrow/icons/titlebar/maximized_normal_active.png b/.config/awesome/themes/powerarrow/icons/titlebar/maximized_normal_active.png new file mode 100755 index 0000000..4aa4196 Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/titlebar/maximized_normal_active.png differ diff --git a/.config/awesome/themes/powerarrow/icons/titlebar/maximized_normal_inactive.png b/.config/awesome/themes/powerarrow/icons/titlebar/maximized_normal_inactive.png new file mode 100755 index 0000000..bfe01a3 Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/titlebar/maximized_normal_inactive.png differ diff --git a/.config/awesome/themes/powerarrow/icons/titlebar/ontop_focus_active.png b/.config/awesome/themes/powerarrow/icons/titlebar/ontop_focus_active.png new file mode 100755 index 0000000..86e61b7 Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/titlebar/ontop_focus_active.png differ diff --git a/.config/awesome/themes/powerarrow/icons/titlebar/ontop_focus_inactive.png b/.config/awesome/themes/powerarrow/icons/titlebar/ontop_focus_inactive.png new file mode 100755 index 0000000..286d439 Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/titlebar/ontop_focus_inactive.png differ diff --git a/.config/awesome/themes/powerarrow/icons/titlebar/ontop_normal_active.png b/.config/awesome/themes/powerarrow/icons/titlebar/ontop_normal_active.png new file mode 100755 index 0000000..fcee772 Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/titlebar/ontop_normal_active.png differ diff --git a/.config/awesome/themes/powerarrow/icons/titlebar/ontop_normal_inactive.png b/.config/awesome/themes/powerarrow/icons/titlebar/ontop_normal_inactive.png new file mode 100755 index 0000000..a628626 Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/titlebar/ontop_normal_inactive.png differ diff --git a/.config/awesome/themes/powerarrow/icons/titlebar/sticky_focus_active.png b/.config/awesome/themes/powerarrow/icons/titlebar/sticky_focus_active.png new file mode 100755 index 0000000..5af45c1 Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/titlebar/sticky_focus_active.png differ diff --git a/.config/awesome/themes/powerarrow/icons/titlebar/sticky_focus_inactive.png b/.config/awesome/themes/powerarrow/icons/titlebar/sticky_focus_inactive.png new file mode 100755 index 0000000..22d7453 Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/titlebar/sticky_focus_inactive.png differ diff --git a/.config/awesome/themes/powerarrow/icons/titlebar/sticky_normal_active.png b/.config/awesome/themes/powerarrow/icons/titlebar/sticky_normal_active.png new file mode 100755 index 0000000..aad079e Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/titlebar/sticky_normal_active.png differ diff --git a/.config/awesome/themes/powerarrow/icons/titlebar/sticky_normal_inactive.png b/.config/awesome/themes/powerarrow/icons/titlebar/sticky_normal_inactive.png new file mode 100755 index 0000000..5f3e655 Binary files /dev/null and b/.config/awesome/themes/powerarrow/icons/titlebar/sticky_normal_inactive.png differ diff --git a/.config/awesome/themes/powerarrow/theme.lua b/.config/awesome/themes/powerarrow/theme.lua new file mode 100644 index 0000000..984c9a8 --- /dev/null +++ b/.config/awesome/themes/powerarrow/theme.lua @@ -0,0 +1,400 @@ +--[[ + + Powerarrow Awesome WM theme + github.com/lcpz + +--]] + +local gears = require("gears") +local lain = require("lain") +local awful = require("awful") +local wibox = require("wibox") +local dpi = require("beautiful.xresources").apply_dpi + +local math, string, os = math, string, os +local my_table = awful.util.table or gears.table -- 4.{0,1} compatibility + +local theme = {} +theme.dir = os.getenv("HOME") .. "/.config/awesome/themes/powerarrow" +theme.wallpaper = theme.dir .. "/wall.png" +theme.font = "Terminus 9" +theme.fg_normal = "#FEFEFE" +theme.fg_focus = "#32D6FF" +theme.fg_urgent = "#C83F11" +theme.bg_normal = "#222222" +theme.bg_focus = "#1E2320" +theme.bg_urgent = "#3F3F3F" +theme.taglist_fg_focus = "#00CCFF" +theme.tasklist_bg_focus = "#222222" +theme.tasklist_fg_focus = "#00CCFF" +theme.border_width = dpi(2) +theme.border_normal = "#3F3F3F" +theme.border_focus = "#6F6F6F" +theme.border_marked = "#CC9393" +theme.titlebar_bg_focus = "#3F3F3F" +theme.titlebar_bg_normal = "#3F3F3F" +theme.titlebar_bg_focus = theme.bg_focus +theme.titlebar_bg_normal = theme.bg_normal +theme.titlebar_fg_focus = theme.fg_focus +theme.menu_height = dpi(16) +theme.menu_width = dpi(140) +theme.menu_submenu_icon = theme.dir .. "/icons/submenu.png" +theme.awesome_icon = theme.dir .. "/icons/awesome.png" +theme.taglist_squares_sel = theme.dir .. "/icons/square_sel.png" +theme.taglist_squares_unsel = theme.dir .. "/icons/square_unsel.png" +theme.layout_tile = theme.dir .. "/icons/tile.png" +theme.layout_tileleft = theme.dir .. "/icons/tileleft.png" +theme.layout_tilebottom = theme.dir .. "/icons/tilebottom.png" +theme.layout_tiletop = theme.dir .. "/icons/tiletop.png" +theme.layout_fairv = theme.dir .. "/icons/fairv.png" +theme.layout_fairh = theme.dir .. "/icons/fairh.png" +theme.layout_spiral = theme.dir .. "/icons/spiral.png" +theme.layout_dwindle = theme.dir .. "/icons/dwindle.png" +theme.layout_max = theme.dir .. "/icons/max.png" +theme.layout_fullscreen = theme.dir .. "/icons/fullscreen.png" +theme.layout_magnifier = theme.dir .. "/icons/magnifier.png" +theme.layout_floating = theme.dir .. "/icons/floating.png" +theme.widget_ac = theme.dir .. "/icons/ac.png" +theme.widget_battery = theme.dir .. "/icons/battery.png" +theme.widget_battery_low = theme.dir .. "/icons/battery_low.png" +theme.widget_battery_empty = theme.dir .. "/icons/battery_empty.png" +theme.widget_brightness = theme.dir .. "/icons/brightness.png" +theme.widget_mem = theme.dir .. "/icons/mem.png" +theme.widget_cpu = theme.dir .. "/icons/cpu.png" +theme.widget_temp = theme.dir .. "/icons/temp.png" +theme.widget_net = theme.dir .. "/icons/net.png" +theme.widget_hdd = theme.dir .. "/icons/hdd.png" +theme.widget_music = theme.dir .. "/icons/note.png" +theme.widget_music_on = theme.dir .. "/icons/note_on.png" +theme.widget_music_pause = theme.dir .. "/icons/pause.png" +theme.widget_music_stop = theme.dir .. "/icons/stop.png" +theme.widget_vol = theme.dir .. "/icons/vol.png" +theme.widget_vol_low = theme.dir .. "/icons/vol_low.png" +theme.widget_vol_no = theme.dir .. "/icons/vol_no.png" +theme.widget_vol_mute = theme.dir .. "/icons/vol_mute.png" +theme.widget_mail = theme.dir .. "/icons/mail.png" +theme.widget_mail_on = theme.dir .. "/icons/mail_on.png" +theme.widget_task = theme.dir .. "/icons/task.png" +theme.widget_scissors = theme.dir .. "/icons/scissors.png" +theme.tasklist_plain_task_name = true +theme.tasklist_disable_icon = true +theme.useless_gap = 0 +theme.titlebar_close_button_focus = theme.dir .. "/icons/titlebar/close_focus.png" +theme.titlebar_close_button_normal = theme.dir .. "/icons/titlebar/close_normal.png" +theme.titlebar_ontop_button_focus_active = theme.dir .. "/icons/titlebar/ontop_focus_active.png" +theme.titlebar_ontop_button_normal_active = theme.dir .. "/icons/titlebar/ontop_normal_active.png" +theme.titlebar_ontop_button_focus_inactive = theme.dir .. "/icons/titlebar/ontop_focus_inactive.png" +theme.titlebar_ontop_button_normal_inactive = theme.dir .. "/icons/titlebar/ontop_normal_inactive.png" +theme.titlebar_sticky_button_focus_active = theme.dir .. "/icons/titlebar/sticky_focus_active.png" +theme.titlebar_sticky_button_normal_active = theme.dir .. "/icons/titlebar/sticky_normal_active.png" +theme.titlebar_sticky_button_focus_inactive = theme.dir .. "/icons/titlebar/sticky_focus_inactive.png" +theme.titlebar_sticky_button_normal_inactive = theme.dir .. "/icons/titlebar/sticky_normal_inactive.png" +theme.titlebar_floating_button_focus_active = theme.dir .. "/icons/titlebar/floating_focus_active.png" +theme.titlebar_floating_button_normal_active = theme.dir .. "/icons/titlebar/floating_normal_active.png" +theme.titlebar_floating_button_focus_inactive = theme.dir .. "/icons/titlebar/floating_focus_inactive.png" +theme.titlebar_floating_button_normal_inactive = theme.dir .. "/icons/titlebar/floating_normal_inactive.png" +theme.titlebar_maximized_button_focus_active = theme.dir .. "/icons/titlebar/maximized_focus_active.png" +theme.titlebar_maximized_button_normal_active = theme.dir .. "/icons/titlebar/maximized_normal_active.png" +theme.titlebar_maximized_button_focus_inactive = theme.dir .. "/icons/titlebar/maximized_focus_inactive.png" +theme.titlebar_maximized_button_normal_inactive = theme.dir .. "/icons/titlebar/maximized_normal_inactive.png" + +local markup = lain.util.markup +local separators = lain.util.separators + +-- Binary clock +local binclock = require("themes.powerarrow.binclock"){ + height = dpi(32), + show_seconds = true, + color_active = theme.fg_normal, + color_inactive = theme.bg_focus +} + +-- Calendar +theme.cal = lain.widget.cal({ + --cal = "cal --color=always", + attach_to = { binclock.widget }, + notification_preset = { + font = "Terminus 10", + fg = theme.fg_normal, + bg = theme.bg_normal + } +}) + +-- Taskwarrior +local task = wibox.widget.imagebox(theme.widget_task) +lain.widget.contrib.task.attach(task, { + -- do not colorize output + show_cmd = "task | sed -r 's/\\x1B\\[([0-9]{1,2}(;[0-9]{1,2})?)?[mGK]//g'" +}) +task:buttons(my_table.join(awful.button({}, 1, lain.widget.contrib.task.prompt))) + +-- Scissors (xsel copy and paste) +local scissors = wibox.widget.imagebox(theme.widget_scissors) +scissors:buttons(my_table.join(awful.button({}, 1, function() awful.spawn.with_shell("xsel | xsel -i -b") end))) + +-- Mail IMAP check +--[[ commented because it needs to be set before use +local mailicon = wibox.widget.imagebox(theme.widget_mail) +mailicon:buttons(my_table.join(awful.button({ }, 1, function () awful.spawn(mail) end))) +theme.mail = lain.widget.imap({ + timeout = 180, + server = "server", + mail = "mail", + password = "keyring get mail", + settings = function() + if mailcount > 0 then + widget:set_text(" " .. mailcount .. " ") + mailicon:set_image(theme.widget_mail_on) + else + widget:set_text("") + mailicon:set_image(theme.widget_mail) + end + end +}) +--]] + +-- ALSA volume +theme.volume = lain.widget.alsabar({ + --togglechannel = "IEC958,3", + notification_preset = { font = "Terminus 10", fg = theme.fg_normal }, +}) + +-- MPD +local musicplr = awful.util.terminal .. " -title Music -g 130x34-320+16 -e ncmpcpp" +local mpdicon = wibox.widget.imagebox(theme.widget_music) +mpdicon:buttons(my_table.join( + awful.button({ modkey }, 1, function () awful.spawn.with_shell(musicplr) end), + awful.button({ }, 1, function () + os.execute("mpc prev") + theme.mpd.update() + end), + awful.button({ }, 2, function () + os.execute("mpc toggle") + theme.mpd.update() + end), + awful.button({ }, 3, function () + os.execute("mpc next") + theme.mpd.update() + end))) +theme.mpd = lain.widget.mpd({ + settings = function() + if mpd_now.state == "play" then + artist = " " .. mpd_now.artist .. " " + title = mpd_now.title .. " " + mpdicon:set_image(theme.widget_music_on) + widget:set_markup(markup.font(theme.font, markup("#FF8466", artist) .. " " .. title)) + elseif mpd_now.state == "pause" then + widget:set_markup(markup.font(theme.font, " mpd paused ")) + mpdicon:set_image(theme.widget_music_pause) + else + widget:set_text("") + mpdicon:set_image(theme.widget_music) + end + end +}) + +-- MEM +local memicon = wibox.widget.imagebox(theme.widget_mem) +local mem = lain.widget.mem({ + settings = function() + widget:set_markup(markup.font(theme.font, " " .. mem_now.used .. "MB ")) + end +}) + +-- CPU +local cpuicon = wibox.widget.imagebox(theme.widget_cpu) +local cpu = lain.widget.cpu({ + settings = function() + widget:set_markup(markup.font(theme.font, " " .. cpu_now.usage .. "% ")) + end +}) + +--[[ Coretemp (lm_sensors, per core) +local tempwidget = awful.widget.watch({awful.util.shell, '-c', 'sensors | grep Core'}, 30, +function(widget, stdout) + local temps = "" + for line in stdout:gmatch("[^\r\n]+") do + temps = temps .. line:match("+(%d+).*°C") .. "° " -- in Celsius + end + widget:set_markup(markup.font(theme.font, " " .. temps)) +end) +--]] +-- Coretemp (lain, average) +local temp = lain.widget.temp({ + settings = function() + widget:set_markup(markup.font(theme.font, " " .. coretemp_now .. "°C ")) + end +}) +--]] +local tempicon = wibox.widget.imagebox(theme.widget_temp) + +-- / fs +local fsicon = wibox.widget.imagebox(theme.widget_hdd) +--[[ commented because it needs Gio/Glib >= 2.54 +theme.fs = lain.widget.fs({ + notification_preset = { fg = theme.fg_normal, bg = theme.bg_normal, font = "Terminus 10" }, + settings = function() + local fsp = string.format(" %3.2f %s ", fs_now["/"].free, fs_now["/"].units) + widget:set_markup(markup.font(theme.font, fsp)) + end +}) +--]] + +-- Battery +local baticon = wibox.widget.imagebox(theme.widget_battery) +local bat = lain.widget.bat({ + settings = function() + if bat_now.status and bat_now.status ~= "N/A" then + if bat_now.ac_status == 1 then + widget:set_markup(markup.font(theme.font, " AC ")) + baticon:set_image(theme.widget_ac) + return + elseif not bat_now.perc and tonumber(bat_now.perc) <= 5 then + baticon:set_image(theme.widget_battery_empty) + elseif not bat_now.perc and tonumber(bat_now.perc) <= 15 then + baticon:set_image(theme.widget_battery_low) + else + baticon:set_image(theme.widget_battery) + end + widget:set_markup(markup.font(theme.font, " " .. bat_now.perc .. "% ")) + else + widget:set_markup() + baticon:set_image(theme.widget_ac) + end + end +}) + +-- Net +local neticon = wibox.widget.imagebox(theme.widget_net) +local net = lain.widget.net({ + settings = function() + widget:set_markup(markup.fontfg(theme.font, "#FEFEFE", " " .. net_now.received .. " ↓↑ " .. net_now.sent .. " ")) + end +}) + +-- Brigtness +local brighticon = wibox.widget.imagebox(theme.widget_brightness) +-- If you use xbacklight, comment the line with "light -G" and uncomment the line bellow +-- local brightwidget = awful.widget.watch('xbacklight -get', 0.1, +local brightwidget = awful.widget.watch('light -G', 0.1, + function(widget, stdout, stderr, exitreason, exitcode) + local brightness_level = tonumber(string.format("%.0f", stdout)) + widget:set_markup(markup.font(theme.font, " " .. brightness_level .. "%")) +end) + +-- Separators +local arrow = separators.arrow_left + +function theme.powerline_rl(cr, width, height) + local arrow_depth, offset = height/2, 0 + + -- Avoid going out of the (potential) clip area + if arrow_depth < 0 then + width = width + 2*arrow_depth + offset = -arrow_depth + end + + cr:move_to(offset + arrow_depth , 0 ) + cr:line_to(offset + width , 0 ) + cr:line_to(offset + width - arrow_depth , height/2 ) + cr:line_to(offset + width , height ) + cr:line_to(offset + arrow_depth , height ) + cr:line_to(offset , height/2 ) + + cr:close_path() +end + +local function pl(widget, bgcolor, padding) + return wibox.container.background(wibox.container.margin(widget, dpi(16), dpi(16)), bgcolor, theme.powerline_rl) +end + +function theme.at_screen_connect(s) + -- Quake application + s.quake = lain.util.quake({ app = awful.util.terminal }) + + -- If wallpaper is a function, call it with the screen + local wallpaper = theme.wallpaper + if type(wallpaper) == "function" then + wallpaper = wallpaper(s) + end + gears.wallpaper.maximized(wallpaper, s, true) + + -- Tags + awful.tag(awful.util.tagnames, s, awful.layout.layouts[1]) + + -- Create a promptbox for each screen + s.mypromptbox = awful.widget.prompt() + -- Create an imagebox widget which will contains an icon indicating which layout we're using. + -- We need one layoutbox per screen. + s.mylayoutbox = awful.widget.layoutbox(s) + s.mylayoutbox:buttons(my_table.join( + awful.button({}, 1, function () awful.layout.inc( 1) end), + awful.button({}, 2, function () awful.layout.set( awful.layout.layouts[1] ) end), + awful.button({}, 3, function () awful.layout.inc(-1) end), + awful.button({}, 4, function () awful.layout.inc( 1) end), + awful.button({}, 5, function () awful.layout.inc(-1) end))) + -- Create a taglist widget + s.mytaglist = awful.widget.taglist(s, awful.widget.taglist.filter.all, awful.util.taglist_buttons) + + -- Create a tasklist widget + s.mytasklist = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, awful.util.tasklist_buttons) + + -- Create the wibox + s.mywibox = awful.wibar({ position = "top", screen = s, height = dpi(16), bg = theme.bg_normal, fg = theme.fg_normal }) + + -- Add widgets to the wibox + s.mywibox:setup { + layout = wibox.layout.align.horizontal, + { -- Left widgets + layout = wibox.layout.fixed.horizontal, + --spr, + s.mytaglist, + s.mypromptbox, + spr, + }, + s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + wibox.widget.systray(), + wibox.container.margin(scissors, dpi(4), dpi(8)), + --[[ using shapes + pl(wibox.widget { mpdicon, theme.mpd.widget, layout = wibox.layout.align.horizontal }, "#343434"), + pl(task, "#343434"), + --pl(wibox.widget { mailicon, mail and theme.mail.widget, layout = wibox.layout.align.horizontal }, "#343434"), + pl(wibox.widget { memicon, mem.widget, layout = wibox.layout.align.horizontal }, "#777E76"), + pl(wibox.widget { cpuicon, cpu.widget, layout = wibox.layout.align.horizontal }, "#4B696D"), + pl(wibox.widget { tempicon, temp.widget, layout = wibox.layout.align.horizontal }, "#4B3B51"), + --pl(wibox.widget { fsicon, theme.fs and theme.fs.widget, layout = wibox.layout.align.horizontal }, "#CB755B"), + pl(wibox.widget { baticon, bat.widget, layout = wibox.layout.align.horizontal }, "#8DAA9A"), + pl(wibox.widget { neticon, net.widget, layout = wibox.layout.align.horizontal }, "#C0C0A2"), + pl(binclock.widget, "#777E76"), + --]] + -- using separators + arrow(theme.bg_normal, "#343434"), + wibox.container.background(wibox.container.margin(wibox.widget { mailicon, theme.mail and theme.mail.widget, layout = wibox.layout.align.horizontal }, dpi(4), dpi(7)), "#343434"), + arrow("#343434", theme.bg_normal), + wibox.container.background(wibox.container.margin(wibox.widget { mpdicon, theme.mpd.widget, layout = wibox.layout.align.horizontal }, dpi(3), dpi(6)), theme.bg_focus), + arrow(theme.bg_normal, "#343434"), + wibox.container.background(wibox.container.margin(task, dpi(3), dpi(7)), "#343434"), + arrow("#343434", "#777E76"), + wibox.container.background(wibox.container.margin(wibox.widget { memicon, mem.widget, layout = wibox.layout.align.horizontal }, dpi(2), dpi(3)), "#777E76"), + arrow("#777E76", "#4B696D"), + wibox.container.background(wibox.container.margin(wibox.widget { cpuicon, cpu.widget, layout = wibox.layout.align.horizontal }, dpi(3), dpi(4)), "#4B696D"), + arrow("#4B696D", "#4B3B51"), + wibox.container.background(wibox.container.margin(wibox.widget { tempicon, temp.widget, layout = wibox.layout.align.horizontal }, dpi(4), dpi(4)), "#4B3B51"), + arrow("#4B3B51", "#CB755B"), + wibox.container.background(wibox.container.margin(wibox.widget { fsicon, theme.fs and theme.fs.widget, layout = wibox.layout.align.horizontal }, dpi(3), dpi(3)), "#CB755B"), + arrow("#CB755B", "#8DAA9A"), + wibox.container.background(wibox.container.margin(wibox.widget { baticon, bat.widget, layout = wibox.layout.align.horizontal }, dpi(3), dpi(3)), "#8DAA9A"), + arrow("#8DAA9A", "#C0C0A2"), + wibox.container.background(wibox.container.margin(wibox.widget { nil, neticon, net.widget, layout = wibox.layout.align.horizontal }, dpi(3), dpi(3)), "#C0C0A2"), + arrow("#C0C0A2", "#777E76"), + wibox.container.background(wibox.container.margin(binclock.widget, dpi(4), dpi(8)), "#777E76"), + arrow("#777E76", "alpha"), + --]] + s.mylayoutbox, + }, + } +end + +return theme diff --git a/.config/awesome/themes/powerarrow/wall.png b/.config/awesome/themes/powerarrow/wall.png new file mode 100755 index 0000000..0989db9 Binary files /dev/null and b/.config/awesome/themes/powerarrow/wall.png differ diff --git a/.config/awesome/themes/rainbow/icons/awesome.png b/.config/awesome/themes/rainbow/icons/awesome.png new file mode 100755 index 0000000..d99fd37 Binary files /dev/null and b/.config/awesome/themes/rainbow/icons/awesome.png differ diff --git a/.config/awesome/themes/rainbow/icons/square_sel.png b/.config/awesome/themes/rainbow/icons/square_sel.png new file mode 100755 index 0000000..532719f Binary files /dev/null and b/.config/awesome/themes/rainbow/icons/square_sel.png differ diff --git a/.config/awesome/themes/rainbow/icons/square_unsel.png b/.config/awesome/themes/rainbow/icons/square_unsel.png new file mode 100755 index 0000000..72dea5b Binary files /dev/null and b/.config/awesome/themes/rainbow/icons/square_unsel.png differ diff --git a/.config/awesome/themes/rainbow/icons/submenu.png b/.config/awesome/themes/rainbow/icons/submenu.png new file mode 100755 index 0000000..26ab82a Binary files /dev/null and b/.config/awesome/themes/rainbow/icons/submenu.png differ diff --git a/.config/awesome/themes/rainbow/theme.lua b/.config/awesome/themes/rainbow/theme.lua new file mode 100644 index 0000000..7837b93 --- /dev/null +++ b/.config/awesome/themes/rainbow/theme.lua @@ -0,0 +1,279 @@ +--[[ + + Rainbow Awesome WM theme 2.0 + github.com/lcpz + +--]] + +local gears = require("gears") +local lain = require("lain") +local awful = require("awful") +local wibox = require("wibox") +local dpi = require("beautiful.xresources").apply_dpi + +local os = os +local my_table = awful.util.table or gears.table -- 4.{0,1} compatibility + +local theme = {} +theme.default_dir = require("awful.util").get_themes_dir() .. "default" +theme.dir = os.getenv("HOME") .. "/.config/awesome/themes/rainbow" +theme.wallpaper = theme.dir .. "/wall.png" +theme.font = "Terminus 10.5" +theme.fg_normal = "#9E9E9E" +theme.fg_focus = "#EBEBFF" +theme.bg_normal = "#242424" +theme.bg_focus = "#242424" +theme.fg_urgent = "#000000" +theme.bg_urgent = "#FFFFFF" +theme.border_width = dpi(1) +theme.border_normal = "#242424" +theme.border_focus = "#EBEBFF" +theme.taglist_fg_focus = "#EDEFFF" +theme.taglist_bg_focus = "#242424" +theme.menu_height = dpi(16) +theme.menu_width = dpi(140) +theme.ocol = "" +theme.tasklist_sticky = theme.ocol .. "[S]" +theme.tasklist_ontop = theme.ocol .. "[T]" +theme.tasklist_floating = theme.ocol .. "[F]" +theme.tasklist_maximized_horizontal = theme.ocol .. "[M] " +theme.tasklist_maximized_vertical = "" +theme.tasklist_disable_icon = true +theme.awesome_icon = theme.dir .."/icons/awesome.png" +theme.menu_submenu_icon = theme.dir .."/icons/submenu.png" +theme.taglist_squares_sel = theme.dir .. "/icons/square_sel.png" +theme.taglist_squares_unsel = theme.dir .. "/icons/square_unsel.png" +theme.useless_gap = dpi(8) +theme.layout_txt_tile = "[t]" +theme.layout_txt_tileleft = "[l]" +theme.layout_txt_tilebottom = "[b]" +theme.layout_txt_tiletop = "[tt]" +theme.layout_txt_fairv = "[fv]" +theme.layout_txt_fairh = "[fh]" +theme.layout_txt_spiral = "[s]" +theme.layout_txt_dwindle = "[d]" +theme.layout_txt_max = "[m]" +theme.layout_txt_fullscreen = "[F]" +theme.layout_txt_magnifier = "[M]" +theme.layout_txt_floating = "[*]" +theme.titlebar_close_button_normal = theme.default_dir.."/titlebar/close_normal.png" +theme.titlebar_close_button_focus = theme.default_dir.."/titlebar/close_focus.png" +theme.titlebar_minimize_button_normal = theme.default_dir.."/titlebar/minimize_normal.png" +theme.titlebar_minimize_button_focus = theme.default_dir.."/titlebar/minimize_focus.png" +theme.titlebar_ontop_button_normal_inactive = theme.default_dir.."/titlebar/ontop_normal_inactive.png" +theme.titlebar_ontop_button_focus_inactive = theme.default_dir.."/titlebar/ontop_focus_inactive.png" +theme.titlebar_ontop_button_normal_active = theme.default_dir.."/titlebar/ontop_normal_active.png" +theme.titlebar_ontop_button_focus_active = theme.default_dir.."/titlebar/ontop_focus_active.png" +theme.titlebar_sticky_button_normal_inactive = theme.default_dir.."/titlebar/sticky_normal_inactive.png" +theme.titlebar_sticky_button_focus_inactive = theme.default_dir.."/titlebar/sticky_focus_inactive.png" +theme.titlebar_sticky_button_normal_active = theme.default_dir.."/titlebar/sticky_normal_active.png" +theme.titlebar_sticky_button_focus_active = theme.default_dir.."/titlebar/sticky_focus_active.png" +theme.titlebar_floating_button_normal_inactive = theme.default_dir.."/titlebar/floating_normal_inactive.png" +theme.titlebar_floating_button_focus_inactive = theme.default_dir.."/titlebar/floating_focus_inactive.png" +theme.titlebar_floating_button_normal_active = theme.default_dir.."/titlebar/floating_normal_active.png" +theme.titlebar_floating_button_focus_active = theme.default_dir.."/titlebar/floating_focus_active.png" +theme.titlebar_maximized_button_normal_inactive = theme.default_dir.."/titlebar/maximized_normal_inactive.png" +theme.titlebar_maximized_button_focus_inactive = theme.default_dir.."/titlebar/maximized_focus_inactive.png" +theme.titlebar_maximized_button_normal_active = theme.default_dir.."/titlebar/maximized_normal_active.png" +theme.titlebar_maximized_button_focus_active = theme.default_dir.."/titlebar/maximized_focus_active.png" + +-- lain related +theme.layout_txt_cascade = "[cascade]" +theme.layout_txt_cascadetile = "[cascadetile]" +theme.layout_txt_centerwork = "[centerwork]" +theme.layout_txt_termfair = "[termfair]" +theme.layout_txt_centerfair = "[centerfair]" + +local markup = lain.util.markup +local white = theme.fg_focus +local gray = theme.fg_normal + +-- Textclock +local mytextclock = wibox.widget.textclock(markup(white, " %H:%M ")) +mytextclock.font = theme.font + +-- Calendar +theme.cal = lain.widget.cal({ + attach_to = { mytextclock }, + notification_preset = { + font = "Terminus 11", + fg = white, + bg = theme.bg_normal + } +}) + +-- Mail IMAP check +--[[ commented because it needs to be set before use +theme.mail = lain.widget.imap({ + timeout = 180, + server = "server", + mail = "mail", + password = "keyring get mail", + settings = function() + mail_notification_preset.fg = white + + mail = "" + count = "" + + if mailcount > 0 then + mail = "Mail " + count = mailcount .. " " + end + + widget:set_markup(markup.font(theme.font, markup(gray, mail) .. markup(white, count))) + end +}) +--]] + +-- MPD +theme.mpd = lain.widget.mpd({ + settings = function() + mpd_notification_preset.fg = white + + artist = mpd_now.artist .. " " + title = mpd_now.title .. " " + + if mpd_now.state == "pause" then + artist = "mpd " + title = "paused " + elseif mpd_now.state == "stop" then + artist = "" + title = "" + end + + widget:set_markup(markup.font(theme.font, markup(gray, artist) .. markup(white, title))) + end +}) + +-- /home fs +--[[ commented because it needs Gio/Glib >= 2.54 +theme.fs = lain.widget.fs({ + notification_preset = { fg = white, bg = theme.bg_normal, font = "Terminus 10.5" }, + settings = function() + local fs_header, fs_p = "", "" + + if fs_now["/home"].percentage >= 90 then + fs_header = " Hdd " + fs_p = fs_now["/home"].percentage + end + + widget:set_markup(markup.font(theme.font, markup(gray, fs_header) .. markup(white, fs_p))) + end +}) +--]] + +-- ALSA volume bar +theme.volume = lain.widget.alsabar({ + ticks = true, width = dpi(67), + notification_preset = { font = theme.font } +}) +theme.volume.tooltip.wibox.fg = theme.fg_focus +theme.volume.tooltip.wibox.font = theme.font +theme.volume.bar:buttons(my_table.join ( + awful.button({}, 1, function() + awful.spawn(string.format("%s -e alsamixer", terminal)) + end), + awful.button({}, 2, function() + os.execute(string.format("%s set %s 100%%", theme.volume.cmd, theme.volume.channel)) + theme.volume.update() + end), + awful.button({}, 3, function() + os.execute(string.format("%s set %s toggle", theme.volume.cmd, theme.volume.togglechannel or theme.volume.channel)) + theme.volume.update() + end), + awful.button({}, 4, function() + os.execute(string.format("%s set %s 1%%+", theme.volume.cmd, theme.volume.channel)) + theme.volume.update() + end), + awful.button({}, 5, function() + os.execute(string.format("%s set %s 1%%-", theme.volume.cmd, theme.volume.channel)) + theme.volume.update() + end) +)) +local volumebg = wibox.container.background(theme.volume.bar, "#585858", gears.shape.rectangle) +local volumewidget = wibox.container.margin(volumebg, dpi(7), dpi(7), dpi(5), dpi(5)) + +-- Weather +--[[ to be set before use +theme.weather = lain.widget.weather({ + --APPID = + city_id = 2643743, -- placeholder (London) + notification_preset = { font = theme.font, fg = white } +}) +--]] + +-- Separators +local first = wibox.widget.textbox(markup.font("Terminus 4", " ")) +local spr = wibox.widget.textbox(' ') + +local function update_txt_layoutbox(s) + -- Writes a string representation of the current layout in a textbox widget + local txt_l = theme["layout_txt_" .. awful.layout.getname(awful.layout.get(s))] or "" + s.mytxtlayoutbox:set_text(txt_l) +end + +function theme.at_screen_connect(s) + -- Quake application + s.quake = lain.util.quake({ app = awful.util.terminal }) + + -- If wallpaper is a function, call it with the screen + local wallpaper = theme.wallpaper + if type(wallpaper) == "function" then + wallpaper = wallpaper(s) + end + gears.wallpaper.maximized(wallpaper, s, true) + + -- Tags + awful.tag(awful.util.tagnames, s, awful.layout.layouts[1]) + + -- Create a promptbox for each screen + s.mypromptbox = awful.widget.prompt() + + -- Textual layoutbox + s.mytxtlayoutbox = wibox.widget.textbox(theme["layout_txt_" .. awful.layout.getname(awful.layout.get(s))]) + awful.tag.attached_connect_signal(s, "property::selected", function () update_txt_layoutbox(s) end) + awful.tag.attached_connect_signal(s, "property::layout", function () update_txt_layoutbox(s) end) + s.mytxtlayoutbox:buttons(my_table.join( + awful.button({}, 1, function() awful.layout.inc(1) end), + awful.button({}, 2, function () awful.layout.set( awful.layout.layouts[1] ) end), + awful.button({}, 3, function() awful.layout.inc(-1) end), + awful.button({}, 4, function() awful.layout.inc(1) end), + awful.button({}, 5, function() awful.layout.inc(-1) end))) + + -- Create a taglist widget + s.mytaglist = awful.widget.taglist(s, awful.widget.taglist.filter.all, awful.util.taglist_buttons) + + -- Create a tasklist widget + s.mytasklist = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, awful.util.tasklist_buttons) + + -- Create the wibox + s.mywibox = awful.wibar({ position = "top", screen = s, height = dpi(18), bg = theme.bg_normal, fg = theme.fg_normal }) + + -- Add widgets to the wibox + s.mywibox:setup { + layout = wibox.layout.align.horizontal, + { -- Left widgets + layout = wibox.layout.fixed.horizontal, + first, + s.mytaglist, + spr, + s.mytxtlayoutbox, + --spr, + s.mypromptbox, + spr, + }, + s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + wibox.widget.systray(), + spr, + theme.mpd.widget, + --theme.mail.widget, + --theme.fs.widget, + volumewidget, + mytextclock, + }, + } +end + +return theme diff --git a/.config/awesome/themes/rainbow/wall.png b/.config/awesome/themes/rainbow/wall.png new file mode 100755 index 0000000..6bed238 Binary files /dev/null and b/.config/awesome/themes/rainbow/wall.png differ diff --git a/.config/awesome/themes/steamburn/icons/awesome.png b/.config/awesome/themes/steamburn/icons/awesome.png new file mode 100755 index 0000000..0306bdf Binary files /dev/null and b/.config/awesome/themes/steamburn/icons/awesome.png differ diff --git a/.config/awesome/themes/steamburn/icons/square_sel.png b/.config/awesome/themes/steamburn/icons/square_sel.png new file mode 100755 index 0000000..2bcabb8 Binary files /dev/null and b/.config/awesome/themes/steamburn/icons/square_sel.png differ diff --git a/.config/awesome/themes/steamburn/icons/square_unsel.png b/.config/awesome/themes/steamburn/icons/square_unsel.png new file mode 100755 index 0000000..14c4fe4 Binary files /dev/null and b/.config/awesome/themes/steamburn/icons/square_unsel.png differ diff --git a/.config/awesome/themes/steamburn/icons/submenu.png b/.config/awesome/themes/steamburn/icons/submenu.png new file mode 100755 index 0000000..12b97c6 Binary files /dev/null and b/.config/awesome/themes/steamburn/icons/submenu.png differ diff --git a/.config/awesome/themes/steamburn/theme.lua b/.config/awesome/themes/steamburn/theme.lua new file mode 100644 index 0000000..a6631a3 --- /dev/null +++ b/.config/awesome/themes/steamburn/theme.lua @@ -0,0 +1,278 @@ +--[[ + + Steamburn Awesome WM theme 3.0 + github.com/lcpz + +--]] + +local gears = require("gears") +local lain = require("lain") +local awful = require("awful") +local wibox = require("wibox") +local dpi = require("beautiful.xresources").apply_dpi + +local os = os +local my_table = awful.util.table or gears.table -- 4.{0,1} compatibility + +local theme = {} +theme.zenburn_dir = require("awful.util").get_themes_dir() .. "zenburn" +theme.dir = os.getenv("HOME") .. "/.config/awesome/themes/steamburn" +theme.wallpaper = theme.dir .. "/wall.png" +theme.font = "Terminus 10.5" +theme.fg_normal = "#e2ccb0" +theme.fg_focus = "#d88166" +theme.fg_urgent = "#CC9393" +theme.bg_normal = "#140c0b" +theme.bg_focus = "#140c0b" +theme.bg_urgent = "#2a1f1e" +theme.border_width = dpi(1) +theme.border_normal = "#302627" +theme.border_focus = "#c2745b" +theme.border_marked = "#CC9393" +theme.taglist_fg_focus = "#d88166" +theme.tasklist_bg_focus = "#140c0b" +theme.tasklist_fg_focus = "#d88166" +theme.taglist_squares_sel = theme.dir .. "/icons/square_sel.png" +theme.taglist_squares_unsel = theme.dir .. "/icons/square_unsel.png" +theme.menu_height = dpi(16) +theme.menu_width = dpi(140) +theme.awesome_icon = theme.dir .."/icons/awesome.png" +theme.menu_submenu_icon = theme.dir .. "/icons/submenu.png" +theme.layout_txt_tile = "[t]" +theme.layout_txt_tileleft = "[l]" +theme.layout_txt_tilebottom = "[b]" +theme.layout_txt_tiletop = "[tt]" +theme.layout_txt_fairv = "[fv]" +theme.layout_txt_fairh = "[fh]" +theme.layout_txt_spiral = "[s]" +theme.layout_txt_dwindle = "[d]" +theme.layout_txt_max = "[m]" +theme.layout_txt_fullscreen = "[F]" +theme.layout_txt_magnifier = "[M]" +theme.layout_txt_floating = "[|]" +theme.tasklist_plain_task_name = true +theme.tasklist_disable_icon = true +theme.useless_gap = dpi(0) +theme.titlebar_close_button_normal = theme.zenburn_dir.."/titlebar/close_normal.png" +theme.titlebar_close_button_focus = theme.zenburn_dir.."/titlebar/close_focus.png" +theme.titlebar_minimize_button_normal = theme.zenburn_dir.."/titlebar/minimize_normal.png" +theme.titlebar_minimize_button_focus = theme.zenburn_dir.."/titlebar/minimize_focus.png" +theme.titlebar_ontop_button_normal_inactive = theme.zenburn_dir.."/titlebar/ontop_normal_inactive.png" +theme.titlebar_ontop_button_focus_inactive = theme.zenburn_dir.."/titlebar/ontop_focus_inactive.png" +theme.titlebar_ontop_button_normal_active = theme.zenburn_dir.."/titlebar/ontop_normal_active.png" +theme.titlebar_ontop_button_focus_active = theme.zenburn_dir.."/titlebar/ontop_focus_active.png" +theme.titlebar_sticky_button_normal_inactive = theme.zenburn_dir.."/titlebar/sticky_normal_inactive.png" +theme.titlebar_sticky_button_focus_inactive = theme.zenburn_dir.."/titlebar/sticky_focus_inactive.png" +theme.titlebar_sticky_button_normal_active = theme.zenburn_dir.."/titlebar/sticky_normal_active.png" +theme.titlebar_sticky_button_focus_active = theme.zenburn_dir.."/titlebar/sticky_focus_active.png" +theme.titlebar_floating_button_normal_inactive = theme.zenburn_dir.."/titlebar/floating_normal_inactive.png" +theme.titlebar_floating_button_focus_inactive = theme.zenburn_dir.."/titlebar/floating_focus_inactive.png" +theme.titlebar_floating_button_normal_active = theme.zenburn_dir.."/titlebar/floating_normal_active.png" +theme.titlebar_floating_button_focus_active = theme.zenburn_dir.."/titlebar/floating_focus_active.png" +theme.titlebar_maximized_button_normal_inactive = theme.zenburn_dir.."/titlebar/maximized_normal_inactive.png" +theme.titlebar_maximized_button_focus_inactive = theme.zenburn_dir.."/titlebar/maximized_focus_inactive.png" +theme.titlebar_maximized_button_normal_active = theme.zenburn_dir.."/titlebar/maximized_normal_active.png" +theme.titlebar_maximized_button_focus_active = theme.zenburn_dir.."/titlebar/maximized_focus_active.png" + +-- lain related +theme.layout_txt_termfair = "[termfair]" +theme.layout_txt_centerfair = "[centerfair]" + +local markup = lain.util.markup +local gray = "#94928F" + +-- Textclock +local mytextclock = wibox.widget.textclock(" %H:%M ") +mytextclock.font = theme.font + +-- Calendar +theme.cal = lain.widget.cal({ + attach_to = { mytextclock }, + notification_preset = { + font = "Terminus 11", + fg = theme.fg_normal, + bg = theme.bg_normal + } +}) + +-- Mail IMAP check +--[[ to be set before use +theme.mail = lain.widget.imap({ + timeout = 180, + server = "server", + mail = "mail", + password = "keyring get mail", + settings = function() + mail = "" + count = "" + + if mailcount > 0 then + mail = "Mail " + count = mailcount .. " " + end + + widget:set_markup(markup(gray, mail) .. count) + end +}) +--]] + +-- MPD +theme.mpd = lain.widget.mpd({ + settings = function() + artist = mpd_now.artist .. " " + title = mpd_now.title .. " " + + if mpd_now.state == "pause" then + artist = "mpd " + title = "paused " + elseif mpd_now.state == "stop" then + artist = "" + title = "" + end + + widget:set_markup(markup.font(theme.font, markup(gray, artist) .. title)) + end +}) + +-- CPU +local cpu = lain.widget.sysload({ + settings = function() + widget:set_markup(markup.font(theme.font, markup(gray, " Cpu ") .. load_1 .. " ")) + end +}) + +-- MEM +local mem = lain.widget.mem({ + settings = function() + widget:set_markup(markup.font(theme.font, markup(gray, " Mem ") .. mem_now.used .. " ")) + end +}) + +-- /home fs +--[[ commented because it needs Gio/Glib >= 2.54 +theme.fs = lain.widget.fs({ + partition = "/home", + notification_preset = { fg = theme.fg_normal, bg = theme.bg_normal, font = "Terminus 10.5" }, +}) +--]] + +-- Battery +local bat = lain.widget.bat({ + settings = function() + local perc = bat_now.perc + if bat_now.ac_status == 1 then perc = perc .. " Plug" end + widget:set_markup(markup.font(theme.font, markup(gray, " Bat ") .. perc .. " ")) + end +}) + +-- Net checker +local net = lain.widget.net({ + settings = function() + if net_now.state == "up" then net_state = "On" + else net_state = "Off" end + widget:set_markup(markup.font(theme.font, markup(gray, " Net ") .. net_state .. " ")) + end +}) + +-- ALSA volume +theme.volume = lain.widget.alsa({ + settings = function() + header = " Vol " + vlevel = volume_now.level + + if volume_now.status == "off" then + vlevel = vlevel .. "M " + else + vlevel = vlevel .. " " + end + + widget:set_markup(markup.font(theme.font, markup(gray, header) .. vlevel)) + end +}) + +-- Weather +--[[ to be set before use +theme.weather = lain.widget.weather({ + --APPID = + city_id = 2643743, -- placeholder (London) +}) +--]] + +-- Separators +local first = wibox.widget.textbox(markup.font("Terminus 4", " ")) +local spr = wibox.widget.textbox(' ') + +local function update_txt_layoutbox(s) + -- Writes a string representation of the current layout in a textbox widget + local txt_l = theme["layout_txt_" .. awful.layout.getname(awful.layout.get(s))] or "" + s.mytxtlayoutbox:set_text(txt_l) +end + +function theme.at_screen_connect(s) + -- Quake application + s.quake = lain.util.quake({ app = awful.util.terminal }) + + -- If wallpaper is a function, call it with the screen + local wallpaper = theme.wallpaper + if type(wallpaper) == "function" then + wallpaper = wallpaper(s) + end + gears.wallpaper.maximized(wallpaper, s, true) + + -- Tags + awful.tag(awful.util.tagnames, s, awful.layout.layouts[1]) + + -- Create a promptbox for each screen + s.mypromptbox = awful.widget.prompt() + + -- Textual layoutbox + s.mytxtlayoutbox = wibox.widget.textbox(theme["layout_txt_" .. awful.layout.getname(awful.layout.get(s))]) + awful.tag.attached_connect_signal(s, "property::selected", function () update_txt_layoutbox(s) end) + awful.tag.attached_connect_signal(s, "property::layout", function () update_txt_layoutbox(s) end) + s.mytxtlayoutbox:buttons(my_table.join( + awful.button({}, 1, function() awful.layout.inc(1) end), + awful.button({}, 2, function () awful.layout.set( awful.layout.layouts[1] ) end), + awful.button({}, 3, function() awful.layout.inc(-1) end), + awful.button({}, 4, function() awful.layout.inc(1) end), + awful.button({}, 5, function() awful.layout.inc(-1) end))) + + -- Create a taglist widget + s.mytaglist = awful.widget.taglist(s, awful.widget.taglist.filter.all, awful.util.taglist_buttons) + + -- Create a tasklist widget + s.mytasklist = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, awful.util.tasklist_buttons) + + -- Create the wibox + s.mywibox = awful.wibar({ position = "top", screen = s, height = dpi(18) }) + + -- Add widgets to the wibox + s.mywibox:setup { + layout = wibox.layout.align.horizontal, + { -- Left widgets + layout = wibox.layout.fixed.horizontal, + first, + s.mytaglist, + spr, + s.mytxtlayoutbox, + --spr, + s.mypromptbox, + spr, + }, + s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + wibox.widget.systray(), + spr, + theme.mpd.widget, + --theme.mail.widget, + cpu.widget, + mem.widget, + bat.widget, + net.widget, + theme.volume.widget, + mytextclock + }, + } +end + +return theme diff --git a/.config/awesome/themes/steamburn/wall.png b/.config/awesome/themes/steamburn/wall.png new file mode 100755 index 0000000..57359d1 Binary files /dev/null and b/.config/awesome/themes/steamburn/wall.png differ diff --git a/.config/awesome/themes/vertex/icons/awesome.png b/.config/awesome/themes/vertex/icons/awesome.png new file mode 100755 index 0000000..cbded64 Binary files /dev/null and b/.config/awesome/themes/vertex/icons/awesome.png differ diff --git a/.config/awesome/themes/vertex/icons/bat-000-charging.png b/.config/awesome/themes/vertex/icons/bat-000-charging.png new file mode 100755 index 0000000..cc2abdd Binary files /dev/null and b/.config/awesome/themes/vertex/icons/bat-000-charging.png differ diff --git a/.config/awesome/themes/vertex/icons/bat-000.png b/.config/awesome/themes/vertex/icons/bat-000.png new file mode 100755 index 0000000..550d8f0 Binary files /dev/null and b/.config/awesome/themes/vertex/icons/bat-000.png differ diff --git a/.config/awesome/themes/vertex/icons/bat-020-charging.png b/.config/awesome/themes/vertex/icons/bat-020-charging.png new file mode 100755 index 0000000..bd5e788 Binary files /dev/null and b/.config/awesome/themes/vertex/icons/bat-020-charging.png differ diff --git a/.config/awesome/themes/vertex/icons/bat-020.png b/.config/awesome/themes/vertex/icons/bat-020.png new file mode 100755 index 0000000..c8525eb Binary files /dev/null and b/.config/awesome/themes/vertex/icons/bat-020.png differ diff --git a/.config/awesome/themes/vertex/icons/bat-040-charging.png b/.config/awesome/themes/vertex/icons/bat-040-charging.png new file mode 100755 index 0000000..5d20c11 Binary files /dev/null and b/.config/awesome/themes/vertex/icons/bat-040-charging.png differ diff --git a/.config/awesome/themes/vertex/icons/bat-040.png b/.config/awesome/themes/vertex/icons/bat-040.png new file mode 100755 index 0000000..ad378bf Binary files /dev/null and b/.config/awesome/themes/vertex/icons/bat-040.png differ diff --git a/.config/awesome/themes/vertex/icons/bat-060-charging.png b/.config/awesome/themes/vertex/icons/bat-060-charging.png new file mode 100755 index 0000000..ea7c293 Binary files /dev/null and b/.config/awesome/themes/vertex/icons/bat-060-charging.png differ diff --git a/.config/awesome/themes/vertex/icons/bat-060.png b/.config/awesome/themes/vertex/icons/bat-060.png new file mode 100755 index 0000000..5883885 Binary files /dev/null and b/.config/awesome/themes/vertex/icons/bat-060.png differ diff --git a/.config/awesome/themes/vertex/icons/bat-080-charging.png b/.config/awesome/themes/vertex/icons/bat-080-charging.png new file mode 100755 index 0000000..b633044 Binary files /dev/null and b/.config/awesome/themes/vertex/icons/bat-080-charging.png differ diff --git a/.config/awesome/themes/vertex/icons/bat-080.png b/.config/awesome/themes/vertex/icons/bat-080.png new file mode 100755 index 0000000..d3fb971 Binary files /dev/null and b/.config/awesome/themes/vertex/icons/bat-080.png differ diff --git a/.config/awesome/themes/vertex/icons/bat-100-charging.png b/.config/awesome/themes/vertex/icons/bat-100-charging.png new file mode 100755 index 0000000..f2d7419 Binary files /dev/null and b/.config/awesome/themes/vertex/icons/bat-100-charging.png differ diff --git a/.config/awesome/themes/vertex/icons/bat-100.png b/.config/awesome/themes/vertex/icons/bat-100.png new file mode 100755 index 0000000..5852e69 Binary files /dev/null and b/.config/awesome/themes/vertex/icons/bat-100.png differ diff --git a/.config/awesome/themes/vertex/icons/bat-charged.png b/.config/awesome/themes/vertex/icons/bat-charged.png new file mode 100755 index 0000000..bb6b657 Binary files /dev/null and b/.config/awesome/themes/vertex/icons/bat-charged.png differ diff --git a/.config/awesome/themes/vertex/icons/ethernet-connected.png b/.config/awesome/themes/vertex/icons/ethernet-connected.png new file mode 100755 index 0000000..6894931 Binary files /dev/null and b/.config/awesome/themes/vertex/icons/ethernet-connected.png differ diff --git a/.config/awesome/themes/vertex/icons/ethernet-disconnected.png b/.config/awesome/themes/vertex/icons/ethernet-disconnected.png new file mode 100755 index 0000000..cfd73bb Binary files /dev/null and b/.config/awesome/themes/vertex/icons/ethernet-disconnected.png differ diff --git a/.config/awesome/themes/vertex/icons/panel.png b/.config/awesome/themes/vertex/icons/panel.png new file mode 100755 index 0000000..2f429e5 Binary files /dev/null and b/.config/awesome/themes/vertex/icons/panel.png differ diff --git a/.config/awesome/themes/vertex/icons/volume-high.png b/.config/awesome/themes/vertex/icons/volume-high.png new file mode 100755 index 0000000..8fc8279 Binary files /dev/null and b/.config/awesome/themes/vertex/icons/volume-high.png differ diff --git a/.config/awesome/themes/vertex/icons/volume-low.png b/.config/awesome/themes/vertex/icons/volume-low.png new file mode 100755 index 0000000..7a0682f Binary files /dev/null and b/.config/awesome/themes/vertex/icons/volume-low.png differ diff --git a/.config/awesome/themes/vertex/icons/volume-medium.png b/.config/awesome/themes/vertex/icons/volume-medium.png new file mode 100755 index 0000000..2b5c888 Binary files /dev/null and b/.config/awesome/themes/vertex/icons/volume-medium.png differ diff --git a/.config/awesome/themes/vertex/icons/volume-muted-blocked.png b/.config/awesome/themes/vertex/icons/volume-muted-blocked.png new file mode 100755 index 0000000..6dea15b Binary files /dev/null and b/.config/awesome/themes/vertex/icons/volume-muted-blocked.png differ diff --git a/.config/awesome/themes/vertex/icons/volume-muted.png b/.config/awesome/themes/vertex/icons/volume-muted.png new file mode 100755 index 0000000..7d08ac9 Binary files /dev/null and b/.config/awesome/themes/vertex/icons/volume-muted.png differ diff --git a/.config/awesome/themes/vertex/icons/volume-off.png b/.config/awesome/themes/vertex/icons/volume-off.png new file mode 100755 index 0000000..8a6d8c5 Binary files /dev/null and b/.config/awesome/themes/vertex/icons/volume-off.png differ diff --git a/.config/awesome/themes/vertex/icons/wireless-disconnected.png b/.config/awesome/themes/vertex/icons/wireless-disconnected.png new file mode 100755 index 0000000..f98d8b4 Binary files /dev/null and b/.config/awesome/themes/vertex/icons/wireless-disconnected.png differ diff --git a/.config/awesome/themes/vertex/icons/wireless-full.png b/.config/awesome/themes/vertex/icons/wireless-full.png new file mode 100755 index 0000000..3f83dec Binary files /dev/null and b/.config/awesome/themes/vertex/icons/wireless-full.png differ diff --git a/.config/awesome/themes/vertex/icons/wireless-high.png b/.config/awesome/themes/vertex/icons/wireless-high.png new file mode 100755 index 0000000..b3622ec Binary files /dev/null and b/.config/awesome/themes/vertex/icons/wireless-high.png differ diff --git a/.config/awesome/themes/vertex/icons/wireless-low.png b/.config/awesome/themes/vertex/icons/wireless-low.png new file mode 100755 index 0000000..3f1e740 Binary files /dev/null and b/.config/awesome/themes/vertex/icons/wireless-low.png differ diff --git a/.config/awesome/themes/vertex/icons/wireless-medium.png b/.config/awesome/themes/vertex/icons/wireless-medium.png new file mode 100755 index 0000000..6bd0ec5 Binary files /dev/null and b/.config/awesome/themes/vertex/icons/wireless-medium.png differ diff --git a/.config/awesome/themes/vertex/icons/wireless-none.png b/.config/awesome/themes/vertex/icons/wireless-none.png new file mode 100755 index 0000000..e47b478 Binary files /dev/null and b/.config/awesome/themes/vertex/icons/wireless-none.png differ diff --git a/.config/awesome/themes/vertex/theme.lua b/.config/awesome/themes/vertex/theme.lua new file mode 100644 index 0000000..14190bd --- /dev/null +++ b/.config/awesome/themes/vertex/theme.lua @@ -0,0 +1,470 @@ +--[[ + + Vertex Awesome WM theme + github.com/lcpz + +--]] + +local gears = require("gears") +local lain = require("lain") +local awful = require("awful") +local wibox = require("wibox") +local dpi = require("beautiful.xresources").apply_dpi + +local math, string, tag, tonumber, type, os = math, string, tag, tonumber, type, os +local my_table = awful.util.table or gears.table -- 4.{0,1} compatibility + +local theme = {} +theme.default_dir = require("awful.util").get_themes_dir() .. "default" +theme.icon_dir = os.getenv("HOME") .. "/.config/awesome/themes/vertex/icons" +theme.wallpaper = os.getenv("HOME") .. "/.config/awesome/themes/vertex/wall.png" +theme.font = "Roboto Bold 10" +theme.taglist_font = "FontAwesome 17" +theme.fg_normal = "#FFFFFF" +theme.fg_focus = "#6A95EB" +theme.bg_focus = "#303030" +theme.bg_focus2 = "#3762B8" +theme.bg_normal = "#242424" +theme.fg_urgent = "#CC9393" +theme.bg_urgent = "#006B8E" +theme.border_width = dpi(4) +theme.border_normal = "#252525" +theme.border_focus = "#7CA2EE" +theme.tooltip_border_color = theme.fg_focus +theme.tooltip_border_width = theme.border_width +theme.menu_height = dpi(24) +theme.menu_width = dpi(140) +theme.awesome_icon = theme.icon_dir .. "/awesome.png" +theme.taglist_squares_sel = gears.surface.load_from_shape(dpi(3), dpi(30), gears.shape.rectangle, theme.fg_focus) +theme.taglist_squares_unsel = gears.surface.load_from_shape(dpi(3), dpi(30), gears.shape.rectangle, theme.bg_focus2) +theme.panelbg = theme.icon_dir .. "/panel.png" +theme.bat000charging = theme.icon_dir .. "/bat-000-charging.png" +theme.bat000 = theme.icon_dir .. "/bat-000.png" +theme.bat020charging = theme.icon_dir .. "/bat-020-charging.png" +theme.bat020 = theme.icon_dir .. "/bat-020.png" +theme.bat040charging = theme.icon_dir .. "/bat-040-charging.png" +theme.bat040 = theme.icon_dir .. "/bat-040.png" +theme.bat060charging = theme.icon_dir .. "/bat-060-charging.png" +theme.bat060 = theme.icon_dir .. "/bat-060.png" +theme.bat080charging = theme.icon_dir .. "/bat-080-charging.png" +theme.bat080 = theme.icon_dir .. "/bat-080.png" +theme.bat100charging = theme.icon_dir .. "/bat-100-charging.png" +theme.bat100 = theme.icon_dir .. "/bat-100.png" +theme.batcharged = theme.icon_dir .. "/bat-charged.png" +theme.ethon = theme.icon_dir .. "/ethernet-connected.png" +theme.ethoff = theme.icon_dir .. "/ethernet-disconnected.png" +theme.volhigh = theme.icon_dir .. "/volume-high.png" +theme.vollow = theme.icon_dir .. "/volume-low.png" +theme.volmed = theme.icon_dir .. "/volume-medium.png" +theme.volmutedblocked = theme.icon_dir .. "/volume-muted-blocked.png" +theme.volmuted = theme.icon_dir .. "/volume-muted.png" +theme.voloff = theme.icon_dir .. "/volume-off.png" +theme.wifidisc = theme.icon_dir .. "/wireless-disconnected.png" +theme.wififull = theme.icon_dir .. "/wireless-full.png" +theme.wifihigh = theme.icon_dir .. "/wireless-high.png" +theme.wifilow = theme.icon_dir .. "/wireless-low.png" +theme.wifimed = theme.icon_dir .. "/wireless-medium.png" +theme.wifinone = theme.icon_dir .. "/wireless-none.png" +theme.layout_fairh = theme.default_dir.."/layouts/fairhw.png" +theme.layout_fairv = theme.default_dir.."/layouts/fairvw.png" +theme.layout_floating = theme.default_dir.."/layouts/floatingw.png" +theme.layout_magnifier = theme.default_dir.."/layouts/magnifierw.png" +theme.layout_max = theme.default_dir.."/layouts/maxw.png" +theme.layout_fullscreen = theme.default_dir.."/layouts/fullscreenw.png" +theme.layout_tilebottom = theme.default_dir.."/layouts/tilebottomw.png" +theme.layout_tileleft = theme.default_dir.."/layouts/tileleftw.png" +theme.layout_tile = theme.default_dir.."/layouts/tilew.png" +theme.layout_tiletop = theme.default_dir.."/layouts/tiletopw.png" +theme.layout_spiral = theme.default_dir.."/layouts/spiralw.png" +theme.layout_dwindle = theme.default_dir.."/layouts/dwindlew.png" +theme.layout_cornernw = theme.default_dir.."/layouts/cornernww.png" +theme.layout_cornerne = theme.default_dir.."/layouts/cornernew.png" +theme.layout_cornersw = theme.default_dir.."/layouts/cornersww.png" +theme.layout_cornerse = theme.default_dir.."/layouts/cornersew.png" +theme.tasklist_plain_task_name = true +theme.tasklist_disable_icon = true +theme.useless_gap = dpi(10) +theme.titlebar_close_button_normal = theme.default_dir.."/titlebar/close_normal.png" +theme.titlebar_close_button_focus = theme.default_dir.."/titlebar/close_focus.png" +theme.titlebar_minimize_button_normal = theme.default_dir.."/titlebar/minimize_normal.png" +theme.titlebar_minimize_button_focus = theme.default_dir.."/titlebar/minimize_focus.png" +theme.titlebar_ontop_button_normal_inactive = theme.default_dir.."/titlebar/ontop_normal_inactive.png" +theme.titlebar_ontop_button_focus_inactive = theme.default_dir.."/titlebar/ontop_focus_inactive.png" +theme.titlebar_ontop_button_normal_active = theme.default_dir.."/titlebar/ontop_normal_active.png" +theme.titlebar_ontop_button_focus_active = theme.default_dir.."/titlebar/ontop_focus_active.png" +theme.titlebar_sticky_button_normal_inactive = theme.default_dir.."/titlebar/sticky_normal_inactive.png" +theme.titlebar_sticky_button_focus_inactive = theme.default_dir.."/titlebar/sticky_focus_inactive.png" +theme.titlebar_sticky_button_normal_active = theme.default_dir.."/titlebar/sticky_normal_active.png" +theme.titlebar_sticky_button_focus_active = theme.default_dir.."/titlebar/sticky_focus_active.png" +theme.titlebar_floating_button_normal_inactive = theme.default_dir.."/titlebar/floating_normal_inactive.png" +theme.titlebar_floating_button_focus_inactive = theme.default_dir.."/titlebar/floating_focus_inactive.png" +theme.titlebar_floating_button_normal_active = theme.default_dir.."/titlebar/floating_normal_active.png" +theme.titlebar_floating_button_focus_active = theme.default_dir.."/titlebar/floating_focus_active.png" +theme.titlebar_maximized_button_normal_inactive = theme.default_dir.."/titlebar/maximized_normal_inactive.png" +theme.titlebar_maximized_button_focus_inactive = theme.default_dir.."/titlebar/maximized_focus_inactive.png" +theme.titlebar_maximized_button_normal_active = theme.default_dir.."/titlebar/maximized_normal_active.png" +theme.titlebar_maximized_button_focus_active = theme.default_dir.."/titlebar/maximized_focus_active.png" + +-- http://fontawesome.io/cheatsheet +awful.util.tagnames = { "", "", "", "", "", "", "", "" } + +local markup = lain.util.markup + +-- Clock +--os.setlocale(os.getenv("LANG")) -- to localize the clock +local mytextclock = wibox.widget.textclock(markup("#FFFFFF", "%a %d %b, %H:%M")) +mytextclock.font = theme.font +theme.cal = lain.widget.cal({ + attach_to = { mytextclock }, + notification_preset = { + fg = "#FFFFFF", + bg = theme.bg_normal, + position = "top_middle", + font = "Monospace 10" + } +}) + +-- Battery +local baticon = wibox.widget.imagebox(theme.bat000) +local battooltip = awful.tooltip({ + objects = { baticon }, + margin_leftright = dpi(15), + margin_topbottom = dpi(12) +}) +battooltip.wibox.fg = theme.fg_normal +battooltip.textbox.font = theme.font +battooltip.timeout = 0 +battooltip:set_shape(function(cr, width, height) + gears.shape.infobubble(cr, width, height, corner_radius, arrow_size, width - dpi(35)) +end) +local bat = lain.widget.bat({ + settings = function() + local index, perc = "bat", tonumber(bat_now.perc) or 0 + + if perc <= 7 then + index = index .. "000" + elseif perc <= 20 then + index = index .. "020" + elseif perc <= 40 then + index = index .. "040" + elseif perc <= 60 then + index = index .. "060" + elseif perc <= 80 then + index = index .. "080" + elseif perc <= 100 then + index = index .. "100" + end + + if bat_now.ac_status == 1 then + index = index .. "charging" + end + + baticon:set_image(theme[index]) + battooltip:set_markup(string.format("\n%s%%, %s", perc, bat_now.time)) + end +}) + +-- MPD +theme.mpd = lain.widget.mpd({ + music_dir = "/mnt/storage/Downloads/Music", + settings = function() + if mpd_now.state == "play" then + title = mpd_now.title + artist = " " .. mpd_now.artist .. " " + elseif mpd_now.state == "pause" then + title = "mpd " + artist = "paused " + else + title = "" + artist = "" + end + + widget:set_markup(markup.font(theme.font, title .. markup(theme.fg_focus, artist))) + end +}) + +-- ALSA volume +local volicon = wibox.widget.imagebox() +theme.volume = lain.widget.alsabar({ + --togglechannel = "IEC958,3", + notification_preset = { font = "Monospace 12", fg = theme.fg_normal }, + settings = function() + local index, perc = "", tonumber(volume_now.level) or 0 + + if volume_now.status == "off" then + index = "volmutedblocked" + else + if perc <= 5 then + index = "volmuted" + elseif perc <= 25 then + index = "vollow" + elseif perc <= 75 then + index = "volmed" + else + index = "volhigh" + end + end + + volicon:set_image(theme[index]) + end +}) +volicon:buttons(my_table.join ( + awful.button({}, 1, function() + awful.spawn(string.format("%s -e alsamixer", awful.util.terminal)) + end), + awful.button({}, 2, function() + os.execute(string.format("%s set %s 100%%", theme.volume.cmd, theme.volume.channel)) + theme.volume.notify() + end), + awful.button({}, 3, function() + os.execute(string.format("%s set %s toggle", theme.volume.cmd, theme.volume.togglechannel or theme.volume.channel)) + theme.volume.notify() + end), + awful.button({}, 4, function() + os.execute(string.format("%s set %s 1%%+", theme.volume.cmd, theme.volume.channel)) + theme.volume.notify() + end), + awful.button({}, 5, function() + os.execute(string.format("%s set %s 1%%-", theme.volume.cmd, theme.volume.channel)) + theme.volume.notify() + end) +)) + +-- Wifi carrier and signal strength +local wificon = wibox.widget.imagebox(theme.wifidisc) +local wifitooltip = awful.tooltip({ + objects = { wificon }, + margin_leftright = dpi(15), + margin_topbottom = dpi(15) +}) +wifitooltip.wibox.fg = theme.fg_normal +wifitooltip.textbox.font = theme.font +wifitooltip.timeout = 0 +wifitooltip:set_shape(function(cr, width, height) + gears.shape.infobubble(cr, width, height, corner_radius, arrow_size, width - dpi(120)) +end) +local mywifisig = awful.widget.watch( + { awful.util.shell, "-c", "awk 'NR==3 {printf(\"%d-%.0f\\n\",$2, $3*10/7)}' /proc/net/wireless; iw dev wlan0 link" }, + 2, + function(widget, stdout) + local carrier, perc = stdout:match("(%d)-(%d+)") + local tiptext = stdout:gsub("(%d)-(%d+)", ""):gsub("%s+$", "") + perc = tonumber(perc) + + if carrier == "1" or not perc then + wificon:set_image(theme.wifidisc) + wifitooltip:set_markup("No carrier") + else + if perc <= 5 then + wificon:set_image(theme.wifinone) + elseif perc <= 25 then + wificon:set_image(theme.wifilow) + elseif perc <= 50 then + wificon:set_image(theme.wifimed) + elseif perc <= 75 then + wificon:set_image(theme.wifihigh) + else + wificon:set_image(theme.wififull) + end + wifitooltip:set_markup(tiptext) + end + end +) +wificon:connect_signal("button::press", function() awful.spawn(string.format("%s -e wavemon", awful.util.terminal)) end) + +-- Weather +--[[ to be set before use +theme.weather = lain.widget.weather({ + city_id = 2643743, -- placeholder (London) + notification_preset = { font = "Monospace 10" }, + settings = function() + units = math.floor(weather_now["main"]["temp"]) + widget:set_markup(" " .. markup.font(theme.font, units .. "°C") .. " ") + end +}) +--]] + +-- Launcher +local mylauncher = awful.widget.button({image = theme.awesome_icon}) +mylauncher:connect_signal("button::press", function() awful.util.mymainmenu:toggle() end) + +-- Separators +local space = wibox.widget.textbox(" ") +local rspace1 = wibox.widget.textbox() +local rspace0 = wibox.widget.textbox() +local rspace2 = wibox.widget.textbox() +local rspace3 = wibox.widget.textbox() +local tspace1 = wibox.widget.textbox() +tspace1.forced_width = dpi(18) +rspace1.forced_width = dpi(16) +rspace0.forced_width = dpi(18) +rspace2.forced_width = dpi(19) +rspace3.forced_width = dpi(21) + +local lspace1 = wibox.widget.textbox() +local lspace2 = wibox.widget.textbox() +local lspace3 = wibox.widget.textbox() +lspace1.forced_height = dpi(18) +lspace2.forced_height = dpi(10) +lspace3.forced_height = dpi(16) + +local barcolor = gears.color({ + type = "linear", + from = { 0, dpi(46) }, + to = { dpi(46), dpi(46) }, + stops = { {0, theme.bg_focus}, {0.9, theme.bg_focus2} } +}) + +local barcolor2 = gears.color({ + type = "linear", + from = { 0, dpi(46) }, + to = { dpi(46), dpi(46) }, + stops = { {0, "#323232"}, {1, theme.bg_normal} } +}) + +local dockshape = function(cr, width, height) + gears.shape.partially_rounded_rect(cr, width, height, false, true, true, false, 6) +end + +function theme.vertical_wibox(s) + -- Create the vertical wibox + s.dockheight = (35 * s.workarea.height)/100 + + s.myleftwibox = wibox({ screen = s, x=0, y=s.workarea.height/2 - s.dockheight/2, width = dpi(6), height = s.dockheight, fg = theme.fg_normal, bg = barcolor2, ontop = true, visible = true, type = "dock" }) + + if s.index > 1 and s.myleftwibox.y == 0 then + s.myleftwibox.y = screen[1].myleftwibox.y + end + + -- Add widgets to the vertical wibox + s.myleftwibox:setup { + layout = wibox.layout.align.vertical, + { + layout = wibox.layout.fixed.vertical, + lspace1, + s.mytaglist, + lspace2, + s.layoutb, + wibox.container.margin(mylauncher, dpi(5), dpi(8), dpi(13), dpi(0)), + }, + } + + -- Add toggling functionalities + s.docktimer = gears.timer{ timeout = 2 } + s.docktimer:connect_signal("timeout", function() + local s = awful.screen.focused() + s.myleftwibox.width = dpi(9) + s.layoutb.visible = false + mylauncher.visible = false + if s.docktimer.started then + s.docktimer:stop() + end + end) + tag.connect_signal("property::selected", function(t) + local s = t.screen or awful.screen.focused() + s.myleftwibox.width = dpi(38) + s.layoutb.visible = true + mylauncher.visible = true + gears.surface.apply_shape_bounding(s.myleftwibox, dockshape) + if not s.docktimer.started then + s.docktimer:start() + end + end) + + s.myleftwibox:connect_signal("mouse::leave", function() + local s = awful.screen.focused() + s.myleftwibox.width = dpi(9) + s.layoutb.visible = false + mylauncher.visible = false + end) + + s.myleftwibox:connect_signal("mouse::enter", function() + local s = awful.screen.focused() + s.myleftwibox.width = dpi(38) + s.layoutb.visible = true + mylauncher.visible = true + gears.surface.apply_shape_bounding(s.myleftwibox, dockshape) + end) +end + + +function theme.at_screen_connect(s) + -- Quake application + s.quake = lain.util.quake({ app = awful.util.terminal, border = theme.border_width }) + + -- If wallpaper is a function, call it with the screen + local wallpaper = theme.wallpaper + if type(wallpaper) == "function" then + wallpaper = wallpaper(s) + end + gears.wallpaper.maximized(wallpaper, s, true) + + -- Tags + awful.tag(awful.util.tagnames, s, awful.layout.layouts[1]) + + -- Create a promptbox for each screen + s.mypromptbox = awful.widget.prompt() + s.mypromptbox.bg = "#00000000" + + -- Create an imagebox widget which will contains an icon indicating which layout we're using. + -- We need one layoutbox per screen. + s.mylayoutbox = awful.widget.layoutbox(s) + s.mylayoutbox:buttons(my_table.join( + awful.button({}, 1, function () awful.layout.inc( 1) end), + awful.button({}, 2, function () awful.layout.set( awful.layout.layouts[1] ) end), + awful.button({}, 3, function () awful.layout.inc(-1) end), + awful.button({}, 4, function () awful.layout.inc( 1) end), + awful.button({}, 5, function () awful.layout.inc(-1) end))) + s.layoutb = wibox.container.margin(s.mylayoutbox, dpi(8), dpi(11), dpi(3), dpi(3)) + + -- Create a taglist widget + s.mytaglist = awful.widget.taglist(s, awful.widget.taglist.filter.all, awful.util.taglist_buttons, { + font = theme.taglist_font, + shape = gears.shape.rectangle, + spacing = dpi(10), + square_unsel = theme.square_unsel, + bg_focus = barcolor + }, nil, wibox.layout.fixed.vertical()) + + -- Create a tasklist widget + s.mytasklist = awful.widget.tasklist(s, awful.widget.tasklist.filter.focused, awful.util.tasklist_buttons, { bg_focus = "#00000000" }) + + -- Create the wibox + s.mywibox = awful.wibar({ position = "top", screen = s, height = dpi(25), bg = gears.color.create_png_pattern(theme.panelbg) }) + + -- Add widgets to the wibox + s.mywibox:setup { + layout = wibox.layout.align.horizontal, + expand = "none", + { -- Left widgets + layout = wibox.layout.fixed.horizontal, + s.mypromptbox, + tspace1, + s.mytasklist, + }, + { -- Middle widgets + layout = wibox.layout.flex.horizontal, + max_widget_size = 1500, + mytextclock + }, + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + wibox.widget { nil, nil, theme.mpd.widget, layout = wibox.layout.align.horizontal }, + rspace0, + --theme.weather.icon, + --theme.weather.widget, + rspace1, + wificon, + rspace0, + volicon, + rspace2, + baticon, + rspace3, + wibox.widget.systray(), + }, + } + + gears.timer.delayed_call(theme.vertical_wibox, s) +end + +return theme diff --git a/.config/awesome/themes/vertex/wall.png b/.config/awesome/themes/vertex/wall.png new file mode 100755 index 0000000..863b1bf Binary files /dev/null and b/.config/awesome/themes/vertex/wall.png differ