Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Add a key binding to set or toggle acrylic #2531

Closed
moonunit9 opened this issue Aug 24, 2019 · 92 comments · May be fixed by #15717
Closed

Add a key binding to set or toggle acrylic #2531

moonunit9 opened this issue Aug 24, 2019 · 92 comments · May be fixed by #15717
Labels
Area-Settings Issues related to settings and customizability, for console or terminal good first issue This is a fix that might be easier for someone to do as a first contribution Help Wanted We encourage anyone to jump in on these. In-PR This issue has a related PR Issue-Task It's a feature request, but it doesn't really need a major design. Needs-Tag-Fix Doesn't match tag requirements Product-Terminal The new Windows Terminal.
Milestone

Comments

@moonunit9
Copy link

Ability to quickly toggle opacity on/off through keystrokes. It would switch between 100% and custom setting in properties.

@moonunit9 moonunit9 added the Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. label Aug 24, 2019
@ghost ghost added Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting Needs-Tag-Fix Doesn't match tag requirements labels Aug 24, 2019
@zadjii-msft
Copy link
Member

This is something that might pair well with #1142/#1349. We could make an action that quickly toggles between two opacities. The actual design of how we want the action specified might need some thinking, but #1142 will definitely be needed to enable this.

@zadjii-msft zadjii-msft added Area-Settings Issues related to settings and customizability, for console or terminal Product-Terminal The new Windows Terminal. labels Aug 26, 2019
@ghost ghost removed the Needs-Tag-Fix Doesn't match tag requirements label Aug 26, 2019
@DHowett-MSFT
Copy link
Contributor

This seems related to #830 as well.

@DHowett-MSFT DHowett-MSFT changed the title Feature Request: Quick toggle opacity on/off Ctrl+Scroll should lock Acrylic [off] when it hits 100% Aug 26, 2019
@DHowett-MSFT
Copy link
Contributor

This workitem fits in better with our overall plan to solve all runtime acrylic/transparency shift issues.

@DHowett-MSFT DHowett-MSFT added Help Wanted We encourage anyone to jump in on these. Issue-Task It's a feature request, but it doesn't really need a major design. and removed Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting labels Aug 26, 2019
@DHowett
Copy link
Member

DHowett commented Jun 26, 2020

I don't know what I was thinking when I renamed this to have nothing to do with a keybinding.

@DHowett DHowett changed the title Ctrl+Scroll should lock Acrylic [off] when it hits 100% Add a key binding to set or toggle acrylic Jun 26, 2020
@DHowett DHowett added the Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting label Jun 26, 2020
@zadjii-msft
Copy link
Member

Woah what kind of mind reader are you - I was just playing with the command palette this morning and I was thinking that this was something I wanted to do with it.

@zadjii-msft zadjii-msft removed the Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting label Jun 26, 2020
@zadjii-msft zadjii-msft added the good first issue This is a fix that might be easier for someone to do as a first contribution label Mar 25, 2021
@Jaswir
Copy link
Contributor

Jaswir commented Sep 7, 2023

@zadjii-msft
I notice that acrylic.BackgroundSource(Media::AcrylicBackgroundSource::Backdrop); is different from
acrylic.BackgroundSource(Media::AcrylicBackgroundSource::HostBackdrop);

Not sure if it's a problem, seems to be the default behaviour of Backdrop, there's a see through at the edge where it's somewhat transparent instead of acrylic.
image

and it seems a nit bit less bright, can you spot it? Both are at 0 Opacity btw
image

image

@zadjii-msft
Copy link
Member

Oh, I'm sure that's fine. In-app acrylic (Backdrop) was never really meant to be used with a transparent window background. That's a happy side effect of us being able to drop out our window background (which most UWPs can't). We're firmly in unexplored territory of the app platform 😄

@Jaswir
Copy link
Contributor

Jaswir commented Sep 7, 2023

@zadjii-msft I don't know how I can check whether the command palette is open? Help

I want to _setOpacity(newAppearance->Opacity()); in ControlCore::ApplyAppearance so the opacity changes according to unfocused opacity and focused opacity.

