Skip to content

Commit

Permalink
Create Feature Request form/template (#5056)
Browse files Browse the repository at this point in the history
  • Loading branch information
rcalixte authored Oct 24, 2023
1 parent f7d48e9 commit 67c460e
Show file tree
Hide file tree
Showing 3 changed files with 304 additions and 2 deletions.
228 changes: 228 additions & 0 deletions .github/ISSUE_TEMPLATE/02_feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,228 @@
# DO NOT EDIT THIS FILE MANUALLY.
# Execute the script called feature_request_creator.py to generate it.

---
body:
- attributes:
value: Thanks for taking the time to fill out this feature request!
type: markdown
- attributes:
default: 0
label: Applet name and maintainer
options:
- app-launcher@mchilli @mchilli
- asl@santiago @SamBurgos
- AutostartPrograms@spacy01 @spacy01
- [email protected]
- backgroundroll@Sokawaii25 @Sokawaii25
- bash-sensors@pkkk
- batterymonitor@pdcurtis @pdcurtis
- batterypower@joka42 @joka42
- better-backgrounds@simonmicro @simonmicro
- betterlock
- bettersettings@bownz
- BgRadio@spacy01 @spacy01
- [email protected] @nodeengineer
- binaryclock@entelechy
- [email protected] @Starcross
- bluetooth-battery@zamszowy @zamszowy
- bose@tuuxx @tuuxx
- brightness-and-gamma-applet@cardsurf @cardsurf
- bumblebee@pdcurtis @pdcurtis
- c-eyes@anaximeno @anaximeno
- calc-js@ptandler @ptandler
- calendar@ccprog @ccprog
- [email protected] @simonwiles
- CassiaWindowList@klangman @klangman
- cheaty@centurix @centurix
- Cinnamenu@json @fredcw
- cinnamon-multi-line-taskbar-applet
- cinnamon-timer@jake1164 @jake1164
- CinnVIIStarkMenu@NikoKrause @fredcw
- clean-show-desktop@filipetorresbr @FilipeTorresBR
- clipboard-eraser@Techcrafter @Techcrafter
- clipboard-qr@wrouesnel @wrouesnel
- [email protected] @feuerfuchs
- color-picker@fmete @icarter09
- commandLauncher@scollins @collinss
- CommandRunner@appdevsw
- computer@brownsr @brownsr
- cpu-monitor-text@gnemonix @gnemonix
- cpufreq@mtwebster
- cryptocoin@guantanamoe @imDeprecated
- [email protected]
- CustomApplicationsMenu@LLOBERA @Nicolas01
- CustomPlaces@Nicolas01 @Nicolas01
- [email protected] @slgobinath
- ddcci-monitor-control@andr35 @andr35
- ddcci-multi-monitor@tim-we @tim-we
- desaturate-all@hkoosha @hkoosha
- devbar@ludvigbostrom @ludvigbostrom
- devutils@fogl
- [email protected] @bpivaty
- diaspora-notif@douze12
- disk-read-and-write-speed@cardsurf @cardsurf
- download-and-upload-speed@cardsurf @cardsurf
- [email protected] @nodeengineer
- expressvpn@Hukuta @Hukuta
- [email protected] @jake1164
- [email protected]
- [email protected] @not-a-feature
- gamemode@axel358 @axel358
- [email protected] @jamesmorgan
- gmail@lauritsriple @lauritsriple
- gnote@brett-smith @brett-smith
- googledrive@pbojan @pbojan
- [email protected] @feuerfuchs
- gpumonitor@axel358 @axel358
- [email protected]
- graphicsCenter@scollins @collinss
- [email protected]
- healthyeyes@ipolozov @ipolozov
- hideable-applets@cardsurf @cardsurf
- hwmonitor@sylfurd @hultan
- ifstat@tagadan
- internet-indicator@sangorys @sangorys
- InternetTimeApplet@stefan @stefan12O
- ioDisk@ctrlesc @somboku
- [email protected]@gmail.com @PrimaMateria
- jalalicalendar@mohammad-sn @mohammad-sn
- [email protected] @vitaliis
- kdecapplet@joejoetv @JoeJoeTV
- kdeccc@Severga @Severga
- localip@mrieracrespi
- localipswithsettings@edaubert @edaubert
- location-detection@heimdall
- lorem@vxstorm
- [email protected] @hyOzd
- [email protected] @icarter09
- [email protected]
- MessagingMenuV3@blub
- Mint-Unsplash-Background@omidmaldar @omidmaldar
- moonphase@techi-freki @Techi-Freki
- multicore-sys-monitor@ccadeptic23 @claudiux
- [email protected] @jebeaudet
- [email protected]
- [email protected]
- netusagemonitor@pdcurtis @pdcurtis
- network@brownsr @brownsr
- networkmonitor@axel358 @axel358
- nextslide@yaya-cout @yaya-cout
- nightscout@ranneft @ImmRanneft
- nordvpn-indicator@nickdurante @nickdurante
- notification-mute@jgillula @jgillula
- nvidiaprime@pdcurtis @pdcurtis
- octopussy@centurix @centurix
- officeCenter@scollins @collinss
- [email protected]
- paneldo@beatlink
- [email protected]
- [email protected]
- places-with-terminal@mtwebster
- placesCenter@scollins @collinss
- [email protected] @gfreeau
- power-profiles@rcalixte @rcalixte
- printers@linux-man @linux-man
- profile-switcher@pixunil @pixunil
- ptt@thbemme @thbemme
- qredshift@quintao @raphaelquintao
- Radio3.0@claudiux @claudiux
- radio@driglu4it @jonath92
- rancher@centurix @centurix
- ratecurrency@magner @AleksiMagner
- redshift@marvel4u @marvel4u
- restart-cinnamon@kolle @icarter09
- [email protected] @mindbeat
- rust-menu@jerrywham @jerrywham
- rwall@typicalfoobar
- screen-inhibit@mtwebster
- ScreenLocker@tuuxx @tuuxx
- ScreenShot+RecordDesktop@tech71 @icarter09
- ScreenShot@tech71
- [email protected]
- search-box@mtwebster
- Sensors@claudiux @claudiux
- separator2@zyzz
- serviceLauncher@hulygun @hulygun
- sessionManager@scollins @collinss
- [email protected]
- shadowsocks-switch@Klavionik @Klavionik
- ShellTools@abgoyal @jaszhix
- show-hide-applets@mohammad-sn @mohammad-sn
- [email protected]
- ShutdownApplet@DeathMD @icarter09
- ShutdownMenuWithIcons@LLOBERA @Nicolas01
- [email protected] @NadhirBenLazhar
- sleepTimer@JDatPNW @JDatPNW
- [email protected] @lerc
- [email protected]
- sound150@claudiux @claudiux
- spices-notifier@germanfr @germanfr
- SpicesUpdate@claudiux @claudiux
- sshconnect@foobar-beer @foobar-beer
- sshlauncher@sumo @sumo
- ssm@Severga @Severga
- stacks@centurix @centurix
- standardIconNames@jerrywham @jerrywham
- stevedore@centurix @centurix
- sticky@scollins @collinss
- stopwatch@pdcurtis @pdcurtis
- suspend@janax
- SW++@mohammad-sn @mohammad-sn
- sync@szlldm @szlldm
- sysmonitor@orcus @orcuscz
- system-controls@rcalixte @rcalixte
- system-monitor@spacy01 @spacy01
- systray-collapsible@koutch
- temperature@fevimu @claudiux
- text-to-speech-applet@cardsurf @cardsurf
- ThemeRefresh@JosephM
- timeout@narutrey @narutrey
- timer@Severga @Severga
- timeshift-spy@nicog60 @nicog60
- todo@threefi
- tor-button@shatur @Shatur95
- turn-off-monitor@zablotski @zablotski
- tzclock@lhriley @lhriley
- uiscaler@joka42 @joka42
- [email protected]
- vboxlauncher@mockturtl @mockturtl
- [email protected] @pdcurtis
- VPN-Sentinel@claudiux @claudiux
- vpnLookOut@claudiux @claudiux
- wakapidisplay@babico @babico
- wakatimedisplay@inventor96 @inventor96
- wallpaper-slideshow@amaan-mohib @amaan-mohib
- weather@mockturtl @Gr3q
- web-developer-menu@infiniteshroom
- website-notifier@cardsurf @cardsurf
- window-list@sangorys @sangorys
- [email protected] @zeripath
- [email protected] @Cobinja
- [email protected] @nicoulaj
- workspace-grid@hernejj @hernejj
- workspace-name@willurd @willurd
- xampp-panel@backids99
- xsession@claudiux @claudiux
id: applet
type: dropdown
validations:
required: true
- attributes:
description: Add as many details as possible!
label: What would you like to see?
placeholder: Tell the author what you want to see!
id: feature-request
type: textarea
validations:
required: true
- attributes:
value: '*By submitting this feature request, you agree to behave respectfully
and in a mature manner. If in doubt, refer to the [Golden Rule](https://en.wikipedia.org/wiki/Golden_Rule)
and [Github''s Community Guidelines](https://docs.github.com/en/site-policy/github-terms/github-community-guidelines).*'
type: markdown
description: "If you have a feature request \U0001F4A1"
labels:
- feature request
name: "\U0001F680 Applet Feature Request"
title: Applet Feature Request
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
blank_issues_enabled: false
contact_links:
- name: 🚀 Feature Request
- name: 💬 Linux Mint Discussions
url: https://github.com/orgs/linuxmint/discussions
about: If you have a feature request 💡
about: Engage with other members of the community. 👋
- name: ❓ Linux Mint Forums
url: https://forums.linuxmint.com/
about: Please ask and answer questions here. 🏥
74 changes: 74 additions & 0 deletions .github/feature_request_creator.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
#!/usr/bin/python3
'''
Generate 02_feature_request.yml based on repository files
'''

import os
import json
import yaml

dirs_blacklist = ['.git', '.github']

repo_folder = os.path.realpath(os.path.abspath(os.path.join(
os.path.normpath(os.path.join(os.getcwd(), *(['..'] * 1))))))

HEADER = '''# DO NOT EDIT THIS FILE MANUALLY.
# Execute the script called feature_request_creator.py to generate it.
---
'''

FEATURE_RQ = {'name': '🚀 Applet Feature Request',
'description': "If you have a feature request 💡",
'title': 'Applet Feature Request',
'labels': ['feature request'],
'body': [{'type': 'markdown',
'attributes': {'value': 'Thanks for taking the time to fill out this feature request!'}},
{'type': 'dropdown', 'id': 'applet',
'attributes': {'default': 0,
'label': 'Applet name and maintainer',
'options': []},
'validations': {'required': True}},
{'type': 'textarea', 'id': 'feature-request',
'attributes': {'description': 'Add as many details as possible!',
'label': 'What would you like to see?',
'placeholder': 'Tell the author what you want to see!'},
'validations': {'required': True}},
{'type': 'markdown',
'attributes': {'value': "*By submitting this feature request, you agree to behave respectfully and in a mature manner. If in doubt, refer to the [Golden Rule](https://en.wikipedia.org/wiki/Golden_Rule) and [Github's Community Guidelines](https://docs.github.com/en/site-policy/github-terms/github-community-guidelines).*"}}]}


def main():
"""
List the repository directories and retrieve author information.
"""
xlets_and_authors = []

try:
for name in os.listdir(repo_folder):
if name in dirs_blacklist:
continue

info_file_path = os.path.join(repo_folder, name, 'info.json')

if os.path.isfile(info_file_path):
with open(info_file_path, 'r', encoding='utf-8') as info:
file_data = json.load(info)

author_value = file_data.get('author', 'none')
author = '' if author_value == 'none' else f' @{author_value}'

xlets_and_authors.append(f'{name}{author}')
finally:
dropdown_list = sorted(sorted(xlets_and_authors), key=str.casefold)
with open(os.path.join(repo_folder, '.github', 'ISSUE_TEMPLATE',
'02_feature_request.yml'), 'w',
encoding='utf-8') as feature_request_yaml:
FEATURE_RQ['body'][1]['attributes']['options'] = dropdown_list

feature_request_yaml.write(HEADER)
yaml.dump(FEATURE_RQ, feature_request_yaml)


if __name__ == '__main__':
main()

0 comments on commit 67c460e

Please sign in to comment.