{"id":13476263,"url":"https://github.com/Pheon-Dev/pigeon","last_synced_at":"2025-03-27T02:31:59.915Z","repository":{"id":170062148,"uuid":"646170310","full_name":"Pheon-Dev/pigeon","owner":"Pheon-Dev","description":"Neovim plugin packed with modules  ( battery, wifi, date, time, day  etc) to litter the statusline and winbar","archived":false,"fork":false,"pushed_at":"2023-09-05T15:52:34.000Z","size":302,"stargazers_count":60,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-08-01T16:44:40.398Z","etag":null,"topics":["battery","cpu","cpu-usage","date","day","memory-usage","neovim","neovim-plugins","nvim","nvim-plugin","statusline","time","wifi","winbar"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Pheon-Dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-05-27T14:09:02.000Z","updated_at":"2024-06-04T16:31:13.000Z","dependencies_parsed_at":null,"dependency_job_id":"e474817d-277b-41c6-bf57-3bfbb700d6bb","html_url":"https://github.com/Pheon-Dev/pigeon","commit_stats":{"total_commits":169,"total_committers":3,"mean_commits":"56.333333333333336","dds":"0.035502958579881616","last_synced_commit":"2c4dc187ddfdad9ada98fc609f37ef4802af9c54"},"previous_names":["pheon-dev/pigeon"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pheon-Dev%2Fpigeon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pheon-Dev%2Fpigeon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pheon-Dev%2Fpigeon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pheon-Dev%2Fpigeon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Pheon-Dev","download_url":"https://codeload.github.com/Pheon-Dev/pigeon/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245769431,"owners_count":20669176,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["battery","cpu","cpu-usage","date","day","memory-usage","neovim","neovim-plugins","nvim","nvim-plugin","statusline","time","wifi","winbar"],"created_at":"2024-07-31T16:01:28.236Z","updated_at":"2025-03-27T02:31:59.589Z","avatar_url":"https://github.com/Pheon-Dev.png","language":"Lua","readme":"![Linux](https://img.shields.io/badge/Linux-%23.svg?logo=linux\u0026color=FCC624\u0026logoColor=black)\n![macOS](https://img.shields.io/badge/macOS-%23.svg?logo=apple\u0026color=000000\u0026logoColor=white)\n![Windows](https://img.shields.io/badge/Windows-%23.svg?logo=windows\u0026color=0078D6\u0026logoColor=white)\n\n\u003ch1 align=\"center\"\u003e\n Pigeon\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://www.ibs.it/images/9781666394030_0_536_0_75.jpg\" alt=\"cher-ami\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\nThis plugin adds to the current statusline and winbar by providing modules such as\nwifi, battery, volume, date, time, cpu, ram and storage.\n\u003c/p\u003e\n\n\u003e This plugin is currently in it's experimental stages. Expect some breaking changes.\n\u003e Please feel free to use it and file any issues and PRs whenever the pigeon is not\n\u003e feeding correctly, doesn't home, gets lost, nests a lot and does nothing or [gets shot](https://en.wikipedia.org/wiki/Cher_Ami).\n\u003e\n\u003e Polite reminder:\n\u003e use the modules you only need, not all of them. Pigeons don't carry parcels.\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"/pigeon.png\" alt=\"online\" /\u003e\n\u003cimg src=\"/pigeon-offline.png\" alt=\"offline\" /\u003e\n\u003c/p\u003e\n\n---\n\n## Installation\n\n### Lazy\n\n```lua\n    {\n        \"Pheon-Dev/pigeon\",\n        event = \"\",\n        config = function()\n            local config = {\n                enabled = true,\n                os = \"linux\", -- windows, osx\n                plugin_manager = \"lazy\", -- packer, paq, vim-plug\n                callbacks = {\n                    killing_pigeon = nil,\n                    respawning_pigeon = nil,\n                },\n                -- more config options here\n            }\n\n            require(\"pigeon\").setup(config)\n        end\n    }\n\n```\n\n## Available Modules\n\n```lua\n-- battery\nrequire(\"pigeon.battery\").battery()\n\n-- internet\nrequire(\"pigeon.internet\").wifi()\n\n-- date and time\nrequire(\"pigeon.datetime\").current_date()\nrequire(\"pigeon.datetime\").current_day()\nrequire(\"pigeon.datetime\").current_time()\n\n-- ram\nrequire(\"pigeon.ram\").ram()\n\n-- hostname\nrequire(\"pigeon.hostname\").hostname()\n\n-- cpu\nrequire(\"pigeon.cpu\").cpu() -- still working on it\n\n-- volume\nrequire(\"pigeon.volume\").volume()\n```\n\n## Usage\n\n```lua\n-- Example in lualine\n...\nsections = {\n  ...\n      lualine_x = {\n          {\n            function()\n                local enabled = require(\"pigeon.config\").options.battery.enabled\n                local battery = require(\"pigeon.battery\").battery()\n\n                if enabled then\n                  return battery\n                else\n                  return \"\"\n                end\n            end,\n          }\n      },\n      ...\n    },\n...\n```\n\n---\n\n## Commands\n\n- `PigeonToggle`: Toggle the entire plugin by either killing the pigeon or respawning it\n\n### Battery Module\n\n- `PigeonToggleBattery`: Toggle the battery modules and its submodules\n- `PigeonToggleBatteryStatus`: Toggle the battery status submodule\n- `PigeonToggleBatteryCapacity`: Toggle the battery capacity icon submodule\n- `PigeonToggleBatteryCharge`: Toggle the battery charge and it's percentage submodule\n\n### Internet Module\n\n- `PigeonToggleInternet`: Toggle the internet module and its submodules\n- `PigeonToggleEthernet`: Toggle the ethernet submodule\n- `PigeonToggleWifi`: Toggle the wifi icon submodule\n- `PigeonToggleBitRate`: Toggle the bitrate submodule\n- `PigeonToggleEssid`: Toggle the ESSID submodule(wifi name)\n\n### Date and Time Module\n\n- `PigeonToggleDateTime`: Toggle the date and time modules and its submodules\n- `PigeonToggleDate`: Toggle the date submodule\n- `PigeonToggleTime`: Toggle the time submodule\n- `PigeonToggleDay`: Toggle the day submodule\n\n### Audio Module\n\n- `PigeonToggleVolume`: Toggle audio module\n\n```lua\nlocal map = vim.api.nvim_set_keymap\nmap(\"n\", \"\u003cleader\u003epp\", \":PigeonToggle\u003cCR\u003e\", { silent = true, desc = \"Toggle All Pigeon Modules\" })\nmap(\"n\", \"\u003cleader\u003epd\", \":PigeonToggleDateTime\u003cCR\u003e\", { silent = true, desc = \"Toggle Date and Time Module\" })\nmap(\"n\", \"\u003cleader\u003epi\", \":PigeonToggleInternet\u003cCR\u003e\", { silent = true, desc = \"Toggle Internet Module\" })\nmap(\"n\", \"\u003cleader\u003epb\", \":PigeonToggleBattery\u003cCR\u003e\", { silent = true, desc = \"Toggle Battery Module\" })\n...\n```\n\n## Modules\n\n- \\[x] battery\n  - \\[x] capacity icon\n  - \\[x] charge percentage\n  - \\[x] status i.e charging, discharging\n  - \\[x] animated battery icon while charging\n  - \\[ ] toggle\n- \\[x] internet\n  - \\[x] wifi connection\n    - \\[x] wifi essid\n  - \\[ ] ethernet connection\n  - \\[x] internet connection speed\n    - \\[x] bit rate\n  - \\[ ] toggle\n- \\[x] date and time\n  - \\[x] current date\n  - \\[x] current time\n  - \\[x] current day\n  - \\[ ] toggle\n- \\[ ] cpu\n  - System processor usage\n  - \\[ ] toggle\n- \\[x] ram\n  - System memory usage\n  - \\[x] toggle\n- \\[ ] updates\n  - Neovim plugins updates\n  - \\[ ] toggle\n- \\[ ] music\n  - current music playing\n  - \\[ ] toggle\n- \\[x] volume\n  - audio volume\n  - \\[x] toggle\n\n## Configuration\n\n```lua\nrequire(\"pigeon\").setup({\n\tenabled = true,\n\tos = \"linux\", -- windows, osx\n\tplugin_manager = \"lazy\", -- packer, paq, vim-plug\n\tupdates = {\n\t\tenabled = true,\n\t\tpretext = \"\",\n\t\tposttext = \"\",\n\t\ticon = \"󱌖 \",\n\t},\n\tdatetime = {\n\t\tenabled = true,\n\t\ttime = {\n\t\t\tenabled = true,\n\t\t\tformat = \"%H:%M\",\n\t\t\tposttext = \"hrs\",\n\t\t\ticon = \"󰃰 \",\n\t\t},\n\t\tday = {\n\t\t\tenabled = true,\n\t\t\tformat = \"%A\",\n\t\t\ticon = \"󰃶 \",\n\t\t},\n\t\tdate = {\n\t\t\tenabled = true,\n\t\t\tformat = \"%Y-%m-%d\",\n\t\t\ticon = \" \",\n\t\t},\n\t},\n\tbattery = {\n\t\tenabled = true,\n\t\tshow_percentage = true,\n\t\tshow_status_text = false,\n\t\tview = {\n\t\t\tcharge = {\n\t\t\t\tzeros = { icon = \"󰂎 \" },\n\t\t\t\ttens = { icon = \"󰁺 \" },\n\t\t\t\ttwenties = { icon = \"󰁻 \" },\n\t\t\t\tthirties = { icon = \"󰁼 \" },\n\t\t\t\tforties = { icon = \"󰁽 \" },\n\t\t\t\tfifties = { icon = \"󰁾 \" },\n\t\t\t\tsixties = { icon = \"󰁿 \" },\n\t\t\t\tseventies = { icon = \"󰂀 \" },\n\t\t\t\teighties = { icon = \"󰂁 \" },\n\t\t\t\tnineties = { icon = \"󰂂 \" },\n\t\t\t\thundred = { icon = \"󰁹 \" },\n\t\t\t},\n\t\t\tstatus = {\n\t\t\t\tenabled = true,\n\t\t\t\tcharging = { icon = \" 󱐋\" },\n\t\t\t\tdischarging = { icon = \" 󱐌\" },\n\t\t\t\tnot_charging = { icon = \"  \" },\n\t\t\t\tfull = { icon = \"  \" },\n\t\t\t\tunknown = { icon = \" \" },\n\t\t\t\tcritical = { icon = \" \" },\n\t\t\t\tpercentage = { icon = \" 󰏰\" },\n\t\t\t},\n\t\t},\n\t},\n\tinternet = {\n\t\tenabled = true,\n\t\tsignal = {\n\t\t\tenabled = true,\n\t\t\tunit = \"mbps\", -- mbps | mb/s | Mb/s | MB/s | Mbps | MBps\n\t\t},\n\t\tethernet = {\n\t\t\tenabled = true,\n\t\t\ticons = {\n\t\t\t\tconnected = \"󰞉 \",\n\t\t\t\tdisconnected = \"󰕑 \",\n\t\t\t},\n\t\t},\n    wifi = {\n      status = {\n        connected = \"󰤪\",\n        disconnected = \"󰤫\",\n        enabled = true,\n      },\n      essid = {\n        enabled = true,\n      },\n      bit_rate = {\n        enabled = true,\n        unit = \"mbps\", -- or dbm\n      }\n    },\n\t},\n\tvolume = {\n\t\tenabled = true,\n\t\tshow_percentage = false,\n\t\ticons = {\n\t\t\tlow = \"󰕿\",\n\t\t\tmedium = \"󰖀\",\n\t\t\thigh = \"󰕾\",\n\t\t\tmute = \"󰝟\",\n\t\t},\n\t},\n\ttemperature = {\n\t\tenabled = true,\n\t\tshow_percentage = false,\n\t\ticon = \"\",\n\t},\n\tstorage = {\n\t\tenabled = true,\n\t\tshow_percentage = false,\n\t\ticon = \"󱛟\",\n\t},\n\tram = {\n\t\tenabled = true,\n\t\tshow_percentage = false,\n\t\ticon = \"󰍛\",\n\t},\n\tcpu = {\n\t\tenabled = true,\n\t\tshow_percentage = false,\n\t\ticon = \"󰻠\",\n\t},\n})\n```\n\n## Contributions\n\n\u003e no pigeons where harmed or killed in the making of this plugin\n\n- PRs and Issues are always welcome.\n","funding_links":[],"categories":["Lua"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPheon-Dev%2Fpigeon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FPheon-Dev%2Fpigeon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPheon-Dev%2Fpigeon/lists"}