But as you can see below the windows becomes unfocused when opening the command palette and focused when closing it so then the adjust opacity's _setOpacity gets overridden by the one in ControlCore::ApplyAppearance

check_command_pallette

@zadjii-msft
Copy link
Member

Hmm that's got shades of #11571 in it, though we went through a pretty major settings re-write after that... Don't think I'll have time to dig in this week before I leave, and I'll be ignoring mail all week next week.

I'd say file a follow-up that we can get to now that we're merging #15923

@Jaswir
Copy link
Contributor

Jaswir commented Sep 8, 2023

@zadjii-msft

Hey Mike, I've been contributing here for a while now.

How do you think I am doing?
Do you maybe have general feedback, anything I can improve on?

Let me know when you're back.

@Jaswir
Copy link
Contributor

Jaswir commented Sep 13, 2023

@ianjoneill
Awesome that you completed this: #14999
I remember you helping me out here when I just started: #15127

Thanks again!

Carrying on your legacy now xD
image

Hope you're well.

@Jaswir
Copy link
Contributor

Jaswir commented Sep 16, 2023

@DHowett @DHowett-MSFT

I'd say file a follow-up that we can get to now that we're merging #15923

What does Mike mean with this? Is he suggesting to make a PR for 11092 for the team to look at?

@Jaswir
Copy link
Contributor

Jaswir commented Sep 21, 2023

@zadjii-msft

Hey Mike,
How was your Hackathon week? Hope it was nice.

I was wondering if you got a chance yet to answer my question:
I've been contributing here for a while now.

How do you think I am doing?
Do you maybe have general feedback, anything I can improve on?

@Jaswir
Copy link
Contributor

Jaswir commented Sep 21, 2023

@zadjii-msft

I'll just come up straight with it.
I am looking for a referral for Microsoft.
Can you give me a referral?

Solving 7158 boosted my confidence to start seriously applying to Big Tech Jobs. Can you give me a referral? I rather have a referral from you then someone that doesn’t know me.

Has there been other contributors that you’ve given referrals for Microsoft Applications? What are you guys like? Do you give referrals to contributors?

@Jaswir
Copy link
Contributor

Jaswir commented Oct 5, 2023

@zadjii-msft

Hi Mike,

How are you?
Haven't heard from you in a while.
I am worried.

I hope you'll respond.
Thanks,

Have a good weekend!

