Comments (7)
Should be a new toggle IMO. You can see that the dbus change as written regresses by not sending all info- display* and timestamp, and these are important in some configurations. The nature of the many desktop environments means that whatever looks like it "works for you" could be buggy other places.
*It's doubtful if display is useful anymore, don't think it is in current gtk3. Timestamp/startup id would be, if it's for the default action when running kupfer.
from kupfer.
This can be handled by simple shell script.
dbus-send --type=method_call --dest=se.kaizer.kupfer /interface se.kaizer.kupfer.Listener.ShowHide
from kupfer.
dbus-send --type=method_call --dest=io.github.kupferlauncher /io/github/kupferlauncher io.github.kupferlauncher.Listener.ShowHide
from kupfer.
Thank you! To ensure this will also launch kupfer if it isn't running, and send the show/hide toggle if it is, I ended up with the following script:
#!/usr/bin/bash
# detect if kupfer is running by checking if dbus service is listed
if dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.ListNames | grep io.github.kupferlauncher > /dev/null
then # kupfer running, send showHide signal
dbus-send --type=method_call --dest=io.github.kupferlauncher /io/github/kupferlauncher io.github.kupferlauncher.Listener.ShowHide
else # kupfer not running, launch kupfer
kupfer
fi
One can then just setup a keyboard shortcut to this script to their desktop environment's settings, such as in gnome:
from kupfer.
The se.kaizer.kupfer and so on dbus names are long deprecated, you should use the kupferlauncher names
SERVICE="io.github.kupferlauncher"
OBJ="/io/github/kupferlauncher"
IFACE="io.github.kupferlauncher.Listener"
from kupfer.
Huh, I just tested on v323 and while I can get:
dbus-send --type=method_call --dest=se.kaizer.kupfer /interface se.kaizer.kupfer.Listener.ShowHide
to work, the suggested dbus name change to:
dbus-send --type=method_call --dest=io.github.kupferlauncher /interface io.github.kupferlauncher.Listener.ShowHide
does not work. I did run listNames to check the service is running and see both string "io.github.kupferlauncher"
and string "se.kaizer.kupfer"
from kupfer.
Thanks! Will update my script in #157 (comment)
from kupfer.
Related Issues (20)
- Enhancement: Facilitate quitting Application processes if running HOT 2
- Firefox plugins not functional HOT 2
- Cannot set launch keys on Ubuntu 21.10 after Upgrade HOT 2
- Add SECURITY.md / Insecure ConservativeUnpickler HOT 6
- thunderbird_support.py throws SQL error: cards table absent HOT 3
- Segfaults under Wayland with new libwnck HOT 8
- [Cinnamon] Super+space requires 2 space presses HOT 2
- About shows version undefined and copyright only until 2017 HOT 1
- Prevent Kupfer from being pushed to swap, make Kupfer more responsive with HDD HOT 7
- Plugin ssh-host: implement copy ip to clipboard action ? HOT 1
- "Run in terminal" not sticking HOT 5
- Add extra alias/nickname/tag to any item HOT 2
- [fr] Make the `selected text` obj dynamic HOT 1
- Kupfer v323: [kupfer.core.plugins]: SyntaxError: '(' was never closed (apt_tools.py, line 14) HOT 2
- triggers plugin: can't reassign keyboard shortcut if target file is missing HOT 1
- Kupfer change letter case when copy HOT 2
- Kupfer seems broken with Python 3.11.8 (but not 3.11.7) HOT 7
- Convert > connect lines > You can choose the separator it will use in the settings.
- Rename "master" branch to "main" HOT 3
- Kupfer often crashes on first invocation HOT 1
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 kupfer.