Add dot_config/awesome/awesome-wm-widgets/CODEOWNERS
Add dot_config/awesome/awesome-wm-widgets/LICENSE Add dot_config/awesome/awesome-wm-widgets/README.md Add dot_config/awesome/awesome-wm-widgets/Screenshot from 2019-03-01 14-28-18.png Add dot_config/awesome/awesome-wm-widgets/apt-widget/README.md Add dot_config/awesome/awesome-wm-widgets/apt-widget/apt-widget.lua Add dot_config/awesome/awesome-wm-widgets/apt-widget/icons/black.svg Add dot_config/awesome/awesome-wm-widgets/apt-widget/icons/help-circle.svg Add dot_config/awesome/awesome-wm-widgets/apt-widget/icons/orange.svg Add dot_config/awesome/awesome-wm-widgets/apt-widget/icons/refresh-cw.svg Add dot_config/awesome/awesome-wm-widgets/apt-widget/icons/watch.svg Add dot_config/awesome/awesome-wm-widgets/apt-widget/icons/white-black.svg Add dot_config/awesome/awesome-wm-widgets/apt-widget/icons/white-orange.svg Add dot_config/awesome/awesome-wm-widgets/apt-widget/screenshots/screenshot.gif Add dot_config/awesome/awesome-wm-widgets/awesome-o.png Add dot_config/awesome/awesome-wm-widgets/awesome.png Add dot_config/awesome/awesome-wm-widgets/battery-widget/README.md Add dot_config/awesome/awesome-wm-widgets/battery-widget/bat-wid-1.png Add dot_config/awesome/awesome-wm-widgets/battery-widget/bat-wid-2.png Add dot_config/awesome/awesome-wm-widgets/battery-widget/bat-wid-22.png Add dot_config/awesome/awesome-wm-widgets/battery-widget/bat-wid-3.png Add dot_config/awesome/awesome-wm-widgets/battery-widget/battery.lua Add dot_config/awesome/awesome-wm-widgets/battery-widget/spaceman.jpg Add dot_config/awesome/awesome-wm-widgets/batteryarc-widget/10_c.png Add dot_config/awesome/awesome-wm-widgets/batteryarc-widget/10_d.png Add dot_config/awesome/awesome-wm-widgets/batteryarc-widget/20_c.png Add dot_config/awesome/awesome-wm-widgets/batteryarc-widget/20_d.png Add dot_config/awesome/awesome-wm-widgets/batteryarc-widget/80_c.png Add dot_config/awesome/awesome-wm-widgets/batteryarc-widget/80_d.png Add dot_config/awesome/awesome-wm-widgets/batteryarc-widget/README.md Add dot_config/awesome/awesome-wm-widgets/batteryarc-widget/batteryarc.lua Add dot_config/awesome/awesome-wm-widgets/batteryarc-widget/spaceman.jpg Add dot_config/awesome/awesome-wm-widgets/batteryarc-widget/warning.png Add dot_config/awesome/awesome-wm-widgets/bitbucket-widget/README.md Add dot_config/awesome/awesome-wm-widgets/bitbucket-widget/bitbucket-icon-gradient-blue.svg Add dot_config/awesome/awesome-wm-widgets/bitbucket-widget/bitbucket.lua Add dot_config/awesome/awesome-wm-widgets/bitbucket-widget/check.svg Add dot_config/awesome/awesome-wm-widgets/bitbucket-widget/clipboard.svg Add dot_config/awesome/awesome-wm-widgets/bitbucket-widget/copy.svg Add dot_config/awesome/awesome-wm-widgets/bitbucket-widget/executable_test_bitbucket_api.sh Add dot_config/awesome/awesome-wm-widgets/bitbucket-widget/git-pull-request.svg Add dot_config/awesome/awesome-wm-widgets/bitbucket-widget/message-circle.svg Add dot_config/awesome/awesome-wm-widgets/bitbucket-widget/user.svg Add dot_config/awesome/awesome-wm-widgets/brightness-widget/README.md Add dot_config/awesome/awesome-wm-widgets/brightness-widget/br-wid-1.png Add dot_config/awesome/awesome-wm-widgets/brightness-widget/brightness.lua Add dot_config/awesome/awesome-wm-widgets/brightness-widget/brightness.svg Add dot_config/awesome/awesome-wm-widgets/calendar-widget/README.md Add dot_config/awesome/awesome-wm-widgets/calendar-widget/calendar.lua Add dot_config/awesome/awesome-wm-widgets/calendar-widget/calendar_bottom_right.png Add dot_config/awesome/awesome-wm-widgets/calendar-widget/calendar_start_sunday.png Add dot_config/awesome/awesome-wm-widgets/calendar-widget/calendar_top.png Add dot_config/awesome/awesome-wm-widgets/calendar-widget/calendar_top_right.png Add dot_config/awesome/awesome-wm-widgets/calendar-widget/dark.png Add dot_config/awesome/awesome-wm-widgets/calendar-widget/light.png Add dot_config/awesome/awesome-wm-widgets/calendar-widget/nord.png Add dot_config/awesome/awesome-wm-widgets/calendar-widget/outrun.png Add dot_config/awesome/awesome-wm-widgets/cmus-widget/README.md Add dot_config/awesome/awesome-wm-widgets/cmus-widget/cmus.lua Add dot_config/awesome/awesome-wm-widgets/cmus-widget/screenshots/cmus-widget.png Add dot_config/awesome/awesome-wm-widgets/cpu-widget/README.md Add dot_config/awesome/awesome-wm-widgets/cpu-widget/cpu-widget.lua Add dot_config/awesome/awesome-wm-widgets/cpu-widget/cpu.gif Add dot_config/awesome/awesome-wm-widgets/cpu-widget/cpu.png Add dot_config/awesome/awesome-wm-widgets/cpu-widget/custom.png Add dot_config/awesome/awesome-wm-widgets/cpu-widget/window-close-symbolic.svg Add dot_config/awesome/awesome-wm-widgets/docker-widget/README.md Add dot_config/awesome/awesome-wm-widgets/docker-widget/docker.gif Add dot_config/awesome/awesome-wm-widgets/docker-widget/docker.lua Add dot_config/awesome/awesome-wm-widgets/docker-widget/icons/docker.svg Add dot_config/awesome/awesome-wm-widgets/docker-widget/icons/pause-btn.svg Add dot_config/awesome/awesome-wm-widgets/docker-widget/icons/pause.svg Add dot_config/awesome/awesome-wm-widgets/docker-widget/icons/play-btn.svg Add dot_config/awesome/awesome-wm-widgets/docker-widget/icons/play-btn.svg- Add dot_config/awesome/awesome-wm-widgets/docker-widget/icons/play.svg Add dot_config/awesome/awesome-wm-widgets/docker-widget/icons/square.svg Add dot_config/awesome/awesome-wm-widgets/docker-widget/icons/stop-btn.svg Add dot_config/awesome/awesome-wm-widgets/docker-widget/icons/trash-btn.svg Add dot_config/awesome/awesome-wm-widgets/docker-widget/icons/unpause-btn.svg Add dot_config/awesome/awesome-wm-widgets/dot_git/FETCH_HEAD Add dot_config/awesome/awesome-wm-widgets/dot_git/HEAD Add dot_config/awesome/awesome-wm-widgets/dot_git/branches/.keep Add dot_config/awesome/awesome-wm-widgets/dot_git/config Add dot_config/awesome/awesome-wm-widgets/dot_git/description Add dot_config/awesome/awesome-wm-widgets/dot_git/hooks/executable_applypatch-msg.sample Add dot_config/awesome/awesome-wm-widgets/dot_git/hooks/executable_commit-msg.sample Add dot_config/awesome/awesome-wm-widgets/dot_git/hooks/executable_fsmonitor-watchman.sample Add dot_config/awesome/awesome-wm-widgets/dot_git/hooks/executable_post-update.sample Add dot_config/awesome/awesome-wm-widgets/dot_git/hooks/executable_pre-applypatch.sample Add dot_config/awesome/awesome-wm-widgets/dot_git/hooks/executable_pre-commit.sample Add dot_config/awesome/awesome-wm-widgets/dot_git/hooks/executable_pre-merge-commit.sample Add dot_config/awesome/awesome-wm-widgets/dot_git/hooks/executable_pre-push.sample Add dot_config/awesome/awesome-wm-widgets/dot_git/hooks/executable_pre-rebase.sample Add dot_config/awesome/awesome-wm-widgets/dot_git/hooks/executable_pre-receive.sample Add dot_config/awesome/awesome-wm-widgets/dot_git/hooks/executable_prepare-commit-msg.sample Add dot_config/awesome/awesome-wm-widgets/dot_git/hooks/executable_push-to-checkout.sample Add dot_config/awesome/awesome-wm-widgets/dot_git/hooks/executable_update.sample Add dot_config/awesome/awesome-wm-widgets/dot_git/index Add dot_config/awesome/awesome-wm-widgets/dot_git/info/exclude Add dot_config/awesome/awesome-wm-widgets/dot_git/logs/HEAD Add dot_config/awesome/awesome-wm-widgets/dot_git/logs/refs/heads/master Add dot_config/awesome/awesome-wm-widgets/dot_git/logs/refs/remotes/origin/HEAD Add dot_config/awesome/awesome-wm-widgets/dot_git/objects/info/.keep Add dot_config/awesome/awesome-wm-widgets/dot_git/objects/pack/readonly_pack-1e9e7e2689ef151bd360434326e2a844681c621b.idx Add dot_config/awesome/awesome-wm-widgets/dot_git/objects/pack/readonly_pack-1e9e7e2689ef151bd360434326e2a844681c621b.pack Add dot_config/awesome/awesome-wm-widgets/dot_git/packed-refs Add dot_config/awesome/awesome-wm-widgets/dot_git/refs/heads/master Add dot_config/awesome/awesome-wm-widgets/dot_git/refs/remotes/origin/HEAD Add dot_config/awesome/awesome-wm-widgets/dot_git/refs/tags/.keep Add dot_config/awesome/awesome-wm-widgets/dot_github/CODEOWNERS Add dot_config/awesome/awesome-wm-widgets/dot_github/FUNDING.yml Add dot_config/awesome/awesome-wm-widgets/dot_github/workflows/build.yml Add dot_config/awesome/awesome-wm-widgets/dot_github/workflows/executable_update-site.yml Add dot_config/awesome/awesome-wm-widgets/dot_gitignore Add dot_config/awesome/awesome-wm-widgets/dot_luacheckrc Add dot_config/awesome/awesome-wm-widgets/email-widget/README.md Add dot_config/awesome/awesome-wm-widgets/email-widget/count_unread_emails.py Add dot_config/awesome/awesome-wm-widgets/email-widget/em-wid-1.png Add dot_config/awesome/awesome-wm-widgets/email-widget/em-wid-2.png Add dot_config/awesome/awesome-wm-widgets/email-widget/email.lua Add dot_config/awesome/awesome-wm-widgets/email-widget/read_unread_emails.py Add dot_config/awesome/awesome-wm-widgets/experiments/spotify-player/README.md Add dot_config/awesome/awesome-wm-widgets/experiments/spotify-player/spotify-indicator.svg Add dot_config/awesome/awesome-wm-widgets/experiments/spotify-player/spotify-player.lua Add dot_config/awesome/awesome-wm-widgets/experiments/spotify-player/spotify-player.png Add dot_config/awesome/awesome-wm-widgets/fs-widget/README.md Add dot_config/awesome/awesome-wm-widgets/fs-widget/fs-widget.lua Add dot_config/awesome/awesome-wm-widgets/fs-widget/screenshot.png Add dot_config/awesome/awesome-wm-widgets/gerrit-widget/README.md Add dot_config/awesome/awesome-wm-widgets/gerrit-widget/gerrit.lua Add dot_config/awesome/awesome-wm-widgets/gerrit-widget/gerrit_icon.svg Add dot_config/awesome/awesome-wm-widgets/gerrit-widget/gerrit_widget.png Add dot_config/awesome/awesome-wm-widgets/gerrit-widget/new_review.png Add dot_config/awesome/awesome-wm-widgets/gerrit-widget/popup.png Add dot_config/awesome/awesome-wm-widgets/github-activity-widget/README.md Add dot_config/awesome/awesome-wm-widgets/github-activity-widget/github-activity-widget.lua Add dot_config/awesome/awesome-wm-widgets/github-activity-widget/icons/alert-circle.svg Add dot_config/awesome/awesome-wm-widgets/github-activity-widget/icons/git-branch.svg Add dot_config/awesome/awesome-wm-widgets/github-activity-widget/icons/git-pull-request.svg Add dot_config/awesome/awesome-wm-widgets/github-activity-widget/icons/github.png Add dot_config/awesome/awesome-wm-widgets/github-activity-widget/icons/message-square.svg Add dot_config/awesome/awesome-wm-widgets/github-activity-widget/icons/repo.svg Add dot_config/awesome/awesome-wm-widgets/github-activity-widget/icons/star.svg Add dot_config/awesome/awesome-wm-widgets/github-activity-widget/screenshot.png Add dot_config/awesome/awesome-wm-widgets/github-contributions-widget/README.md Add dot_config/awesome/awesome-wm-widgets/github-contributions-widget/github-contributions-widget.lua Add dot_config/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/Thomashighbaugh.png Add dot_config/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/classic.png Add dot_config/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/dracula.png Add dot_config/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/leftpad.png Add dot_config/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/pink.png Add dot_config/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/screenshot.jpg Add dot_config/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/screenshot1.jpg Add dot_config/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/screenshot2.jpg Add dot_config/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/standard.png Add dot_config/awesome/awesome-wm-widgets/github-contributions-widget/screenshots/teal.png Add dot_config/awesome/awesome-wm-widgets/github-contributions-widget/themes.lua Add dot_config/awesome/awesome-wm-widgets/github-prs-widget/README.md Add dot_config/awesome/awesome-wm-widgets/github-prs-widget/icons/book.svg Add dot_config/awesome/awesome-wm-widgets/github-prs-widget/icons/calendar.svg Add dot_config/awesome/awesome-wm-widgets/github-prs-widget/icons/git-pull-request.svg Add dot_config/awesome/awesome-wm-widgets/github-prs-widget/icons/message-square.svg Add dot_config/awesome/awesome-wm-widgets/github-prs-widget/icons/user.svg Add dot_config/awesome/awesome-wm-widgets/github-prs-widget/init.lua Add dot_config/awesome/awesome-wm-widgets/github-prs-widget/screenshots/screenshot1.png Add dot_config/awesome/awesome-wm-widgets/gitlab-widget/README.md Add dot_config/awesome/awesome-wm-widgets/gitlab-widget/gitlab.lua Add dot_config/awesome/awesome-wm-widgets/gitlab-widget/icons/check.svg Add dot_config/awesome/awesome-wm-widgets/gitlab-widget/icons/gitlab-icon.svg Add dot_config/awesome/awesome-wm-widgets/gitlab-widget/icons/message-circle.svg Add dot_config/awesome/awesome-wm-widgets/gitlab-widget/screenshot.png Add dot_config/awesome/awesome-wm-widgets/jira-widget/README.md Add dot_config/awesome/awesome-wm-widgets/jira-widget/icon/jira-mark-gradient-blue.svg Add dot_config/awesome/awesome-wm-widgets/jira-widget/jira.lua Add dot_config/awesome/awesome-wm-widgets/jira-widget/screenshot/screenshot.png Add dot_config/awesome/awesome-wm-widgets/logout-menu-widget/README.md Add dot_config/awesome/awesome-wm-widgets/logout-menu-widget/icons/lock.svg Add dot_config/awesome/awesome-wm-widgets/logout-menu-widget/icons/log-out.svg Add dot_config/awesome/awesome-wm-widgets/logout-menu-widget/icons/moon.svg Add dot_config/awesome/awesome-wm-widgets/logout-menu-widget/icons/power.svg Add dot_config/awesome/awesome-wm-widgets/logout-menu-widget/icons/power_w.svg Add dot_config/awesome/awesome-wm-widgets/logout-menu-widget/icons/refresh-cw.svg Add dot_config/awesome/awesome-wm-widgets/logout-menu-widget/logout-menu.gif Add dot_config/awesome/awesome-wm-widgets/logout-menu-widget/logout-menu.lua Add dot_config/awesome/awesome-wm-widgets/logout-popup-widget/README.md Add dot_config/awesome/awesome-wm-widgets/logout-popup-widget/logout-dark.png Add dot_config/awesome/awesome-wm-widgets/logout-popup-widget/logout-dracula.png Add dot_config/awesome/awesome-wm-widgets/logout-popup-widget/logout-nord.png Add dot_config/awesome/awesome-wm-widgets/logout-popup-widget/logout-outrun.png Add dot_config/awesome/awesome-wm-widgets/logout-popup-widget/logout-popup.lua Add dot_config/awesome/awesome-wm-widgets/logout-popup-widget/power.svg Add dot_config/awesome/awesome-wm-widgets/logout-popup-widget/screenshot.gif Add dot_config/awesome/awesome-wm-widgets/logout-popup-widget/screenshot.png Add dot_config/awesome/awesome-wm-widgets/mpdarc-widget/README.md Add dot_config/awesome/awesome-wm-widgets/mpdarc-widget/mpdarc.lua Add dot_config/awesome/awesome-wm-widgets/mpris-widget/README.md Add dot_config/awesome/awesome-wm-widgets/mpris-widget/init.lua Add dot_config/awesome/awesome-wm-widgets/net-speed-widget/README.md Add dot_config/awesome/awesome-wm-widgets/net-speed-widget/icons/down.svg Add dot_config/awesome/awesome-wm-widgets/net-speed-widget/icons/up.svg Add dot_config/awesome/awesome-wm-widgets/net-speed-widget/net-speed.lua Add dot_config/awesome/awesome-wm-widgets/pomodoroarc-widget/README.md Add dot_config/awesome/awesome-wm-widgets/pomodoroarc-widget/pomodoroarc.lua Add dot_config/awesome/awesome-wm-widgets/ram-widget/README.md Add dot_config/awesome/awesome-wm-widgets/ram-widget/out.gif Add dot_config/awesome/awesome-wm-widgets/ram-widget/ram-widget.lua Add dot_config/awesome/awesome-wm-widgets/run-shell-2/run-shell-2.lua Add dot_config/awesome/awesome-wm-widgets/run-shell-2/run.lua Add dot_config/awesome/awesome-wm-widgets/run-shell-3/README.md Add dot_config/awesome/awesome-wm-widgets/run-shell-3/blur.png Add dot_config/awesome/awesome-wm-widgets/run-shell-3/pixelate.png Add dot_config/awesome/awesome-wm-widgets/run-shell-3/run-shell.lua Add dot_config/awesome/awesome-wm-widgets/run-shell/README.md Add dot_config/awesome/awesome-wm-widgets/run-shell/out.mp4 Add dot_config/awesome/awesome-wm-widgets/run-shell/run-shell.lua Add dot_config/awesome/awesome-wm-widgets/screenshot.png Add dot_config/awesome/awesome-wm-widgets/screenshot_with_sprtrs.png Add dot_config/awesome/awesome-wm-widgets/scripts/executable_update_site.sh Add dot_config/awesome/awesome-wm-widgets/spotify-shell/README.md Add dot_config/awesome/awesome-wm-widgets/spotify-shell/demo.gif Add dot_config/awesome/awesome-wm-widgets/spotify-shell/spotify-shell.lua Add dot_config/awesome/awesome-wm-widgets/spotify-widget/README.md Add dot_config/awesome/awesome-wm-widgets/spotify-widget/spo-wid-1.png Add dot_config/awesome/awesome-wm-widgets/spotify-widget/spotify-widget-custom-paused.png Add dot_config/awesome/awesome-wm-widgets/spotify-widget/spotify-widget-custom-playing.png Add dot_config/awesome/awesome-wm-widgets/spotify-widget/spotify.lua Add dot_config/awesome/awesome-wm-widgets/stackoverflow-widget/README.md Add dot_config/awesome/awesome-wm-widgets/stackoverflow-widget/screenshot.png Add dot_config/awesome/awesome-wm-widgets/stackoverflow-widget/so-icon.svg Add dot_config/awesome/awesome-wm-widgets/stackoverflow-widget/stackoverflow.lua Add dot_config/awesome/awesome-wm-widgets/todo-widget/README.md Add dot_config/awesome/awesome-wm-widgets/todo-widget/checkbox-checked-symbolic.svg Add dot_config/awesome/awesome-wm-widgets/todo-widget/chevron-down.svg Add dot_config/awesome/awesome-wm-widgets/todo-widget/chevron-up.svg Add dot_config/awesome/awesome-wm-widgets/todo-widget/list-add-symbolic.svg Add dot_config/awesome/awesome-wm-widgets/todo-widget/todo.gif Add dot_config/awesome/awesome-wm-widgets/todo-widget/todo.lua Add dot_config/awesome/awesome-wm-widgets/todo-widget/window-close-symbolic.svg Add dot_config/awesome/awesome-wm-widgets/translate-widget/README.MD Add dot_config/awesome/awesome-wm-widgets/translate-widget/demo.gif Add dot_config/awesome/awesome-wm-widgets/translate-widget/demo1.gif Add dot_config/awesome/awesome-wm-widgets/translate-widget/gnome-translate.svg Add dot_config/awesome/awesome-wm-widgets/translate-widget/translate.lua Add dot_config/awesome/awesome-wm-widgets/volume-widget/README.md Add dot_config/awesome/awesome-wm-widgets/volume-widget/icons/audio-volume-high-symbolic.svg Add dot_config/awesome/awesome-wm-widgets/volume-widget/icons/audio-volume-low-symbolic.svg Add dot_config/awesome/awesome-wm-widgets/volume-widget/icons/audio-volume-medium-symbolic.svg Add dot_config/awesome/awesome-wm-widgets/volume-widget/icons/audio-volume-muted-symbolic.svg Add dot_config/awesome/awesome-wm-widgets/volume-widget/screenshots/variations.png Add dot_config/awesome/awesome-wm-widgets/volume-widget/screenshots/volume-sink-sources.png Add dot_config/awesome/awesome-wm-widgets/volume-widget/utils.lua Add dot_config/awesome/awesome-wm-widgets/volume-widget/volume-2.svg Add dot_config/awesome/awesome-wm-widgets/volume-widget/volume.lua Add dot_config/awesome/awesome-wm-widgets/volume-widget/widgets/arc-widget.lua Add dot_config/awesome/awesome-wm-widgets/volume-widget/widgets/horizontal-bar-widget.lua Add dot_config/awesome/awesome-wm-widgets/volume-widget/widgets/icon-and-text-widget.lua Add dot_config/awesome/awesome-wm-widgets/volume-widget/widgets/icon-widget.lua Add dot_config/awesome/awesome-wm-widgets/volume-widget/widgets/vertical-bar-widget.lua Add dot_config/awesome/awesome-wm-widgets/weather-widget/README.md Add dot_config/awesome/awesome-wm-widgets/weather-widget/both.png Add dot_config/awesome/awesome-wm-widgets/weather-widget/example1.png Add dot_config/awesome/awesome-wm-widgets/weather-widget/example2.png Add dot_config/awesome/awesome-wm-widgets/weather-widget/example_response.json Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/broken-clouds-night.svg Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/broken-clouds.svg Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/clear-sky-night.svg Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/clear-sky.svg Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/few-clouds-night.svg Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/few-clouds.svg Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/mist-night.svg Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/mist.svg Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/rain-night.svg Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/rain.svg Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/scattered-clouds-night.svg Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/scattered-clouds.svg Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/shower-rain-night.svg Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/shower-rain.svg Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/snow-night.svg Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/snow.svg Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/thunderstorm-night.svg Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/VitalyGorbachev/thunderstorm.svg Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/broken-clouds-night.png Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/clear-sky-night.png Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/executable_broken-clouds.png Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/executable_clear-sky.png Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/executable_few-clouds.png Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/executable_mist-night.png Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/executable_mist.png Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/executable_rain-night.png Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/executable_rain.png Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/executable_scattered-clouds-night.png Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/executable_scattered-clouds.png Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/executable_shower-rain-night.png Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/executable_shower-rain.png Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/executable_snow-night.png Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/executable_snow.png Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/executable_thunderstorm-night.png Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/executable_thunderstorm.png Add dot_config/awesome/awesome-wm-widgets/weather-widget/icons/weather-underground-icons/few-clouds-night.png Add dot_config/awesome/awesome-wm-widgets/weather-widget/locale/de.lua Add dot_config/awesome/awesome-wm-widgets/weather-widget/locale/en.lua Add dot_config/awesome/awesome-wm-widgets/weather-widget/locale/fr.lua Add dot_config/awesome/awesome-wm-widgets/weather-widget/locale/pt.lua Add dot_config/awesome/awesome-wm-widgets/weather-widget/negative.png Add dot_config/awesome/awesome-wm-widgets/weather-widget/weather-widget.png Add dot_config/awesome/awesome-wm-widgets/weather-widget/weather.lua Add dot_config/awesome/awesome-wm-widgets/widgets-icons.png Add dot_config/awesome/awesome-wm-widgets/word-clock-widget/README.md Add dot_config/awesome/awesome-wm-widgets/word-clock-widget/screenshots/halfpastthree.png Add dot_config/awesome/awesome-wm-widgets/word-clock-widget/screenshots/halfpastthree_color.png Add dot_config/awesome/awesome-wm-widgets/word-clock-widget/screenshots/onetwentyseven.png Add dot_config/awesome/awesome-wm-widgets/word-clock-widget/screenshots/testpasttwentyone.png Add dot_config/awesome/awesome-wm-widgets/word-clock-widget/screenshots/twentythreepastnine.png Add dot_config/awesome/awesome-wm-widgets/word-clock-widget/screenshots/twentythreepasttwentyone.png Add dot_config/awesome/awesome-wm-widgets/word-clock-widget/word-clock.lua Add dot_config/awesome/mapping/client.lua Add dot_config/awesome/mapping/global.lua Add dot_config/awesome/mapping/init.lua Add dot_config/awesome/mapping/mediacontrol.lua Add dot_config/awesome/mapping/mouse.lua Add dot_config/awesome/mapping/tags.lua Update dot_config/awesome/rc.lua
This commit is contained in:
parent
0fbc575bcf
commit
1a890887a7
322 changed files with 14560 additions and 289 deletions
28
dot_config/awesome/awesome-wm-widgets/todo-widget/README.md
Normal file
28
dot_config/awesome/awesome-wm-widgets/todo-widget/README.md
Normal file
|
@ -0,0 +1,28 @@
|
|||
# ToDo Widget
|
||||
|
||||
This widget displays a list of todo items and allows marking item as done/undone, delete an item and create new ones:
|
||||
|
||||

