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

Grouped notifications #345

Merged
merged 28 commits into from
Dec 12, 2023
Merged

Grouped notifications #345

merged 28 commits into from
Dec 12, 2023

Conversation

ErikReider
Copy link
Owner

@ErikReider ErikReider commented Nov 29, 2023

Fixes: #61

2023-11-13.00-47-52_re-encoded.mp4

TODO:

  • Keyboard navigation
  • Animate each notification dismiss instead of instantly resizing group to the new size?
  • Group by desktop-entry if provided
    • Use as title
  • Add app icon next to group name?
  • Add close all button
  • Gesture to swipe whole group to close all (when collapsed)
  • Move urgent groups to the top
  • Scroll to top of group when expanding
  • Fix hovering collapsed group

@ErikReider ErikReider added the enhancement New feature or request label Nov 29, 2023
@ErikReider ErikReider added this to the v1.0.0 milestone Nov 29, 2023
@ErikReider ErikReider self-assigned this Nov 29, 2023
Also adds parsing of desktop file in NotiModel which helps with getting and using the display name as the group name
@rustysys-dev
Copy link

rustysys-dev commented Dec 2, 2023

Awesome enhancement! I have been waiting for this!! Quick question for your consideration is there anyway to group other than by just desktop file? It might be useful to group by summary as well, otherwise I would have all 250 slack notifications in 1 group. If it was grouped by summary then we could get the group to distinguish between channels in slack at the very least.

   string "Slack"
   uint32 0
   string ""
   string "New message in #rustytest"
   string "rustytest: @Rusty in channel"
   array [
      string "default"
      string "View"
   ]
   array [
      dict entry(
         string "desktop-entry"
         variant             string "Slack"
      )
      dict entry(
         string "urgency"
         variant             byte 1
      )
      dict entry(
         string "sender-pid"
         variant             int64 1212
      )
   ]
   int32 -1

@ErikReider
Copy link
Owner Author

Awesome enhancement! I have been waiting for this!! Quick question for your consideration is there anyway to group other than by just desktop file? It might be useful to group by summary as well, otherwise I would have all 250 slack notifications in 1 group. If it was grouped by summary then we could get the group to distinguish between channels in slack at the very least.

   string "Slack"
   uint32 0
   string ""
   string "New message in #rustytest"
   string "rustytest: @Rusty in channel"
   array [
      string "default"
      string "View"
   ]
   array [
      dict entry(
         string "desktop-entry"
         variant             string "Slack"
      )
      dict entry(
         string "urgency"
         variant             byte 1
      )
      dict entry(
         string "sender-pid"
         variant             int64 1212
      )
   ]
   int32 -1

That could probably be added in the future. There might be a notification standard for grouped notifications so that would be better

@ErikReider ErikReider merged commit 86166a4 into main Dec 12, 2023
6 checks passed
@ErikReider ErikReider deleted the group-notifications branch December 12, 2023 20:02
@ErikReider ErikReider removed this from the v1.0.0 milestone Dec 15, 2023
mochaaP added a commit to traidento/SwayNotificationCenter that referenced this pull request Mar 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

iOS / Cosmic styled notification stacks
2 participants