Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fixed lua regression and application launcher issues and made a new keyboard layout widget #207

Open
wants to merge 77 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
310c4bc
'regular commit'
frostedpenguin Mar 20, 2022
006a340
made keyboard layout widget
frostedpenguin Jul 16, 2022
1013aca
'fixed top panel'
frostedpenguin Jul 21, 2022
8d36c34
'fixed all panels'
frostedpenguin Jul 21, 2022
11c77c7
'finalized keyboard widget'
frostedpenguin Jul 21, 2022
9fdd1c8
'small line change'
frostedpenguin Jul 21, 2022
a2965d2
'small line change'
frostedpenguin Jul 21, 2022
4f2b4f6
'removing debug'
frostedpenguin Jul 21, 2022
cda843a
implemented feature
frostedpenguin Jul 27, 2022
f016f39
fixed linear
frostedpenguin Aug 4, 2022
da6a07e
fixed surreal
frostedpenguin Aug 4, 2022
040cd55
regular commit
frostedpenguin Aug 4, 2022
55ca4a5
fixed gnawesome
frostedpenguin Aug 6, 2022
c1d47a0
'fixed global search issues in all themes'
frostedpenguin Sep 18, 2022
f147ba7
'fixed global search issues in all themes'
frostedpenguin Sep 18, 2022
c51735f
Update README.md
frostedpenguin Sep 18, 2022
5525996
testing the watere 🌊
frostedpenguin Oct 8, 2022
dd8ff8b
experimenting with metatables 🧪
frostedpenguin Oct 9, 2022
a9a9b60
finished path module, experimenting with shell commands
frostedpenguin Oct 9, 2022
aee2f81
regular commit
frostedpenguin Oct 11, 2022
1e87305
working sceleton functional 🧱
frostedpenguin Oct 13, 2022
0c8f281
changed theme folder structure and added other themes configurations 🧰
frostedpenguin Oct 13, 2022
09786ab
changing path module mechanism 🤖
frostedpenguin Oct 13, 2022
8784efc
regular commit
frostedpenguin Oct 14, 2022
a39dbf7
regular commit
frostedpenguin Oct 15, 2022
80636ea
path module failing ❌
frostedpenguin Oct 19, 2022
5c744d7
regular commit
frostedpenguin Oct 21, 2022
fb02e23
regular commit
frostedpenguin Oct 21, 2022
e46b194
building, building, building 🔨
frostedpenguin Oct 22, 2022
cdcae45
themes seem to function except from floppy 🤔
frostedpenguin Oct 25, 2022
e3a5042
fixed xdg-folders widget 👷
frostedpenguin Oct 25, 2022
ac3711f
floppy action bar problem 👷
frostedpenguin Nov 3, 2022
dca2392
fixed search app widget icon on floppy 🚀
frostedpenguin Nov 3, 2022
39d5b9b
fixed today panel on floppy ✨
frostedpenguin Nov 3, 2022
1a970bd
fixed clock widget on floppy 🕒
frostedpenguin Nov 3, 2022
a6cc165
in progress music widget refactoring 🧱
frostedpenguin Nov 3, 2022
4841053
music widget for floppy works 🎵
frostedpenguin Nov 4, 2022
f14cd91
trying to make control center music widget work 🔎
frostedpenguin Nov 5, 2022
01c81cb
awesome folder migration 📦
frostedpenguin Nov 5, 2022
18baadb
awesome folder migration 📦
frostedpenguin Nov 5, 2022
c2ea13b
managed to show music widget on surreal 🆗
frostedpenguin Nov 6, 2022
1ffc94b
regular commit
frostedpenguin Nov 9, 2022
1a42c43
fixed mpd widget in surreal and linear 🎇
frostedpenguin Nov 9, 2022
b39b88e
fixed linear panel height
frostedpenguin Nov 10, 2022
e9c500f
regular commit
frostedpenguin Nov 10, 2022
a91ec98
fixed sliders on floppy left panel 🔥
frostedpenguin Nov 10, 2022
999de3e
fixed floppy left panel icon bg 🎨
frostedpenguin Nov 11, 2022
4f8f986
all icons functional on floppy left panenel
frostedpenguin Nov 11, 2022
92007ea
airplane-mode floppy fixed 🛫
frostedpenguin Nov 11, 2022
b32b0dd
trying to make awk work 🧠
frostedpenguin Nov 12, 2022
327c63d
fixed cpu and mem scripts 📔
frostedpenguin Nov 13, 2022
728dadf
simplified temperature meter watch script 🤒
frostedpenguin Nov 15, 2022
1b9b507
successfully migrated meter class in floppy 📦
frostedpenguin Nov 15, 2022
eb80fff
migrated all themes to meter class 🪃
frostedpenguin Nov 15, 2022
eb8ca89
made toggle component 🚀
frostedpenguin Nov 16, 2022
caa32b3
trying to make circular toggle work 
frostedpenguin Nov 16, 2022
aad4c05
made airplane mode basic toggle ✨
frostedpenguin Nov 17, 2022
5f35451
made circular and bluetooth, trying to implement watch scripts
frostedpenguin Nov 17, 2022
ec2fb42
completed tests for rfkill watch scripts 🧪
frostedpenguin Nov 19, 2022
42e467d
bluetooth toggles work 🌈
frostedpenguin Nov 19, 2022
4aa71af
all toggles functional 🆗
frostedpenguin Nov 20, 2022
6e02a35
migration to single folder somewhat successful ✨
frostedpenguin Nov 26, 2022
a086b67
fixed notification box deletion
frostedpenguin Nov 26, 2022
971ee2b
skeleton of theme picker implemented
frostedpenguin Nov 28, 2022
e3cd3de
regular commit
frostedpenguin Nov 29, 2022
a798add
close to completion 🤞
frostedpenguin Nov 29, 2022
23f6288
theme picker works fine 🥳
frostedpenguin Nov 29, 2022
e65c061
a lot of work done 🔨
frostedpenguin Nov 30, 2022
08abf33
xdg-folders-builders completed
frostedpenguin Dec 7, 2022
1feeb72
removed pl.pretty deps
frostedpenguin Dec 10, 2022
ed5c692
fixed taglist for linear
frostedpenguin Dec 10, 2022
687886e
added error handling on watch
frostedpenguin Dec 13, 2022
142d314
Fixed: picom won't start
enamulhasanabid Dec 13, 2022
5d44eea
fixed hard drive meter
frostedpenguin Dec 13, 2022
f5e6280
updated readme buttons 🔘
frostedpenguin Feb 22, 2023
37f5b16
updated readme
frostedpenguin Feb 22, 2023
fb70e3d
Merge pull request #5 from frostedpenguin/theme-picker
frostedpenguin Feb 22, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 6 additions & 0 deletions .luarc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"$schema": "https://raw.githubusercontent.com/sumneko/vscode-lua/master/setting/schema.json",
"Lua.diagnostics.disable": [
"unused-local"
]
}
54 changes: 15 additions & 39 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,21 +11,25 @@