|
||||
|
||||
# Installation
|
||||
|
||||
Widget persists todo items as a JSON, so in order to simplify JSON serialisation/deserialisation download a **json.lua** from this repository: https://github.com/rxi/json.lua under `~/.config/awesone` folder. And don't forget to star a repo :)
|
||||
|
||||
Then clone this repository under **~/.config/awesome/** and add the widget in **rc.lua**:
|
||||
|
||||
```lua
|
||||
local todo_widget = require("awesome-wm-widgets.todo-widget.todo")
|
||||
...
|
||||
s.mytasklist, -- Middle widget
|
||||
{ -- Right widgets
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
...
|
||||
-- default
|
||||
todo_widget(),
|
||||
...
|
||||
```
|
||||
Also note that widget uses [Arc Icons](https://github.com/horst3180/arc-icon-theme) and expects them to be installed under `/usr/share/icons/Arc/`.
|
||||
|
||||
# Theming
|
||||
|
||||
Widget uses your theme's colors. In case you want to have different colors, without changing your theme, please create an issue for it. I'll extract them as widget parameters.
|
|
@ -0,0 +1,148 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
sodipodi:docname="checkbox-checked-symbolic.svg"
|
||||
inkscape:export-filename="/home/sam/dev/RESOURCES/gnome-icon-theme-symbolic/src/gnome-stencils.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90"
|
||||
height="16"
|
||||
id="svg7384"
|
||||
version="1.1"
|
||||
inkscape:version="0.91 r13725"
|
||||
width="16">
|
||||
<metadata
|
||||
id="metadata90">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title>Gnome Symbolic Icon Theme</dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview
|
||||
inkscape:bbox-nodes="false"
|
||||
inkscape:bbox-paths="true"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
inkscape:current-layer="layer9"
|
||||
inkscape:cx="6.52031"
|
||||
inkscape:cy="7.7686"
|
||||
gridtolerance="10"
|
||||
inkscape:guide-bbox="true"
|
||||
guidetolerance="10"
|
||||
id="namedview88"
|
||||
inkscape:object-nodes="false"
|
||||
inkscape:object-paths="false"
|
||||
objecttolerance="10"
|
||||
pagecolor="#3a3b39"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
showborder="false"
|
||||
showgrid="false"
|
||||
showguides="true"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:snap-bbox-midpoints="false"
|
||||
inkscape:snap-global="true"
|
||||
inkscape:snap-grids="true"
|
||||
inkscape:snap-nodes="true"
|
||||
inkscape:snap-others="false"
|
||||
inkscape:snap-to-guides="true"
|
||||
inkscape:window-height="1375"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:zoom="1">
|
||||
<inkscape:grid
|
||||
dotted="false"
|
||||
empspacing="2"
|
||||
enabled="true"
|
||||
id="grid4866"
|
||||
originx="-159.99995px"
|
||||
originy="120px"
|
||||
snapvisiblegridlinesonly="true"
|
||||
spacingx="1px"
|
||||
spacingy="1px"
|
||||
type="xygrid"
|
||||
visible="true" />
|
||||
</sodipodi:namedview>
|
||||
<title
|
||||
id="title9167">Gnome Symbolic Icon Theme</title>
|
||||
<defs
|
||||
id="defs7386" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer9"
|
||||
inkscape:label="status"
|
||||
style="display:inline"
|
||||
transform="translate(-401.00015,-337)">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
d="M 404.46875,338 C 403.10458,338 402,339.10458 402,340.46875 l 0,9.0625 c 0,1.36417 1.10458,2.46875 2.46875,2.46875 l 9.0625,0 C 414.89542,352 416,350.89542 416,349.53125 l 0,-9.0625 C 416,339.10458 414.89542,338 413.53125,338 l -9.0625,0 z m 0,1 9.0625,0 c 0.83222,0 1.46875,0.63653 1.46875,1.46875 l 0,9.0625 C 415,350.36347 414.36347,351 413.53125,351 l -9.0625,0 C 403.63653,351 403,350.36347 403,349.53125 l 0,-9.0625 C 403,339.63653 403.63653,339 404.46875,339 z"
|
||||
id="rect9618-8"
|
||||
style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#bebebe;fill-opacity:1;stroke:none;stroke-width:0.99115032;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 415.17698,339.82322 -5.67683,5.55178 -1.9375,-1.9375 -2.125,2.125 3,3 1.0625,1.0625 1.0625,-1.0625 4.61433,-4.73928 z"
|
||||
id="path8913-6-7-1-5-1"
|
||||
sodipodi:nodetypes="ccccccccc"
|
||||
style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#bebebe;fill-opacity:1;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer10"
|
||||
inkscape:label="devices"
|
||||
style="display:inline"
|
||||
transform="translate(-401.00015,-337)" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer11"
|
||||
inkscape:label="apps"
|
||||
transform="translate(-401.00015,-337)" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer13"
|
||||
inkscape:label="places"
|
||||
style="display:inline"
|
||||
transform="translate(-401.00015,-337)" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer14"
|
||||
inkscape:label="mimetypes"
|
||||
transform="translate(-401.00015,-337)" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer15"
|
||||
inkscape:label="emblems"
|
||||
style="display:inline"
|
||||
transform="translate(-401.00015,-337)" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="g71291"
|
||||
inkscape:label="emotes"
|
||||
style="display:inline"
|
||||
transform="translate(-401.00015,-337)" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="g4953"
|
||||
inkscape:label="categories"
|
||||
style="display:inline"
|
||||
transform="translate(-401.00015,-337)" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer12"
|
||||
inkscape:label="actions"
|
||||
style="display:inline"
|
||||
transform="translate(-401.00015,-337)" />
|
||||
</svg>
|
After Width: | Height: | Size: 5.7 KiB |
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#ECEFF4" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-down"><polyline points="6 9 12 15 18 9"></polyline></svg>
|
After Width: | Height: | Size: 264 B |
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#ECEFF4" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-up"><polyline points="18 15 12 9 6 15"></polyline></svg>
|
After Width: | Height: | Size: 263 B |
|
@ -0,0 +1,157 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="16"
|
||||
height="16"
|
||||
id="svg2"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.48.1 r9760"
|
||||
version="1.0"
|
||||
sodipodi:docname="list-add.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape">
|
||||
<defs
|
||||
id="defs4">
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 8 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="16 : 8 : 1"
|
||||
inkscape:persp3d-origin="8 : 5.3333333 : 1"
|
||||
id="perspective18" />
|
||||
<linearGradient
|
||||
id="StandardGradient"
|
||||
x1="7.1984468"
|
||||
y1="3"
|
||||
x2="7.1984468"
|
||||
y2="13.008396"
|
||||
gradientUnits="userSpaceOnUse">
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:0.86274511;"
|
||||
offset="0"
|
||||
id="stop3283" />
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:0.47058824;"
|
||||
offset="1"
|
||||
id="stop3285" />
|
||||
</linearGradient>
|
||||
<inkscape:perspective
|
||||
id="perspective3648"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#StandardGradient"
|
||||
id="linearGradient3627"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="7.1984468"
|
||||
y1="3"
|
||||
x2="7.1984468"
|
||||
y2="13.008396"
|
||||
gradientTransform="translate(-20,0)" />
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath3649">
|
||||
<path
|
||||
style="fill:#ff00ff;fill-opacity:1;stroke:none;display:inline"
|
||||
d="m -20,0 0,16 16,0 0,-16 -16,0 z m 6.03125,3 4,0 0,3 L -7,6 l 0,4 -2.96875,0 0,3 -4,0 0,-3 -3.03125,0 0,-4 3.03125,0 0,-3 z"
|
||||
id="path3651" />
|
||||
</clipPath>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#StandardGradient"
|
||||
id="linearGradient3273"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="7.1984468"
|
||||
y1="3"
|
||||
x2="7.1984468"
|
||||
y2="13.008396" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#StandardGradient"
|
||||
id="linearGradient3277"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="7.1984468"
|
||||
y1="3"
|
||||
x2="7.1984468"
|
||||
y2="13.008396" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#9a9a9a"
|
||||
borderopacity="1"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="17.631088"
|
||||
inkscape:cx="-7.1895071"
|
||||
inkscape:cy="5.6066362"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer3"
|
||||
showgrid="true"
|
||||
inkscape:showpageshadow="false"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1028"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="25"
|
||||
inkscape:window-maximized="1">
|
||||
<sodipodi:guide
|
||||
orientation="1,0"
|
||||
position="0,112"
|
||||
id="guide2383" />
|
||||
<sodipodi:guide
|
||||
orientation="0,1"
|
||||
position="26.278146,128"
|
||||
id="guide2385" />
|
||||
<sodipodi:guide
|
||||
orientation="1,0"
|
||||
position="128,54.082119"
|
||||
id="guide2387" />
|
||||
<sodipodi:guide
|
||||
orientation="0,1"
|
||||
position="78.156291,0"
|
||||
id="guide2389" />
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid3672"
|
||||
visible="true"
|
||||
enabled="true" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer3"
|
||||
inkscape:label="Cross"
|
||||
style="display:inline">
|
||||
<path
|
||||
style="fill:#bebebe;fill-opacity:1;stroke:none"
|
||||
d="m 7.0372441,3 0,4.0117466 -4.0372441,0 0,1.9731062 4.0372441,0 0,4.0151472 1.9884029,0 0,-4.0151472 3.974353,0 0,-1.9731062 -3.974353,0 0,-4.0117466 z"
|
||||
id="Symbol"
|
||||
sodipodi:nodetypes="ccccccccccccc"
|
||||
inkscape:label="#rect2498"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 4.6 KiB |
BIN
dot_config/awesome/awesome-wm-widgets/todo-widget/todo.gif
Normal file
BIN
dot_config/awesome/awesome-wm-widgets/todo-widget/todo.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 198 KiB |
340
dot_config/awesome/awesome-wm-widgets/todo-widget/todo.lua
Normal file
340
dot_config/awesome/awesome-wm-widgets/todo-widget/todo.lua
Normal file
|
@ -0,0 +1,340 @@
|
|||
-------------------------------------------------
|
||||
-- ToDo Widget for Awesome Window Manager
|
||||
-- More details could be found here:
|
||||
-- https://github.com/streetturtle/awesome-wm-widgets/tree/master/todo-widget
|
||||
|
||||
-- @author Pavel Makhov
|
||||
-- @copyright 2020 Pavel Makhov
|
||||
-------------------------------------------------
|
||||
|
||||
local awful = require("awful")
|
||||
local wibox = require("wibox")
|
||||
local json = require("json")
|
||||
local spawn = require("awful.spawn")
|
||||
local gears = require("gears")
|
||||
local beautiful = require("beautiful")
|
||||
local gfs = require("gears.filesystem")
|
||||
|
||||
local HOME_DIR = os.getenv("HOME")
|
||||
local WIDGET_DIR = HOME_DIR .. '/.config/awesome/awesome-wm-widgets/todo-widget'
|
||||
local STORAGE = HOME_DIR .. '/.cache/awmw/todo-widget/todos.json'
|
||||
|
||||
local GET_TODO_ITEMS = 'bash -c "cat ' .. STORAGE .. '"'
|
||||
|
||||
local rows = { layout = wibox.layout.fixed.vertical }
|
||||
local todo_widget = {}
|
||||
local update_widget
|
||||
todo_widget.widget = wibox.widget {
|
||||
{
|
||||
{
|
||||
{
|
||||
{
|
||||
id = "icon",
|
||||
forced_height = 16,
|
||||
forced_width = 16,
|
||||
widget = wibox.widget.imagebox
|
||||
},
|
||||
valign = 'center',
|
||||
layout = wibox.container.place
|
||||
},
|
||||
{
|
||||
id = "txt",
|
||||
widget = wibox.widget.textbox
|
||||
},
|
||||
spacing = 4,
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
},
|
||||
margins = 4,
|
||||
layout = wibox.container.margin
|
||||
},
|
||||
shape = function(cr, width, height)
|
||||
gears.shape.rounded_rect(cr, width, height, 4)
|
||||
end,
|
||||
widget = wibox.container.background,
|
||||
set_text = function(self, new_value)
|
||||
self:get_children_by_id("txt")[1].text = new_value
|
||||
end,
|
||||
set_icon = function(self, new_value)
|
||||
self:get_children_by_id("icon")[1].image = new_value
|
||||
end
|
||||
}
|
||||
|
||||
function todo_widget:update_counter(todos)
|
||||
local todo_count = 0
|
||||
for _,p in ipairs(todos) do
|
||||
if not p.status then
|
||||
todo_count = todo_count + 1
|
||||
end
|
||||
end
|
||||
|
||||
todo_widget.widget:set_text(todo_count)
|
||||
end
|
||||
|
||||
local popup = awful.popup{
|
||||
bg = beautiful.bg_normal,
|
||||
ontop = true,
|
||||
visible = false,
|
||||
shape = gears.shape.rounded_rect,
|
||||
border_width = 1,
|
||||
border_color = beautiful.bg_focus,
|
||||
maximum_width = 400,
|
||||
offset = { y = 5 },
|
||||
widget = {}
|
||||
}
|
||||
|
||||
local add_button = wibox.widget {
|
||||
{
|
||||
{
|
||||
image = WIDGET_DIR .. '/list-add-symbolic.svg',
|
||||
resize = false,
|
||||
widget = wibox.widget.imagebox
|
||||
},
|
||||
top = 11,
|
||||
left = 8,
|
||||
right = 8,
|
||||
layout = wibox.container.margin
|
||||
},
|
||||
shape = function(cr, width, height)
|
||||
gears.shape.circle(cr, width, height, 12)
|
||||
end,
|
||||
widget = wibox.container.background
|
||||
}
|
||||
|
||||
add_button:connect_signal("button::press", function()
|
||||
local pr = awful.widget.prompt()
|
||||
|
||||
table.insert(rows, wibox.widget {
|
||||
{
|
||||
{
|
||||
pr.widget,
|
||||
spacing = 8,
|
||||
layout = wibox.layout.align.horizontal
|
||||
},
|
||||
margins = 8,
|
||||
layout = wibox.container.margin
|
||||
},
|
||||
bg = beautiful.bg_normal,
|
||||
widget = wibox.container.background
|
||||
})
|
||||
awful.prompt.run{
|
||||
prompt = "<b>New item</b>: ",
|
||||
bg = beautiful.bg_normal,
|
||||
bg_cursor = beautiful.fg_urgent,
|
||||
textbox = pr.widget,
|
||||
exe_callback = function(input_text)
|
||||
if not input_text or #input_text == 0 then return end
|
||||
spawn.easy_async(GET_TODO_ITEMS, function(stdout)
|
||||
local res = json.decode(stdout)
|
||||
table.insert(res.todo_items, {todo_item = input_text, status = false})
|
||||
spawn.easy_async_with_shell("echo '" .. json.encode(res) .. "' > " .. STORAGE, function()
|
||||
spawn.easy_async(GET_TODO_ITEMS, function(items) update_widget(items) end)
|
||||
end)
|
||||
end)
|
||||
end
|
||||
}
|
||||
popup:setup(rows)
|
||||
end)
|
||||
add_button:connect_signal("mouse::enter", function(c) c:set_bg(beautiful.bg_focus) end)
|
||||
add_button:connect_signal("mouse::leave", function(c) c:set_bg(beautiful.bg_normal) end)
|
||||
|
||||
local function worker(user_args)
|
||||
|
||||
local args = user_args or {}
|
||||
|
||||
local icon = args.icon or WIDGET_DIR .. '/checkbox-checked-symbolic.svg'
|
||||
|
||||
todo_widget.widget:set_icon(icon)
|
||||
|
||||
function update_widget(stdout)
|
||||
local result = json.decode(stdout)
|
||||
if result == nil or result == '' then result = {} end
|
||||
todo_widget:update_counter(result.todo_items)
|
||||
|
||||
for i = 0, #rows do rows[i]=nil end
|
||||
|
||||
local first_row = wibox.widget {
|
||||
{
|
||||
{widget = wibox.widget.textbox},
|
||||
{
|
||||
markup = '<span size="large" font_weight="bold" color="#ffffff">ToDo</span>',
|
||||
align = 'center',
|
||||
forced_width = 350, -- for horizontal alignment
|
||||
forced_height = 40,
|
||||
widget = wibox.widget.textbox
|
||||
},
|
||||
add_button,
|
||||
spacing = 8,
|
||||
layout = wibox.layout.fixed.horizontal
|
||||
},
|
||||
bg = beautiful.bg_normal,
|
||||
widget = wibox.container.background
|
||||
}
|
||||
|
||||
table.insert(rows, first_row)
|
||||
|
||||
for i, todo_item in ipairs(result.todo_items) do
|
||||
|
||||
local checkbox = wibox.widget {
|
||||
checked = todo_item.status,
|
||||
color = beautiful.bg_normal,
|
||||
paddings = 2,
|
||||
shape = gears.shape.circle,
|
||||
forced_width = 20,
|
||||
forced_height = 20,
|
||||
check_color = beautiful.fg_urgent,
|
||||
widget = wibox.widget.checkbox
|
||||
}
|
||||
|
||||
checkbox:connect_signal("button::press", function(c)
|
||||
c:set_checked(not c.checked)
|
||||
todo_item.status = not todo_item.status
|
||||
result.todo_items[i] = todo_item
|
||||
spawn.easy_async_with_shell("echo '" .. json.encode(result) .. "' > " .. STORAGE, function ()
|
||||
todo_widget:update_counter(result.todo_items)
|
||||
end)
|
||||
end)
|
||||
|
||||
|
||||
local trash_button = wibox.widget {
|
||||
{
|
||||
{ image = WIDGET_DIR .. '/window-close-symbolic.svg',
|
||||
resize = false,
|
||||
widget = wibox.widget.imagebox
|
||||
},
|
||||
margins = 5,
|
||||
layout = wibox.container.margin
|
||||
},
|
||||
border_width = 1,
|
||||
shape = function(cr, width, height)
|
||||
gears.shape.circle(cr, width, height, 10)
|
||||
end,
|
||||
widget = wibox.container.background
|
||||
}
|
||||
|
||||
trash_button:connect_signal("button::press", function()
|
||||
table.remove(result.todo_items, i)
|
||||
spawn.easy_async_with_shell("printf '" .. json.encode(result) .. "' > " .. STORAGE, function ()
|
||||
spawn.easy_async(GET_TODO_ITEMS, function(items) update_widget(items) end)
|
||||
end)
|
||||
end)
|
||||
|
||||
|
||||
local move_up = wibox.widget {
|
||||
image = WIDGET_DIR .. '/chevron-up.svg',
|
||||
resize = false,
|
||||
widget = wibox.widget.imagebox
|
||||
}
|
||||
|
||||
move_up:connect_signal("button::press", function()
|
||||
local temp = result.todo_items[i]
|
||||
result.todo_items[i] = result.todo_items[i-1]
|
||||
result.todo_items[i-1] = temp
|
||||
spawn.easy_async_with_shell("printf '" .. json.encode(result) .. "' > " .. STORAGE, function ()
|
||||
spawn.easy_async(GET_TODO_ITEMS, function(items) update_widget(items) end)
|
||||
end)
|
||||
end)
|
||||
|
||||
local move_down = wibox.widget {
|
||||
image = WIDGET_DIR .. '/chevron-down.svg',
|
||||
resize = false,
|
||||
widget = wibox.widget.imagebox
|
||||
}
|
||||
|
||||
move_down:connect_signal("button::press", function()
|
||||
local temp = result.todo_items[i]
|
||||
result.todo_items[i] = result.todo_items[i+1]
|
||||
result.todo_items[i+1] = temp
|
||||
spawn.easy_async_with_shell("printf '" .. json.encode(result) .. "' > " .. STORAGE, function ()
|
||||
spawn.easy_async(GET_TODO_ITEMS, function(items) update_widget(items) end)
|
||||
end)
|
||||
end)
|
||||
|
||||
|
||||
local move_buttons = {
|
||||
layout = wibox.layout.fixed.vertical
|
||||
}
|
||||
|
||||
if i == 1 and #result.todo_items > 1 then
|
||||
table.insert(move_buttons, move_down)
|
||||
elseif i == #result.todo_items and #result.todo_items > 1 then
|
||||
table.insert(move_buttons, move_up)
|
||||
elseif #result.todo_items > 1 then
|
||||
table.insert(move_buttons, move_up)
|
||||
table.insert(move_buttons, move_down)
|
||||
end
|
||||
|
||||
local row = wibox.widget {
|
||||
{
|
||||
{
|
||||
{
|
||||
checkbox,
|
||||
valign = 'center',
|
||||
layout = wibox.container.place,
|
||||
},
|
||||
{
|
||||
{
|
||||
text = todo_item.todo_item,
|
||||
align = 'left',
|
||||
widget = wibox.widget.textbox
|
||||
},
|
||||
left = 10,
|
||||
layout = wibox.container.margin
|
||||
},
|
||||
{
|
||||
{
|
||||
move_buttons,
|
||||
valign = 'center',
|
||||
layout = wibox.container.place,
|
||||
},
|
||||
{
|
||||
trash_button,
|
||||
valign = 'center',
|
||||
layout = wibox.container.place,
|
||||
},
|
||||
spacing = 8,
|
||||
layout = wibox.layout.align.horizontal
|
||||
},
|
||||
spacing = 8,
|
||||
layout = wibox.layout.align.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)
|
||||
|
||||
table.insert(rows, row)
|
||||
end
|
||||
|
||||
popup:setup(rows)
|
||||
end
|
||||
|
||||
todo_widget.widget:buttons(
|
||||
gears.table.join(
|
||||
awful.button({}, 1, function()
|
||||
if popup.visible then
|
||||
todo_widget.widget:set_bg('#00000000')
|
||||
popup.visible = not popup.visible
|
||||
else
|
||||
todo_widget.widget:set_bg(beautiful.bg_focus)
|
||||
popup:move_next_to(mouse.current_widget_geometry)
|
||||
end
|
||||
end)
|
||||
)
|
||||
)
|
||||
|
||||
spawn.easy_async(GET_TODO_ITEMS, function(stdout) update_widget(stdout) end)
|
||||
|
||||
return todo_widget.widget
|
||||
end
|
||||
|
||||
if not gfs.file_readable(STORAGE) then
|
||||
spawn.easy_async(string.format([[bash -c "dirname %s | xargs mkdir -p && echo '{\"todo_items\":{}}' > %s"]],
|
||||
STORAGE, STORAGE))
|
||||
end
|
||||
|
||||
return setmetatable(todo_widget, { __call = function(_, ...) return worker(...) end })
|
|
@ -0,0 +1,95 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
id="svg7384"
|
||||
version="1.1"
|
||||
height="16"
|
||||
width="16"
|
||||
inkscape:version="0.48.5 r10040"
|
||||
sodipodi:docname="window-close-symbolic.svg">
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1366"
|
||||
inkscape:window-height="723"
|
||||
id="namedview15"
|
||||
showgrid="true"
|
||||
inkscape:zoom="14.75"
|
||||
inkscape:cx="14.600061"
|
||||
inkscape:cy="10.005214"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="23"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg7384">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid2992" />
|
||||
</sodipodi:namedview>
|
||||
<title
|
||||
id="title9167">Gnome Symbolic Icon Theme</title>
|
||||
<metadata
|
||||
id="metadata90">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title>Gnome Symbolic Icon Theme</dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs7386" />
|
||||
<g
|
||||
transform="translate(-60,-518)"
|
||||
id="layer9"
|
||||
style="display:inline" />
|
||||
<g
|
||||
transform="translate(-60,-518)"
|
||||
id="layer10" />
|
||||
<g
|
||||
transform="translate(-60,-518)"
|
||||
id="layer11" />
|
||||
<g
|
||||
id="g2996"
|
||||
transform="matrix(0.75,0,0,0.75,2,2.0546875)">
|
||||
<g
|
||||
id="layer12"
|
||||
transform="translate(-60,-518)">
|
||||
<g
|
||||
style="display:inline"
|
||||
id="layer4-4-1"
|
||||
transform="translate(19,-242)">
|
||||
<path
|
||||
style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#bebebe;fill:#bebebe;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.78124988;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
|
||||
id="path10839-9"
|
||||
d="m 45,764 1,0 c 0.01037,-1.2e-4 0.02079,-4.6e-4 0.03125,0 0.254951,0.0112 0.50987,0.12858 0.6875,0.3125 L 49,766.59375 51.3125,764.3125 C 51.578125,764.082 51.759172,764.007 52,764 l 1,0 0,1 c 0,0.28647 -0.03434,0.55065 -0.25,0.75 l -2.28125,2.28125 2.25,2.25 C 52.906938,770.46942 52.999992,770.7347 53,771 l 0,1 -1,0 c -0.265301,-10e-6 -0.530586,-0.0931 -0.71875,-0.28125 L 49,769.4375 46.71875,771.71875 C 46.530586,771.90694 46.26529,772 46,772 l -1,0 0,-1 c -3e-6,-0.26529 0.09306,-0.53058 0.28125,-0.71875 l 2.28125,-2.25 L 45.28125,765.75 C 45.070508,765.55537 44.97809,765.28075 45,765 l 0,-1 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
transform="translate(-60,-518)"
|
||||
id="layer13" />
|
||||
<g
|
||||
transform="translate(-60,-518)"
|
||||
id="layer14" />
|
||||
<g
|
||||
transform="translate(-60,-518)"
|
||||
id="layer15" />
|
||||
</svg>
|
After Width: | Height: | Size: 3.6 KiB |
Loading…
Add table
Add a link
Reference in a new issue