1
0
Fork 0

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:
Florian RICHER 2022-09-25 20:30:49 +02:00
parent 0fbc575bcf
commit 1a890887a7
322 changed files with 14560 additions and 289 deletions

View file

@ -0,0 +1,69 @@
# Bitbucket widget
The widget shows the number of pull requests assigned to the user and when clicked shows them in the list with some additional information. When item in the list is clicked - it opens the pull request in the browser.
## How it works
Widget uses cURL to query Bitbucket's [REST API](https://developer.atlassian.com/bitbucket/api/2/reference/). In order to be authenticated, widget uses a [netrc](https://ec.haxx.se/usingcurl/usingcurl-netrc) feature of the cURL, which is basically allows storing basic auth credentials in a **.netrc** file in home folder.
Bitbucket allows using [App Passwords](https://confluence.atlassian.com/bitbucket/app-passwords-828781300.html) (available in the account settings) - simply generate one for the widget and use it as password in **.netrc** file.
## Customization
It is possible to customize widget by providing a table with all or some of the following config parameters:
| Name | Default | Description |
|---|---|---|
| `icon` | `~/.config/awesome/awesome-wm-widgets/bitbucket-widget/bitbucket-icon-gradient-blue.svg` | Path to the icon |
| `host` | Required | e.g _http://api.bitbucket.org_ |
| `uuid` | Required | e.g _{123e4567-e89b-12d3-a456-426614174000}_ |
| `workspace` | Required | Workspace ID|
| `repo_slug` | Required | Repository slug |
| `timeout` | 60 | How often in seconds the widget refreshes |
Note:
- host most likely should start with _api._
- to get your UUID you may call `curl -s -n 'https://api.bitbucket.org/2.0/user'`
## Installation
Create a **.netrc** file in you home directory with following content:
```bash
machine api.bitbucket.org
login mikey@tmnt.com
password cowabunga
```
Then change file's permissions to 600 (so only you can read/write it):
```bash
chmod 600 ~/.netrc
```
And test if it works by calling the API:
```bash
curl -s -n 'https://api.bitbucket.org/2.0/repositories/'
```
Also, to properly setup required parameters you can use `test_bitbucket_api.sh` script - it uses the same curl call as widget.
Then clone/download repo and use widget in **rc.lua**:
```lua
local bitbucket_widget = require("awesome-wm-widgets.bitbucket-widget.bitbucket")
...
s.mytasklist, -- Middle widget
{ -- Right widgets
layout = wibox.layout.fixed.horizontal,
...
-- default
bitbucket_widget({
host = 'https://api.bitbucket.org',
uuid = '{123e4567-e89b-12d3-a456-426614174000}',
workspace = 'workspace',
repo_slug = 'slug'
}}),
...
```

View file

@ -0,0 +1 @@
<svg id="Logos" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="80" height="80" viewBox="0 0 80 80"><defs><style>.cls-1{fill:none;}.cls-2{fill:#2684ff;}.cls-3{fill:url(#New_Gradient_Swatch_1);}</style><linearGradient id="New_Gradient_Swatch_1" x1="71.61" y1="36.15" x2="41.78" y2="59.43" gradientUnits="userSpaceOnUse"><stop offset="0.18" stop-color="#0052cc"/><stop offset="1" stop-color="#2684ff"/></linearGradient></defs><title>bitbucket-icon-gradient-blue</title><polygon class="cls-1" points="33.81 48.88 46.36 48.88 49.39 31.2 30.47 31.2 33.81 48.88"/><path class="cls-2" d="M12,13.06a1.92,1.92,0,0,0-1.9,2.23l8.14,49.56A2.62,2.62,0,0,0,20.78,67H60a1.93,1.93,0,0,0,1.9-1.62L70,15.3a1.92,1.92,0,0,0-1.9-2.23ZM46.36,48.88H33.81L30.47,31.2H49.39Z"/><path class="cls-3" d="M67.44,31.2h-18l-3,17.68H33.81L19.1,66.4a2.61,2.61,0,0,0,1.68.63H60a1.93,1.93,0,0,0,1.9-1.62Z"/></svg>

After

Width:  |  Height:  |  Size: 914 B

View file

@ -0,0 +1,371 @@
-------------------------------------------------
-- Bitbucket Widget for Awesome Window Manager
-- Shows the number of currently assigned pull requests
-- More details could be found here:
-- https://github.com/streetturtle/awesome-wm-widgets/tree/master/bitbucket-widget
-- @author Pavel Makhov
-- @copyright 2020 Pavel Makhov
-------------------------------------------------
local awful = require("awful")
local wibox = require("wibox")
local watch = require("awful.widget.watch")
local json = require("json")
local spawn = require("awful.spawn")
local naughty = require("naughty")
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/bitbucket-widget/'
local GET_PRS_CMD= [[bash -c "curl -s --show-error -n ]]
.. [['%s/2.0/repositories/%s/%s/pullrequests]]
.. [[?fields=values.participants.approved,values.title,values.links.html,values.author.display_name,]]
.. [[values.author.uuid,values.author.links.avatar,values.source.branch,values.destination.branch,]]
.. [[values.comment_count,values.created_on&q=reviewers.uuid+%%3D+%%22%s%%22+AND+state+%%3D+%%22OPEN%%22']]
.. [[ | jq '.[] '"]]
local DOWNLOAD_AVATAR_CMD = [[bash -c "curl -L -n --create-dirs -o %s/.cache/awmw/bitbucket-widget/avatars/%s %s"]]
local bitbucket_widget = wibox.widget {
{
{
id = 'icon',
widget = wibox.widget.imagebox
},
margins = 4,
layout = wibox.container.margin
},
{
id = "txt",
widget = wibox.widget.textbox
},
{
id = "new_pr",
widget = wibox.widget.textbox
},
layout = wibox.layout.fixed.horizontal,
set_text = function(self, new_value)
self.txt.text = new_value
end,
set_icon = function(self, new_value)
self:get_children_by_id('icon')[1]:set_image(new_value)
end
}
local function show_warning(message)
naughty.notify{
preset = naughty.config.presets.critical,
title = 'Bitbucket Widget',
text = message}
end
local popup = awful.popup{
ontop = true,
visible = false,
shape = gears.shape.rounded_rect,
border_width = 1,
border_color = beautiful.bg_focus,
maximum_width = 400,
offset = { y = 5 },
widget = {}
}
--- Converts string representation of date (2020-06-02T11:25:27Z) to date
local function parse_date(date_str)
local pattern = "(%d+)%-(%d+)%-(%d+)T(%d+):(%d+):(%d+)%Z"
local y, m, d, h, min, sec, _ = date_str:match(pattern)
return os.time{year = y, month = m, day = d, hour = h, min = min, sec = sec}
end
--- Converts seconds to "time ago" represenation, like '1 hour ago'
local function to_time_ago(seconds)
local days = seconds / 86400
if days > 1 then
days = math.floor(days + 0.5)
return days .. (days == 1 and ' day' or ' days') .. ' ago'
end
local hours = (seconds % 86400) / 3600
if hours > 1 then
hours = math.floor(hours + 0.5)
return hours .. (hours == 1 and ' hour' or ' hours') .. ' ago'
end
local minutes = ((seconds % 86400) % 3600) / 60
if minutes > 1 then
minutes = math.floor(minutes + 0.5)
return minutes .. (minutes == 1 and ' minute' or ' minutes') .. ' ago'
end
end
local function ellipsize(text, length)
return (text:len() > length and length > 0)
and text:sub(0, length - 3) .. '...'
or text
end
local function count_approves(participants)
local res = 0
for i = 1, #participants do
if participants[i]['approved'] then res = res + 1 end
end
return res
end
local function worker(user_args)
local args = user_args or {}
local icon = args.icon or WIDGET_DIR .. '/bitbucket-icon-gradient-blue.svg'
local host = args.host or show_warning('Bitbucket host is not set')
local uuid = args.uuid or show_warning('UUID is not set')
local workspace = args.workspace or show_warning('Workspace is not set')
local repo_slug = args.repo_slug or show_warning('Repo slug is not set')
local timeout = args.timeout or 60
local current_number_of_prs
local to_review_rows = {layout = wibox.layout.fixed.vertical}
local my_review_rows = {layout = wibox.layout.fixed.vertical}
local rows = {layout = wibox.layout.fixed.vertical}
bitbucket_widget:set_icon(icon)
local update_widget = function(widget, stdout, stderr, _, _)
if stderr ~= '' then
show_warning(stderr)
return
end
local result = json.decode(stdout)
current_number_of_prs = rawlen(result)
if current_number_of_prs == 0 then
widget:set_visible(false)
return
end
widget:set_visible(true)
widget:set_text(current_number_of_prs)
for i = 0, #rows do rows[i]=nil end
for i = 0, #to_review_rows do to_review_rows[i]=nil end
table.insert(to_review_rows, {
{
markup = '<span size="large" color="#ffffff">PRs to review</span>',
align = 'center',
forced_height = 20,
widget = wibox.widget.textbox
},
bg = beautiful.bg_normal,
widget = wibox.container.background
})
for i = 0, #my_review_rows do my_review_rows[i]=nil end
table.insert(my_review_rows, {
{
markup = '<span size="large" color="#ffffff">My PRs</span>',
align = 'center',
forced_height = 20,
widget = wibox.widget.textbox
},
bg = beautiful.bg_normal,
widget = wibox.container.background
})
local current_time = os.time(os.date("!*t"))
for _, pr in ipairs(result) do
local path_to_avatar = os.getenv("HOME") ..'/.cache/awmw/bitbucket-widget/avatars/' .. pr.author.uuid
local number_of_approves = count_approves(pr.participants)
local row = wibox.widget {
{
{
{
{
resize = true,
image = path_to_avatar,
forced_width = 40,
forced_height = 40,
widget = wibox.widget.imagebox
},
id = 'avatar',
margins = 8,
layout = wibox.container.margin
},
{
{
id = 'title',
markup = '<b>' .. ellipsize(pr.title, 50) .. '</b>',
widget = wibox.widget.textbox,
forced_width = 400
},
{
{
{
{
text = ellipsize(pr.source.branch.name, 30),
widget = wibox.widget.textbox
},
{
text = '->',
widget = wibox.widget.textbox
},
{
text = pr.destination.branch.name,
widget = wibox.widget.textbox
},
spacing = 8,
layout = wibox.layout.fixed.horizontal
},
{
{
text = pr.author.display_name,
widget = wibox.widget.textbox
},
{
text = to_time_ago(os.difftime(current_time, parse_date(pr.created_on))),
widget = wibox.widget.textbox
},
spacing = 8,
expand = 'none',
layout = wibox.layout.fixed.horizontal
},
forced_width = 285,
layout = wibox.layout.fixed.vertical
},
{
{
{
image = WIDGET_DIR .. '/check.svg',
resize = false,
widget = wibox.widget.imagebox
},
{
text = number_of_approves,
widget = wibox.widget.textbox
},
layout = wibox.layout.fixed.horizontal
},
{
{
image = WIDGET_DIR .. '/message-circle.svg',
resize = false,
widget = wibox.widget.imagebox
},
{
text = pr.comment_count,
widget = wibox.widget.textbox
},
layout = wibox.layout.fixed.horizontal
},
layout = wibox.layout.fixed.vertical
},
layout = wibox.layout.fixed.horizontal
},
spacing = 8,
layout = wibox.layout.fixed.vertical
},
spacing = 8,
layout = wibox.layout.fixed.horizontal
},
margins = 8,
layout = wibox.container.margin
},
bg = beautiful.bg_normal,
widget = wibox.container.background
}
if not gfs.file_readable(path_to_avatar) then
local cmd = string.format(DOWNLOAD_AVATAR_CMD, HOME_DIR, pr.author.uuid, pr.author.links.avatar.href)
spawn.easy_async(cmd, function() row:get_children_by_id('avatar')[1]:set_image(path_to_avatar) end)
end
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)
row:get_children_by_id('title')[1]:buttons(
awful.util.table.join(
awful.button({}, 1, function()
spawn.with_shell("xdg-open " .. pr.links.html.href)
popup.visible = false
end)
)
)
row:get_children_by_id('avatar')[1]:buttons(
awful.util.table.join(
awful.button({}, 1, function()
spawn.with_shell(
string.format('xdg-open "https://bitbucket.org/%s/%s/pull-requests?state=OPEN&author=%s"',
workspace, repo_slug, pr.author.uuid)
)
popup.visible = false
end)
)
)
local old_cursor, old_wibox
row:get_children_by_id('title')[1]:connect_signal("mouse::enter", function()
local wb = mouse.current_wibox
old_cursor, old_wibox = wb.cursor, wb
wb.cursor = "hand1"
end)
row:get_children_by_id('title')[1]:connect_signal("mouse::leave", function()
if old_wibox then
old_wibox.cursor = old_cursor
old_wibox = nil
end
end)
row:get_children_by_id('avatar')[1]:connect_signal("mouse::enter", function()
local wb = mouse.current_wibox
old_cursor, old_wibox = wb.cursor, wb
wb.cursor = "hand1"
end)
row:get_children_by_id('avatar')[1]:connect_signal("mouse::leave", function()
if old_wibox then
old_wibox.cursor = old_cursor
old_wibox = nil
end
end)
if (pr.author.uuid == '{' .. uuid .. '}') then
table.insert(my_review_rows, row)
else
table.insert(to_review_rows, row)
end
end
table.insert(rows, to_review_rows)
if (#my_review_rows > 1) then
table.insert(rows, my_review_rows)
end
popup:setup(rows)
end
bitbucket_widget:buttons(
awful.util.table.join(
awful.button({}, 1, function()
if popup.visible then
popup.visible = not popup.visible
else
popup:move_next_to(mouse.current_widget_geometry)
end
end)
)
)
watch(string.format(GET_PRS_CMD, host, workspace, repo_slug, uuid, uuid),
timeout, update_widget, bitbucket_widget)
return bitbucket_widget
end
return setmetatable(bitbucket_widget, { __call = function(_, ...) return worker(...) end })

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#A3BE8C" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-check"><polyline points="20 6 9 17 4 12"></polyline></svg>

After

Width:  |  Height:  |  Size: 257 B

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#ECEFF4" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-clipboard"><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path><rect x="8" y="2" width="8" height="4" rx="1" ry="1"></rect></svg>

After

Width:  |  Height:  |  Size: 366 B

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="#ECEFF4" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-copy"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>

After

Width:  |  Height:  |  Size: 346 B

View file

@ -0,0 +1,8 @@
#!/usr/bin/env bash
HOST='https://api.bitbucket.org'
ACCOUNT_ID=''
WORKSPACE=''
REPO_SLUG=''
curl -s -n "${HOST}/2.0/repositories/${WORKSPACE}/${REPO_SLUG}/pullrequests?fields=values.title,values.links.html,values.author.display_name,values.author.links.avatar&q=reviewers.account_id+%3D+%22${ACCOUNT_ID}%22"

View file

@ -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-git-pull-request"><circle cx="18" cy="18" r="3"></circle><circle cx="6" cy="6" r="3"></circle><path d="M13 6h3a2 2 0 0 1 2 2v7"></path><line x1="6" y1="9" x2="6" y2="21"></line></svg>

After

Width:  |  Height:  |  Size: 382 B

View file

@ -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-message-circle"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"></path></svg>

After

Width:  |  Height:  |  Size: 423 B

View file

@ -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-user"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg>

After

Width:  |  Height:  |  Size: 308 B