awesome-wm-widgets
dotfiles
awesome-wm-widgets | dotfiles | |
---|---|---|
47 | 7 | |
2,038 | 148 | |
- | - | |
6.8 | 8.0 | |
about 1 month ago | about 1 month ago | |
Lua | Lua | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
awesome-wm-widgets
-
Widgets: which are the alternatives?
I'm trying to get the most out of my OS (Arch with X11 and Awesomewm), but I'm stuck with the widgets. I would like to create/use some utilities like an interactive calendar, small TODO list, dropdown menu, etc. but using the awesomewm widgets is too difficult and limiting. I found eww but it seems as difficult as the former widgets.
-
How do I get the batteryarc-widget to work properly?
Hello, I am new to Linux (using Mint rn) and very new to Awesome. I installed Pavel Makhov's awesome-wm-widgets pack since that seems very cool and widely used. While the arc portion of the widget works perfectly fine, the actual charge isn't showing in the middle of the arc. Here's what I mean.
-
Widget help.
I am a noob to awesome wm, and have tried several times to get the widgets from https://github.com/streetturtle/awesome-wm-widgets to work. I am not understanding the directions, and whenever I try it always throws me errors that i cannot figure out. Can anyone give me detailed instructions on how to setup these up?
-
Were can I study aligning widgets on wibar (or writing awesome widgets in general)?
Check tips & tricks section here, there are two tutorials on widget creation: https://pavelmakhov.com/awesome-wm-widgets/ You can also have a look at the source code of https://github.com/streetturtle/awesome-wm-widgets
-
Get Off My Desktop Windows Needs to Stop Showing Tabloid News
> What widgets are you referring to that you found to have leaks?
I'll cite myself here: https://github.com/streetturtle/awesome-wm-widgets/issues/11...
I've had similar issues wherever GTK interacts with awful.spawn . Hence my GTK + awful.spawn.easy_async = extremely leak-prone
Here's another affected library [1]: https://github.com/deficient/volume-control
[1]: No bug under the main repo because they're considering it as a framework bug. See here for discussion: https://github.com/awesomeWM/awesome/issues/3584#issuecommen...
-
How do i add a power button to the wibar
You can try this widget: https://github.com/streetturtle/awesome-wm-widgets/tree/master/logout-menu-widget
-
Awesome WM customizer/configurator
u/BaigGam3rss I still have some work to do to make my own widgets but you probably start with the documentation [1][2]. And then look at some other projects that use Awesome API to build widgets (ex: [3][4][5][6][7]).
-
button click interpreted twice
------------------------------------------------- -- Logout Menu Widget for Awesome Window Manager -- More details could be found here: -- https://github.com/streetturtle/awesome-wm-widgets/tree/master/logout-menu-widget -- @author Pavel Makhov -- @copyright 2020 Pavel Makhov ------------------------------------------------- local awful = require("awful") local wibox = require("wibox") local gears = require("gears") local beautiful = require("beautiful") local naughty = require("naughty") local HOME = os.getenv('HOME') local ICON_DIR = HOME .. '/.config/awesome/awesome-wm-widgets/logout-menu-widget/icons/' local logout_menu_widget = wibox.widget { { { image = ICON_DIR .. 'power_w.svg', resize = true, id = "iimage", widget = wibox.widget.imagebox, }, margins = 4, layout = wibox.container.margin }, shape = function(cr, width, height) gears.shape.rounded_rect(cr, width, height, 4) end, widget = wibox.container.background, } local popup = awful.popup { ontop = true, visible = false, shape = function(cr, width, height) gears.shape.rounded_rect(cr, width, height, 4) end, border_width = 1, border_color = beautiful.bg_focus, maximum_width = 400, offset = { y = 5 }, widget = {} } local function worker(user_args) local rows = { layout = wibox.layout.fixed.vertical } local args = user_args or {} local font = args.font or beautiful.font local onlogout = args.onlogout or function () awesome.quit() end local onlock = args.onlock or function() awful.spawn.with_shell("i3lock") end local onreboot = args.onreboot or function() awful.spawn.with_shell("reboot") end local onsuspend = args.onsuspend or function() awful.spawn.with_shell("systemctl suspend") end local onpoweroff = args.onpoweroff or function() awful.spawn.with_shell("shutdown now") end local menu_items = { { name = 'Log out', icon_name = 'log-out.svg', command = onlogout }, { name = 'Lock', icon_name = 'lock.svg', command = onlock }, { name = 'Reboot', icon_name = 'refresh-cw.svg', command = onreboot }, { name = 'Suspend', icon_name = 'moon.svg', command = onsuspend }, { name = 'Power off', icon_name = 'power.svg', command = onpoweroff }, } for _, item in ipairs(menu_items) do local row = wibox.widget { { { { image = ICON_DIR .. item.icon_name, resize = false, widget = wibox.widget.imagebox }, { text = item.name, font = font, widget = wibox.widget.textbox }, spacing = 12, layout = wibox.layout.fixed.horizontal }, margins = 8, layout = wibox.container.margin }, bg = beautiful.bg_normal, widget = wibox.container.background } row:connect_signal("mouse::enter", function(c) c:set_bg(beautiful.bg_focus) end) row:connect_signal("mouse::leave", function(c) c:set_bg(beautiful.bg_normal) end) local old_cursor, old_wibox row:connect_signal("mouse::enter", function() local wb = mouse.current_wibox old_cursor, old_wibox = wb.cursor, wb wb.cursor = "hand1" end) row:connect_signal("mouse::leave", function() if old_wibox then old_wibox.cursor = old_cursor old_wibox = nil end end) --row:buttons(awful.util.table.join(awful.button({}, 1, function() -- popup.visible = not popup.visible -- item.command() --end))) row:add_button(awful.button({}, 1, function() popup.visible = not popup.visible item.command() end)) table.insert(rows, row) end popup:setup(rows) -- logout_menu_widget:buttons( -- awful.util.table.join( -- awful.button({}, 1, function() -- if popup.visible then -- popup.visible = not popup.visible -- logout_menu_widget:set_bg('#00000000') -- else -- popup:move_next_to(mouse.current_widget_geometry) -- logout_menu_widget:set_bg(beautiful.bg_focus) -- end -- end) -- ) -- ) logout_menu_widget:add_button( awful.button({}, 1, function() naughty.notify({text = "button pressed"}) if popup.visible then naughty.notify({text = "visible"}) popup.visible = not popup.visible logout_menu_widget:set_bg('#00000000') else naughty.notify({text = "invisible"}) popup:move_next_to(mouse.current_widget_geometry) logout_menu_widget:set_bg(beautiful.bg_focus) end end, function() naughty.notify({text = "button released"}) end) ) return logout_menu_widget end return setmetatable(logout_menu_widget, { __call = function(_, ...) return worker(...) end })
- General help with widgets
- Need help installing awesome-wm-widgets widgets, I tried with the volume widget and then spotify and both times adding the code in the read me to different places in the rc.lua and each time saving and reloading awesomewm caused it to reset to default settings with a slew of errors and no widget
dotfiles
- looking for the best awesomewm config
-
Help with battery widget
BTW the widget I'm using is part of this github repo.
-
A little static web page to find gruvbox theme wallpapers
yeah i found what i believe to be the source through tineye, but it's always nice to be future-proof
-
pantran.nvim: asynchronous, interactive machine translation directly from your editor
Story time: I really love Neovim for programming, but one thing I love it even more for is scientific writing. Tools like texlab make this especially fun! But for a well-rounded experience, I need a few more things: (i) Grammar checking. For that I can recommend ltex, an LSP-server which adds LaTeX support to language tool. (ii) Thesaurus lookup. (Neo)vims integrated thesaurus format is a little bit limited. But thankfully 'thesaurusfunc' exists so I could easily write a small plugin to add support for openoffice.org mythes thesauri. (iii) Machine translation. Now we're finally getting to the topic of this post. I write most of my stuff in English but I'm not a native speaker, so machine translation is valuable for me. It can help me to overcome writers block to an extent, for example. There already exist a few plugins for that problem, like vim-translator or translate.nvim. But none of these support interactive modes, a slick UI, and, as far as I know, useful things like motions and counts. This is where my plugin pantran.nvim comes into place! The demo should speak for itself. In the end it was a lot more effort than I anticipated but I'm very pleased with the result. I hope this can be useful to others as well!
-
Neopret: use nvim as a standalone interpreter for scripts and interactive repl
Building an interpreter command was actually pretty easy and can be done in one line, but I also like my interpreters to provide an interactive repl and building that was an extremely frankenstein-ish hack job. Anyway, I figured others might also be interested in this so I uploaded it here. The script requires bash.
-
snipcomp.lua: LuaSnip companion plugin for omni completion
Using the LSP omnifunc with the builtin completion framework of Neovim (e.g. setting omnifunc to 'v:lua.vim.lsp.omnifunc') is sufficient for most of my needs. The only problem I had was that I also wanted to complete snippets. Luckily, besides omnifunc (triggered with i_CTRL-X_CTRL-O), a user-defined completion function can also be specified with completefunc (triggered with i_CTRL-X_CTRL-U). Because of this I wrote snipcomp.lua, which implements 'omnifunc' compatible LuaSnip completion. Now, I can complete snippets alongside LSP stuff and all other builtin completion sources.
-
[OC] Confload - Create dotfiles-manageable weechat configs with password manager integration
I hope this is the right place to post this.. Personally I really like weechat, but since the configuration files are not meant to be edited by humans and contain sensitive information it is really hard to share my weechat rice in a dotfiles repository. That's why I created confload, a plugin which reads a configuration file with weechat commands. There exist similar solutions like inwee or autoconf, but confload provides more advanced functionality by making use of a macro processor, which makes it possible to use stuff like comments and well.. macros. Confload provides a special macro to obtain secrets like passwords from a password manager to eliminate any sensitive information from the config file. Since I created this for my needs, right now only KeepassXC is supported, but the script can be easily adapted for other password managers. Maybe someone else also has a usecase for this!
What are some alternatives?
polybar-themes - A huge collection of polybar themes with different styles, colors and variants.
awesome-hammerspoon - awesome configuration for Hammerspoon.
rofi - A huge collection of Rofi based custom Applets, Launchers & Powermenus.
lain - Awesome WM complements
awesome-copycats - Awesome WM themes
dotfiles - 夜 - Yoru | Aesthetic and Beautiful Awesome Environment :first_quarter_moon: [Moved to: https://github.com/rxyhn/yoru]
rofi-power-menu - Configurable power menu mode for Rofi and dmenu
vim-translator - :closed_book: Translating plugin for Vim/Neovim
dots - My dotfiles
bling - Utilities for the awesome window manager
texlab - An implementation of the Language Server Protocol for LaTeX