Comments (4)
I think the problem is that currently, if you do something like i3-gnome-pomodoro daemon 1 2 3 4 5 6 7 8 9 10
to specify a workspace that cannot be focused, it forces the desktop notification stop function by dunst to work unconditionally.
I feel that it would be better to first isolate that functionality as a command line option (such as --no-notify
).
from i3-gnome-pomodoro.
Yeah, it's a good idea to introduce a (--no-notify) flag for this, PR welcome for that.
Regarding the dunst functionality, probably the solution is to refactor it to use dunstctl
and do nothing if dunstctl
is not present in the system. While this will not support pausing the notification in another daemon, you will at least not see those dunst command notifications.
Then it would be another thing to do something like supporting pausing notifications in mako
. I guess that would be handled with https://man.archlinux.org/man/makoctl.1.en
I guess the bigger question is how to handle selecting the correct notification system. I have 2 options in mind:
- do it like
i3-sensible-terminal
which basically has a list of terminals and the first one to exists in PATH is being used - allow the user to use a configuration file to configure this feature
Probably the first option could be implemented first? That will work out of the box unless you have both dunst
and mako
installed.
PRs welcome for all of this functionality
from i3-gnome-pomodoro.
- allow the user to use a configuration file to configure this feature
Unfortunately I am not yet competent enough to write a PR, but after a little research it looks like a good way to do it.
It seems that mako does not allow users to manage the hiding/stocking of notifications unless they configure it voluntarily, as shown below.
$ tail -n 2 ~/.config/mako/config
[mode=invisible]
invisible=1
$
$ notify-send "$(date)" #notified
$ makoctl mode -s invisible #set mode
$ notify-send "$(date)" #not notified
$ makoctl mode -r invisible #notifications are restored
$
Screencast:
20240306-200611_screencast.mp4
from i3-gnome-pomodoro.
ok, so what I understand is that i3-gnome-pomodoro cannot just assume that your mako has a certain mode. I think that it means that it would not be practical for i3-gnome-pomodoro to offer a mako-specific feature and instead it would make sense to offer the ability to run a custom script, in which you could run makoctl commands as you see fit. Also, you could look into whether there is already an app that can do that. Basically i3-gnome-pomodoro is using dbus
to talk with gnome pomodoro. Maybe there is some app that can already achieve this using dbus with some manual configuration
from i3-gnome-pomodoro.
Related Issues (20)
- ImportError: No module named gi.repository HOT 5
- Readme typo in repo path HOT 1
- GLib.Error thrown when gnome-pomodoro isn't running HOT 1
- issue on delayed notifications HOT 3
- executing cmd's via shortcuts or external scripts isn't working HOT 7
- Disable notifications for improved concentration HOT 6
- If not necessary - please change dependency to i3ipc-python HOT 2
- Python function show_time outputs mm:60 when seconds % 60 is between 59 and 60
- Optionally display a specific task, maybe integrate with taskwarrior
- Create package for more operating systems/linux distros
- Create a configuration file that the daemon can autoreload
- Create more elaborate ways to disable/enable workspaces
- Extact workspace disable logic into a separate package maybe
- name 'subprocess' is not defined HOT 4
- Error during installation of i3-gnome-pomodoro HOT 3
- pomodoro always auto continues after break HOT 2
- [feature-request]-TODO list HOT 2
- [feature-request]-config file HOT 8
- cairo not found HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from i3-gnome-pomodoro.