zadjii-msft pushed a commit that referenced this issue Oct 13, 2023
…minals (#15974)

## Summary of the Pull Request
Closes #11092 

Allowing `opacity `to be set differently in both focused and unfocused
terminals

## References and Relevant Issues
#11092 , references: #7158 

## Detailed Description of the Pull Request / Additional comments

### Allowing Opacity to be set differently in both focused and unfocused
terminals:

![unfocused_opacity](https://github.com/microsoft/terminal/assets/15957528/1c38e40b-4678-43ec-b328-ad79d222579f)

![image](https://github.com/microsoft/terminal/assets/15957528/3e3342a8-7908-41db-9c37-26c89f7f2456)


![jolsen](https://github.com/microsoft/terminal/assets/15957528/68553507-d29e-4513-89ce-b1cd305d28b7)


![image](https://github.com/microsoft/terminal/assets/15957528/18864f60-91d0-4159-87da-2b2ee1637a4c)

## `_runtimeFocusedOpacity`

Mike also had to say something about this:
#2531 (comment)

Initially I had something like ` _setOpacity(newAppearance->Opacity());`

But with the introduction of unfocused opacity we encounter new
challenges:
When Adjusting the Opacity with **CTRL+SHIFT+Mouse Scroll Wheel** or
**Set background opacity** in command pallette, the Runtime opacity
changes, but when we go to unfocused and back to focused the opacity
changes back to focused opacity in Settings.

Also when adjusting opacity through the command palette the window
becomes unfocused and then focused again after setting background
opacity hence the ` _setOpacity(newAppearance->Opacity());` would
override the changes made through command palette

![runtimeFocusedOpacity](https://github.com/microsoft/terminal/assets/15957528/4de63057-d658-4b5e-99ad-7db050834ade)


![command_pallette_focusswitches](https://github.com/microsoft/terminal/assets/15957528/372526eb-cf0c-40f8-a4e5-a0739f1f0e05)

With the introduction of unfocused opacity we encounter new challenges.
The runtime opacity stores both the unfocused opacity and focused
opacity from settings at different moments. This all works well until we
combine this with Adjusting the Opacity with **CTRL+SHIFT+Mouse Scroll
Wheel** or **Set background opacity** in command pallette. This brings
the need for a separate Focused Opacity. When we change the runtime
opacity with scroll wheel or through command pallette this value needs
to be stored separately from the one in settings. So we can change back
to it when going to unfocused mode and back to focused instead of the
focused opacity defined in settings.

## `skipUnfocusedOpacity` solves Opacity going from solid to unfocused
to focused bug:

![skipUnfocusedOpacity_bug](https://github.com/microsoft/terminal/assets/15957528/ecc06dcf-fbef-4fef-a40f-68278fdbfb12)

## Validation Steps Performed

- Checked if unfocused Opacity works well when adjusting opacity through
Mouse Scroll Wheel or Command Palette and in combination with Acrylic as
mentioned in "Detailed Description of the Pull Request / Additional
comments"

## PR Checklist

- [x] Closes #11092 
- [ ] Tests added/passed
- [x] Documentation updated
- If checked, please file a pull request on [our docs
repo](https://github.com/MicrosoftDocs/terminal) and link it
here:(MicrosoftDocs/terminal#714)
- [ ] Schema updated (if necessary)
@Jaswir
Copy link
Contributor

Jaswir commented Oct 14, 2023

@zadjii-msft

Hey Mike,

Some Questions.

There are a couple problems I find interesting to work towards:

  1. Open new terminal tab in same directory as existing tab (OSC 7?) #3158
    Can you point me to some like easy issue to get familiar with CWD, manipulating it and stuff?

  2. Allow for the configuration of font fallback #2664
    Add emoji support to Windows Console #190

    I have a feeling that both of these have to do with DX engine and Atlas Engine (since they are both kinda fonts)
    Is that right?

  3. Allow for the configuration of font fallback #2664

    Can you point me to some easy issues to get familiar with DX Engine, Atlas Engine?

Ugh, I tagged the issues again ...

@zadjii-msft
Copy link
Member

First off, lemme level with you: Those are truly some of the gnarliest issues on our repo. There's a reason they're still open despite the number of upvotes on them.

  • Open new terminal tab in same directory as existing tab (OSC 7?) #3158:
    • This is hard, because it's a lot of plumbing for basically heuristics. The Terminal always needs to internally store the CWD of the shell as a Windows path. However, apps that might be emitting a OSC7 sequence might be emitting it as a linux-style path. They might be WSL, they might be cygwin. They might be one of the Terminal's built-in dynamic WSL profiles, they might be one of Canonical's own distro profiles. They might just be a hand-rolled WSL profile.
    • At least for the WSL cases, we should probably be able to do some kind of heuristic to determine that it is a WSL distro, then translate internally that WSL-relative path, into a Windows-relative one.
    • That involves plumbing a bunch of settings (profile.commandline, profile.source... maybe others) into the TermControl, or the ConptyConnection, or maybe elsewhere.
      • maybe we only need to apply the heuristic in TerminalApp, then plumb in some sort of relativeRoot to TermControl. I dunno.
    • That way, when the linux CLI app emits a WSL-relative path, we can make sure to treat it internally as a Windows path.
  • Add emoji support to Windows Console #190:
  • Allow for the configuration of font fallback #2664:
    • This is probably the most doable. However, I don't really know the most about how dwrite works, so I'm not a ton of help here.
    • Conceptually, the gist of this issue is: A font like Consolas doesn't actually have every glyph in it. Especially for things like the Powerline glyphs, but also for things like supporting other languages that use more than just the latin glyphs. Since Consolas (et. al.) doesn't actually have those glyphs, it would be good to support a list of "fallback" fonts, to then try and look for the glyph in that font next.
    • Alas, it looks like Leonard has been quite aggressive in making sure to close out atlas engine bugs: https://github.com/microsoft/terminal/issues?q=is%3Aopen+is%3Aissue+label%3AArea-AtlasEngine so there's not a lot of easy places to get started in that list...
    • This comment: Rewrite AtlasEngine to allow arbitrary overhangs #14959 (comment) is literally the only lead I have on the subject.

Ugh, I tagged the issues again

Meh, don't worry about it. Folks don't get emails when threads are linked, so no one usually notices or cares.

@Jaswir
Copy link
Contributor

Jaswir commented Oct 23, 2023

@zadjii-msft

I am considering the next steps in my career, I am looking into startups (at my current job I do Web Dev).
I could either go in the direction of AI / C++ or Mobile Development or both? But the jobs I've been looking at seem to be either AI/C++ or Embedded System/C++ sometimes combined with Javascript for Web Dev of the company or Only Mobile Dev with React Native but no C++.

I am worried to go in the direction of C++/AI. It seems to me like a small fraction of jobs involve C++ development. Most involve mobile development since the market for it is bigger, around 80% of internet traffic is from Mobile. That being said right now we have entered the Era of AI and so maybe the future market is AI and C++?

I want experience that allows to apply to a wide range of jobs and don't want to get stuck in a box where I can't transition easily anymore. I've been in that before with Game Dev where I pretty much dug my own grave well at least the more I did it the more I felt like I couldn't get out of it anymore since I knew so much about it.
I don't know if that makes sense. If I do Mobile Dev with e.g. react native it seems like there will be tons of companies to go to so I can be flexible and don't have to worry about getting stuck at a company since there are so many other companies I could go to if things don't work out or something.

But seriously though - I've been working through re-writes of the Console codebase for 8 years now. I helped design the architecture of the Terminal codebase itself. That's been my 9-5 for years, at this point, it's just instinct.

As someone that has been doing C++ development for the past 8 years of their live.
How valuable is C++ development in the long run? It seems to me it's mostly build for programming machines, so embedded systems and with AI for programming the GPU with Cuda or Compiler engineering, to increase AI performance. Which to me seems like a small fraction of the job market. Maybe in the future it will boom with AI though.

Do you feel like you are kinda stuck in terms of jobs? Like you dug your own grave? Like can't translate easily to other companies because you don't have xp with web or mobile development. For example one thing I always wondered about like this is like desktop development, but some people build backend with C++. I don't know if you've done web development before with c++? But do you think your C++ knowledge would be valuable to a company that uses C++ primarily for backend development?

From my perspective I can't see that, since I am not that good at C++ when applying before I'd apply to C# jobs for backend with desktop development experience in C# only. And I couldn't see it either what the value was of that for backend C# cause I wasn't that good at C#. But I think you might see it?

Also do you think in the future C++ will take a bigger share of the market cause of AI and become the new Mobile Dev hype? So like majority of jobs will ask for C++?

Also what do you think knowledge of C++ is worth? How valuable do you think it is?

@zadjii-msft
Copy link
Member

Alright I probably don't have enough time to share everything I'd like to, but I'll try to add some quick notes:

  • Take my own experience with a grain of salt - I had one internship before interning with MSFT, then got an offer from my internship, and have been here my whole professional career. So, I haven't had to really attempted switching roles.
  • I only had maybe 2 C++ classes in college before my internship here. Nothing too extensive - honestly they were like 99% just C code anyways.
  • I subscribe to the school of thought that over-indexing on specific language/framework is probably a fallacy. Software Engineering is more about plumbing than anything. Knowing a specific domain can surely be helpful, but I feel like big-picture, companies don't really care if you have 5 years experience in LanguageY and they're hiring for LanguageZ. At a certain point in your career, code is just code. A couple weeks of learning and you'll probably be up-to-speed enough in whatever new language you're using. Knowing big-picture how to plumb pieces together (and communicate plans of how to do that) is more valuable than knowing how to reverse a string in a language.
  • FWIW I have also done side-projects all over the stack - Android & Java, C#, and a TON of python backend/TS frontend. Nothing great, but enough to know the languages. There's nothing I like writing less than C++, to be totally honest1. I don't think I'd have any difficulty honestly - other languages are still at the end of the day, just code.
  • I don't really want to commentate too much on modern dev trends. I personally feel like AI has a lot of the tulip mania going on, I probably wouldn't overindex on that too much myself. I'd honestly focus more on what kinds of code you actually enjoy writing. Do you like writing code that end-users will use directly? Go towards JS/React/C#/MAUI/Swift/etc. Like doing behind the scenes work? C++/Rust/C#. Like just writing a lot of code fast(even if the code doesn't go so fast)? Python's great for that.
  • IMO, C++ isn't going anywhere, up or down. It just is. It's simply not a modern language experience, but it's got a fuckton of legacy. Knowing how to write C++ makes me feel like a god in python for how much easier python seems.

Honestly, C# probably strikes good balance place - widespread enough that there are tons of careers. Close enough to Java/whatever's going on at Apple these days that moving to those would be easy. TS is pretty similar too, so again, not the most painful move. And of course, transitioning down to C++ wouldn't be the end of the world from C++.

Footnotes

  1. that's a lie, JS is an abomination. TS is nice though

DHowett pushed a commit that referenced this issue Oct 26, 2023
…minals (#15974)

## Summary of the Pull Request
Closes #11092

Allowing `opacity `to be set differently in both focused and unfocused
terminals

## References and Relevant Issues
#11092 , references: #7158

## Detailed Description of the Pull Request / Additional comments

### Allowing Opacity to be set differently in both focused and unfocused
terminals:

![unfocused_opacity](https://github.com/microsoft/terminal/assets/15957528/1c38e40b-4678-43ec-b328-ad79d222579f)

![image](https://github.com/microsoft/terminal/assets/15957528/3e3342a8-7908-41db-9c37-26c89f7f2456)

![jolsen](https://github.com/microsoft/terminal/assets/15957528/68553507-d29e-4513-89ce-b1cd305d28b7)

![image](https://github.com/microsoft/terminal/assets/15957528/18864f60-91d0-4159-87da-2b2ee1637a4c)

## `_runtimeFocusedOpacity`

Mike also had to say something about this:
#2531 (comment)

Initially I had something like ` _setOpacity(newAppearance->Opacity());`

But with the introduction of unfocused opacity we encounter new
challenges:
When Adjusting the Opacity with **CTRL+SHIFT+Mouse Scroll Wheel** or
**Set background opacity** in command pallette, the Runtime opacity
changes, but when we go to unfocused and back to focused the opacity
changes back to focused opacity in Settings.

Also when adjusting opacity through the command palette the window
becomes unfocused and then focused again after setting background
opacity hence the ` _setOpacity(newAppearance->Opacity());` would
override the changes made through command palette

![runtimeFocusedOpacity](https://github.com/microsoft/terminal/assets/15957528/4de63057-d658-4b5e-99ad-7db050834ade)

![command_pallette_focusswitches](https://github.com/microsoft/terminal/assets/15957528/372526eb-cf0c-40f8-a4e5-a0739f1f0e05)

With the introduction of unfocused opacity we encounter new challenges.
The runtime opacity stores both the unfocused opacity and focused
opacity from settings at different moments. This all works well until we
combine this with Adjusting the Opacity with **CTRL+SHIFT+Mouse Scroll
Wheel** or **Set background opacity** in command pallette. This brings
the need for a separate Focused Opacity. When we change the runtime
opacity with scroll wheel or through command pallette this value needs
to be stored separately from the one in settings. So we can change back
to it when going to unfocused mode and back to focused instead of the
focused opacity defined in settings.

## `skipUnfocusedOpacity` solves Opacity going from solid to unfocused
to focused bug:

![skipUnfocusedOpacity_bug](https://github.com/microsoft/terminal/assets/15957528/ecc06dcf-fbef-4fef-a40f-68278fdbfb12)

## Validation Steps Performed

- Checked if unfocused Opacity works well when adjusting opacity through
Mouse Scroll Wheel or Command Palette and in combination with Acrylic as
mentioned in "Detailed Description of the Pull Request / Additional
comments"

## PR Checklist

- [x] Closes #11092
- [ ] Tests added/passed
- [x] Documentation updated
- If checked, please file a pull request on [our docs
repo](https://github.com/MicrosoftDocs/terminal) and link it
here:(MicrosoftDocs/terminal#714)
- [ ] Schema updated (if necessary)

(cherry picked from commit 27e1081)
Service-Card-Id: 90949918
Service-Version: 1.19
@Jaswir
Copy link
Contributor

Jaswir commented Oct 27, 2023

@zadjii-msft

Made a sideproject you might like, that being said I kinda assume you know every cmd command and powershell command by head now, well at least the ones that are most used and rarely lookup commands anymore. Maybe it's more for different audience. Anyway thought I'd share it with you as well.

Made an AI Powershell Plugin - Which-Command GPT. Reduce time looking for commands, increase performance at work. Which command to use in Terminal for Windows? - Which-Command GPT - AI PowerShell Plugin - Answers that for you.

which-command_gif

Features:

👉 Answers which command to use
👉 Copy and paste the command directly in your terminal

Try it out yourself: https://jaswirraghoe.blogspot.com/2023/10/which-command-gpt.html

@Jaswir
Copy link
Contributor

Jaswir commented Oct 30, 2023

@zadjii-msft

There's nothing I like writing less than C++
Wait I understand you don't like writing C++ and would much rather write something else?
Do you feel like you are kinda stuck ? Like you dug your own grave? Like can't translate easily to other companies / roles, like you have to do C++/Rust now forever?

@Jaswir
Copy link
Contributor

Jaswir commented Oct 30, 2023

@zadjii-msft

What function tells me whether the command palette is currently open?
command_palette_open

When the palette is open window becomes unfocused. It shouldn't
image

@zadjii-msft
Copy link
Member

Wait I understand you don't like writing C++ and would much rather write something else?

Absolutely. Working in C++ is just a pain compared to literally any modern programming language. Compiler messages are terrible, tooling is terrible, stl is bizarre at times, package management is nonexistent. Just a dumpster fire. Fast though, lots of examples, and used ubiquitously in the OS.

Do you feel like you are kinda stuck

Not even remotely. I'm confident that I'm a good engineer with solid fundamentals, good communication skills1, and fairly good at reasoning about complicated dependencies. All that'll translate to any other project or language.

What function tells me whether the command pallette is currently open

TerminalPage::_commandPaletteIs(Visibility::Visible) should do the trick

Footnotes

  1. for an engineer

@Jaswir
Copy link
Contributor

Jaswir commented Oct 30, 2023

@zadjii-msft

Nvm don't need to do that, there's a much easier hack that'll do the trick

that's a lie, JS is an abomination. TS is nice though . Honestly, C# probably strikes good balance place

You're such a Microsoft Employee xD!
Are you allowed to use a different browser than Microsoft Edge?

@Jaswir
Copy link
Contributor

Jaswir commented Nov 19, 2023

@zadjii-msft

Am very much into AI these days, hence my absence.
Thought I'd let you know. Hope you're well.

@Jaswir
Copy link
Contributor

Jaswir commented Nov 25, 2023

@zadjii-msft
Are there AI Opensource project at Microsoft you recommend?

@zadjii-msft
Copy link
Member

Are there AI Opensource project at Microsoft you recommend?

Honestly, not a lot that I intimately know of. I've been pretty checked out of the LLM work for the last couple months. Terminal Chat is an LLM-backed feature, but that's more of a frontend application built on top of existing models. It's not really about building or training models itself.

@carlos-zamora
Copy link
Member

I'm gonna go ahead and close this. We have these commands in the command palette:
"Set background opacity" commands in command palette

That's already exposed with the adjustOpacity action.

@github-project-automation github-project-automation bot moved this from Should be written to Done in Terminal Walkthroughs Sep 4, 2024
@microsoft-github-policy-service microsoft-github-policy-service bot added the Needs-Tag-Fix Doesn't match tag requirements label Sep 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Settings Issues related to settings and customizability, for console or terminal good first issue This is a fix that might be easier for someone to do as a first contribution Help Wanted We encourage anyone to jump in on these. In-PR This issue has a related PR Issue-Task It's a feature request, but it doesn't really need a major design. Needs-Tag-Fix Doesn't match tag requirements Product-Terminal The new Windows Terminal.
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

6 participants