<div align='center'>

[![maintained](https://img.shields.io/maintenance/yes/2020?label=maintained&style=flat-square)](https://github.com/manilarome/the-glorious-dotfiles/commits/master) [![contributions](https://img.shields.io/badge/contribution-welcome-brightgreen&?style=flat-square)](https://github.com/manilarome/the-glorious-dotfiles/pulls) [![HitCount](http://hits.dwyl.com/manilarome/Glorified-Dotfiles.svg)](http://hits.dwyl.com/manilarome/the-glorified-dotfiles)
[![maintained](https://shields.io/github/last-commit/frostedpenguin/the-glorious-dotfiles)](https://github.com/manilarome/the-glorious-dotfiles/commits/master)
[![contributions](https://img.shields.io/badge/contribution-welcome-brightgreen&?style=flat-square)](https://github.com/manilarome/the-glorious-dotfiles/pulls)
[![HitCount](http://hits.dwyl.com/manilarome/Glorified-Dotfiles.svg)](http://hits.dwyl.com/manilarome/the-glorified-dotfiles)
![issues](https://shields.io/github/issues/frostedpenguin/the-glorious-dotfiles)


</div>

<div align='center'>
<a href='https://github.com/manilarome/the-glorious-dotfiles/wiki'>
<a href='https://github.com/frostedpenguin/the-glorious-dotfiles/wiki'>
<img src='images/button-wiki.png' width='100px'>
</a>
<a href='https://github.com/manilarome/the-glorious-dotfiles/wiki/Dependencies'>
<a href='https://github.com/frostedpenguin/the-glorious-dotfiles/wiki/#dependencies'>
<img src='images/button-depends.png' width='100px'>
</a>
<a href='https://github.com/manilarome/the-glorious-dotfiles/wiki/Getting-Started'>
<a href='https://github.com/frostedpenguin/the-glorious-dotfiles#installation-and-usage'>
<img src='images/button-install.png' width='100px'>
</a>
<a href='https://github.com/manilarome/the-glorious-dotfiles/wiki/Gallery'>
<a href='https://github.com/frostedpenguin/the-glorious-dotfiles#gallery'>
<img src='images/button-gallery.png' width='100px'>
</a>
<br>
Expand All @@ -46,7 +50,7 @@
</p>


## [Wiki here](https://github.com/manilarome/the-glorious-dotfiles/wiki)
## [Wiki here](https://github.com/frostedpenguin/the-glorious-dotfiles/wiki)

The wiki will guide you to replicate my setups. So read the frickin' manual! If you post an issue that can be solve by reading it, I'll drop kick you.

Expand Down Expand Up @@ -80,45 +84,16 @@ If you're too lazy to read the wiki, here's some of the details you need to know
2. Clone this repository.

```bash
$ git clone --depth 1 https://github.com/manilarome/the-glorious-dotfiles/
$ git clone --depth 1 https://github.com/frostedpenguin/the-glorious-dotfiles/
```

3. Make sure to create a backup if you have a current AwesomeWM configuration.
4. Copy the `the-glorious-dotfiles/config/awesome/SETUPNAME` folder to your `"${HOME}"/.config/`. I'll just assume that you don't have an `awesome` folder in your `~/.config/`:

```bash
# Use the Floppy setup
$ cp -r the-glorious-dotfiles/config/awesome/floppy $HOME/.config/awesome

# Use the GNawesOME setup
$ cp -r the-glorious-dotfiles/config/awesome/gnawesome $HOME/.config/awesome

# Use the Linear setup
$ cp -r the-glorious-dotfiles/config/awesome/linear $HOME/.config/awesome

# Use the Surreal setup
$ cp -r the-glorious-dotfiles/config/awesome/surreal $HOME/.config/awesome
```

4. Copy the `the-glorious-dotfiles/config/awesome/` folder to your `"${HOME}"/.config/`. I'll just assume that you don't have an `awesome` folder in your `~/.config/`:
Unlike the original I have implemented a theme picker that lets you iterate
through the themes so no worry for copying the wrong folder 😉.
4. Change the global configuration in `$HOME/.config/awesome/configuration/config.lua`.
5. Reload AwesomeWM by pressing <kbd>Super + Shift + r</kbd>.

## TODOs

My TODOs or roadmap for my awesomewm setups.

- [x] Scrollable Notification Center<sup>needs improvement</sup>
- [x] Lockscreen PAM Integration
- [x] Multi-monitor support
- [x] Refactor for cleaner code<sup>WIP</sup>
- [x] Extend the screen recorder widget's functionality
- [x] Adjust picom's blur strength using a slider


## Selling the dotfiles

Why would I want this?

### Core features

These are the features included in my AwesomeWM setups!
Expand All @@ -137,6 +112,7 @@ These are the features included in my AwesomeWM setups!
+ Hardware Monitor
+ Blue Light Filter Widgets
+ Lockscreen Module with Face Capture and PAM Integration
+ Theme picker
+ Easter eggs!<sup>Mostly bugs</sup>
+ Any many more!

Expand Down
65 changes: 65 additions & 0 deletions config/awesome/__tests__/bluetooth/init.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
local mocks = require("__tests__.mocks.bluetooth")
local scripts = require("widget.toggles.scripts")
local utils = require("__tests__.utils")
local bluetooth_scripts = scripts.bluetooth
local watch_script = bluetooth_scripts.watch_script[3]
local luaunit = require("luaunit")
print(utils.script_path())

TestLogger = {}
-- 🔧 TODO: make error handler for io.popen
local command = _
function TestLogger:tearDown()
command:close()
end
---@diagnostic disable-next-line: lowercase-global
function TestLogger:testOneBlockedOneUnblocked()
local expected = "true"
local DI = utils.DI("cat " .. mocks.one_unblocked_one_blocked, watch_script)
command = io.popen(DI)
local actual = assert(command):read([[*all]])
actual = utils.serialize(actual)
luaunit.assertEquals(actual, expected)
end
function TestLogger:test_two_unblocked()
local expected = "true"
local DI = utils.DI("cat " .. mocks.two_unblocked, watch_script)
command = io.popen(DI)
local actual = assert(command):read([[*all]])
actual = utils.serialize(actual)
luaunit.assertEquals(actual, expected)
end
function TestLogger:test_two_blocked()
local expected = "false"
local DI = utils.DI("cat " .. mocks.two_blocked, watch_script)
command = io.popen(DI)
local actual = assert(command):read([[*all]])
actual = utils.serialize(actual)
luaunit.assertEquals(actual, expected)
end
function TestLogger:test_one_blocked_one_unblocked()
local expected = "true"
local DI = utils.DI("cat " .. mocks.one_blocked_one_unblocked, watch_script)
command = io.popen(DI)
local actual = assert(command):read([[*all]])
actual = utils.serialize(actual)
luaunit.assertEquals(actual, expected)
end
function TestLogger:test_no_bluetooth_devices()
local expected = "false"
local DI = utils.DI("cat " .. mocks.no_bluetooth_devices, watch_script)
command = io.popen(DI)
local actual = assert(command):read([[*all]])
actual = utils.serialize(actual)
luaunit.assertEquals(actual, expected)
end
function TestLogger:test_no_devices()
local expected = "false"
local DI = utils.DI("cat " .. mocks.no_devices, watch_script)
command = io.popen(DI)
local actual = assert(command):read([[*all]])
actual = utils.serialize(actual)
luaunit.assertEquals(actual, expected)
end

os.exit(luaunit.LuaUnit.run())
11 changes: 11 additions & 0 deletions config/awesome/__tests__/mocks/bluetooth/init.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
local utils = require("__tests__.utils")
local curr_dir = utils.script_path()
local mocks = {
one_unblocked_one_blocked = curr_dir .. "one-unblocked-one-blocked.json",
one_blocked_one_unblocked = curr_dir .. "one-blocked-one-unblocked.json",
two_blocked = curr_dir .. "two-blocked.json",
two_unblocked = curr_dir .. "two-unblocked.json",
no_bluetooth_devices = curr_dir .. "no-bluetooth-devices.json",
no_devices = curr_dir .. "no-devices.json",
}
return mocks
11 changes: 11 additions & 0 deletions config/awesome/__tests__/mocks/bluetooth/no-bluetooth-devices.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"rfkilldevices": [
{
"id": 2,
"type": "wlan",
"device": "phy0",
"soft": "unblocked",
"hard": "unblocked"
}
]
}
3 changes: 3 additions & 0 deletions config/awesome/__tests__/mocks/bluetooth/no-devices.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"rfkilldevices": []
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"rfkilldevices": [
{
"id": 0,
"type": "bluetooth",
"device": "tpacpi_bluetooth_sw",
"soft": "blocked",
"hard": "blocked"
},
{
"id": 2,
"type": "wlan",
"device": "phy0",
"soft": "unblocked",
"hard": "unblocked"
},
{
"id": 5,
"type": "bluetooth",
"device": "hci0",
"soft": "unblocked",
"hard": "unblocked"
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"rfkilldevices": [
{
"id": 0,
"type": "bluetooth",
"device": "tpacpi_bluetooth_sw",
"soft": "unblocked",
"hard": "unblocked"
},
{
"id": 2,
"type": "wlan",
"device": "phy0",
"soft": "unblocked",
"hard": "unblocked"
},
{
"id": 5,
"type": "bluetooth",
"device": "hci0",
"soft": "blocked",
"hard": "blocked"
}
]
}
25 changes: 25 additions & 0 deletions config/awesome/__tests__/mocks/bluetooth/two-blocked.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"rfkilldevices": [
{
"id": 0,
"type": "bluetooth",
"device": "tpacpi_bluetooth_sw",
"soft": "blocked",
"hard": "blocked"
},
{
"id": 2,
"type": "wlan",
"device": "phy0",
"soft": "unblocked",
"hard": "unblocked"
},
{
"id": 5,
"type": "bluetooth",
"device": "hci0",
"soft": "blocked",
"hard": "blocked"
}
]
}
25 changes: 25 additions & 0 deletions config/awesome/__tests__/mocks/bluetooth/two-unblocked.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"rfkilldevices": [
{
"id": 0,
"type": "bluetooth",
"device": "tpacpi_bluetooth_sw",
"soft": "unblocked",
"hard": "unblocked"
},
{
"id": 2,
"type": "wlan",
"device": "phy0",
"soft": "unblocked",
"hard": "unblocked"
},
{
"id": 5,
"type": "bluetooth",
"device": "hci0",
"soft": "unblocked",
"hard": "unblocked"
}
]
}
16 changes: 16 additions & 0 deletions config/awesome/__tests__/utils/init.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
local script_path = function()
local str = debug.getinfo(2, "S").source:sub(2)
return str:match("(.*/)")
end
local serialize = function(str)
return string.gsub(str, "\n", "")
end
local DI = function(source, command)
local map = string.match(command, "|(.*)")
return source .. "|" .. map
end
return {
script_path = script_path,
serialize = serialize,
DI = DI,
}
Loading