worron / redflat Goto Github PK
View Code? Open in Web Editor NEWExtension module for Awesome WM
Extension module for Awesome WM
Moving wibar
to the top in the rc-blue.lua
does not set minitray
widget to be spawned also from the top so it spawns from the bottom while the mouse is at the top :)
Hi,
The line: /home/leny/.config/awesome/redflat/service/dfparser.lua:233
fails if the program.Name is nil
On my computer, this seems to be cause by program.Exec==ibus-daemon
This seems to be the fix: https://github.com/awesomeWM/awesome/pull/83/files
sysmon.widget.mpd = redflat.widget.sysmon(
{ func = awful.spawn.easy_async_with_shell(GET_MPD_CMD, function(stdout, stderr, reason, exit_code)
-- naughty.notify({ text = stdout })
return { value = 0.5, text = stdout, alert = false}
end)
},
{ timeout = 10, widget = redflat.gauge.monitor.circle }
)
How I can use sysmon with custom function, which uses stdout of command?
GET_MPD_CMD is for example mpc status
I tried to use this but it don't work for me.
I have error in sysmon.lua +52 attempt to call number value.
I change my screen layout to use both my internal display (eDP1
) as well as an external monitor (HDMI1
). The latter is placed on top and is marked as primary. Awesome seems to restart itself automatically, as soon as the layout changes:
xrandr --output HDMI1 --primary --auto;
xrandr --output eDP1 --auto --below HDMI1;
eDP1
) but a tiling layout on the top one.I connect the external display and execute the xrandr
commands as aboce
I move a window from the top screen to the lower one via mouse dragging
the window transitions from Tile mode to Grid mode
an error message is displayed once:
redflat/layout/grid.lua:203: attempt to index local 'cell' (a nil value)
The error message only happens once when the first client enters the lower screen after connecting the external monitor. If I adjust the is_diff()
function as portrayed below, the message doesn't appear:
local function is_diff(g1, g2, cell)
if not cell then return false end
for k, v in pairs(g1) do
if math.abs(g2[k] - v) >= cell[k] then return true end
end
return false
end
(added if not cell then return false end
)
The error does not appear, yet the grid layout seems to work fine so far. It almost seems like the cell
value (provided via grid.data.cell
in the calling functions) is accessed before it is refreshed correctly or something. I haven't yet fully grasped the implementation logic of the grid layout, maybe you can provide more insight here. I assume this proposed fix should be non-destructive?
When migrating from old version (2 years old) redflat to new one (latest available today) there are errors caused by invalid __newindex in the wibox in this line (redflat/menu.lua:594):
_menu.wibox.height = _menu.add_size
The issue is because we have set add_size
to 0 before. I don't know exactly why this happens but setting it to any positive integer (>= 1.0) fixes the error. Probably, something has changed within lua or the wibox itself in newest packages (I am using archlinux so everything is the up-to-date).
Firefox is spawning a process called "Web Content
". The output of /proc/<pid>/stat
will be
<pid> (Web Content) S 11111 9175 9175 ...
Notice the space in the process name of the second field.
The regex used for splitting the proc
output is not compatible with process names that have spaces in them. This leads to:
(Web
name
being set to nil
(Web
and Content)
) all elements in the table are shifted by 1
name = nil
mem = <huge_number>
The item with no name an huge memory usage value will always be the first item in the memory listing due to top
's sort_by_mem()
. Since the name is nil
, the name of the previous process is kept but is now assigned a completely wrong memory usage:
Also I suspect the PID is still updated, so the "kill" button would actually kill the wrong process as well.
I presume the fix would be following:
proc
output to treat strings within brackets as a single entity, not splitting them at whitespacesI'm not good at regex, sadly. I could look into it but maybe you can come up with a solution way quicker? :)
The minitray widget is not drawing the background and border, the tray's icons still display and can be interacted with. If compton shadows are enabled the outline of the box can be seen in the correct location and in the correct shape. In addition, if icons like nm-applet update the icon, the new icon is drawn on top of the older icons for nm-applet. If there are no tray icons then the background is drawn and will continue to draw until the tray is closed even if tray icons are added.
I am running arch and am currently fully updated. This issue did not occur at first. I attempted to pull down a new copy of your example redflat configs only changing rc.lua so that the colorless config was the only one uncommented. This did not resolve the issue.
Additionally, this issue does not seem to affect other awesome drawn things such as the tooltips or the menu that appears when you right click on an item in the task list.
The ercheck popup is VERY small, the error text simply can not be readable but it ought to be so. Personally, I have changed this popup height and width to be almost fullscreen because I could not read the error description to fix it.
I understand that this project is not made for others except you and so it is designed by you for you only, but it is interesting for me why you don't have such problems as me here, because they are seem happen for everyone :)
I wan to use you awesome-config themes. However it requires this library? How can I add it on arch so that it can be seen on lua require statement?
When use combination for application switch, it pop-up, get keyboard focus and that`s all only killing wm solve problem. Same happens with app quick launcher.
hi
I've changed behaviour to hide/unhide border on keystroke, but I have problems with awesome restart.
I don't know where to change when awesome starts, to remove border from maximized windows.
Could you help me with that?
After using redflat for quite some time now and growing accustomed to its UI behavior, one thing started to bug me a bit: the tasklist
tooltip has no button functions for single clients (non-grouped tasks).
The code in question:
Line 422 in 62616b0
Seeing the conditional and the comment in the code, it's obvious you intentionally made it this way. That's why I refrained from simply changing this and putting up a PR. Instead I'd like to present my opinion on this, so maybe we can discuss the pros and cons of this.
From a UX point of view, the tooltip entries' behavior on grouped tasks suggest they can be left- and right-clicked to access the window-specific function such as raise or menu. Visually the tooltips for single (non-grouped) clients are identical to grouped ones but their behavior is not: they don't respond to clicks. Sure the tasklist
button itself provides those functions instead for single clients, thus it isn't strictly required for the tooltip to do the same again.
However, from a UX point of view, visually and contextually identical elements should behave the same if possible, in my opinion. I often find myself erronously clicking a single client's tooltip just to be reminded I have to use the tasklist
button in this special case instead because it is a single client.
I currently see no downside of using the full functionality (highlight, click actions) of tooltips for single clients as well. Am I overlooking something here? What's your opinion on this?
What should we change in the library so that it supports HiDPI monitors? For example, my dpi is twice as big as usual (192 instead of 96) . Last time I modified all the constants by multiplying it twice but is there more elegant method?
I'm currently wrapping up a major redesign and restructure work on my own config with the goal of making my personal redflat fork obsolete by either contributing the changes (as done recently) or migrating very specific adjustments into separate extensions.
I'm still carrying around one last hotfix that prevents me from dropping my redflat fork entirely:
--- a/float/keychain.lua
+++ b/float/keychain.lua
@@ -123,7 +123,7 @@ function keychain:init(style)
if event == "press" then return false end
-- dirty fix for first key release
- if self.actkey == key and #mod == 0 then self.actkey = nil; return end
+ if self.actkey == key then self.actkey = nil; return end
if awful.util.table.hasitem(self.service.close, key) then self:hide()
elseif awful.util.table.hasitem(self.service.stepback, key) then self:undo()
Essentially, when I don't use that adjustment as soon as I press the combination for the keychain - which is [Alt] + [c]
for me (I use Mod1
as mod key) - the key [c]
is oftentimes registered a second time. That makes the keychain display A-c c
instead of A-c
and requires me to press backspace once in order to clear the second [c]
which is otherwise interpreted as the first character for the keychain. I can reproduce this on two entirely different machines.
Judging from the comment above the affected line of code, it seems the #mod == 0
check is there specifically for some key release handling. What was the reason behind this? I'm guessing that it behaves differently with Mod4
or your specific setup?
The quick-app launcher does not accept any input but it worked okay 2 years ago. For example, mouse hovering over items, nor clicking the items via mouse buttons, nor keyboard up/down does not work, only Enter
gets handled.
Hi ,
really nice work but possible to get a documentation for using your module ?
When awesome loads the widgets including the pulse
widget, the default _sink
attribute is set. This means that whenever a different headset (a bluetooth one for example) is connected, the default sink does not change to the new default.
Hello I am using your extension module for Awesome window manager with a dual screen setup. When i was creating the desktop widgets I found out that the widgets would appear on my left most screen (not primary screen) and slightly higher then they should be.
A bit of digging later and I have found that when you are getting the positions of widgets with workarea you are not adding the x or y position which causes them to appear on the wrong screen.
to fix it on my end I have added:
if dir == "width" then
pos = pos + workarea.x
elseif dir == "height" then
pos = pos + workarea.y
end
just before you return the pos in the local function redflat.util.desktop.wposition .
I hope this helps.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.