user-none / KDocker

KDocker will help you dock any application into the system tray
GNU General Public License v2.0
296 stars 20 forks source link

Feature request: Iconify after start #70

Open moerkey opened 4 years ago

moerkey commented 4 years ago

It would be nice if a program would iconify after a start. I am heavily using kdocker starting a lot of programs after a boot/reboot/sleep via command line. It would be nice if there is a switch to put them directly to tray.

ranomier commented 3 years ago

Yes please!

Daxx commented 3 years ago

shell script with autostart Job done! ;)

moerkey commented 3 years ago

shell script with autostart Job done! ;)

No, unfortunatelay not. Kdocker can not minimize it to tray directly (automatically). It has to be clicked (manually).

Daxx commented 3 years ago

Excuse me? Well what am I doing wrong when kdocker -tq kcalc starts the calculator and then minimizes it to the tray. Pretty much like all the apps in my setup script do ......... every day (automatically)!

moerkey commented 3 years ago

Excuse me? Well what am I doing wrong when kdocker -tq kcalc starts the calculator and then minimizes it to the tray. Pretty much like all the apps in my setup script do ......... every day (automatically)!

Your way is a different approach. You are removing the app from the taskbar totally.

  -t       Remove this application from the taskbar

I still want it to be visible there so -t is unfortunately not appropriate. But thank you for the effort.

Daxx commented 3 years ago

The leave the -t option off. I only put it there because that's what I use. What's the next problem I can help you with?

kdocker kcalc starts the calculator and then minimizes it to the tray ... ... "Oh, but it's still visible on the taskbar (unfortunately) -- I don't want it there"

moerkey commented 3 years ago

Oh thanks. Since it is nearly one year ago I try to recall the real issue. In the meantime I had `-m' inserted. Of course then it won´t work as intended.

I am using this command and I want it to go directly into tray. On Xubuntu 18.04 there is a one second delay and it is stealing the current focus of a window. How can I solve this?

/usr/bin/kdocker -i ~/icon_a.png -I ~/icon_b.png -q /usr/bin/remmina
Daxx commented 3 years ago

/usr/bin/kdocker -i ~/icon_a.png -I ~/icon_b.png -q /usr/bin/remmina

Is this a wind up @moerkey ? ;)

There is no -I option and what are you expecting from providing two icons?

I don't think kdocker cares whether your window has focus ... it should dock it anyway. So it must be a different issue you're having.

moerkey commented 3 years ago
kdocker -h
Warning: QT_DEVICE_PIXEL_RATIO is deprecated. Instead use:
   QT_AUTO_SCREEN_SCALE_FACTOR to enable platform plugin controlled per-screen factors.
   QT_SCREEN_SCALE_FACTORS to set per-screen factors.
   QT_SCALE_FACTOR to set the application global scale factor.
Usage: kdocker [options] [command] -- [command options]
Docks any application into the system tray

Command
Run command and dock window
Use -- after command to specify options for command

Options
  -a       Show author information
  -b       Don't warn about non-normal windows (blind mode)
  -d secs  Maximum time in seconds to allow for command to start and open a
           window (defaults to 5 sec)
  -e type  Name matting syntax. Choices are 'n', 'r', 'u', 'w', 'x'. n =
           normal, substring matching (default). r = regex. u = unix wildcard.
           w = wildcard. x = W3C XML Schema 1.1.
  -f       Dock window that has focus (active window)
  -h       Display this help
  -i file  Set the tray icon to file
  -I file  Set the attention tray icon to file. This icon is set if the title
           of the application window changes while it is iconified.
  -j       Case senstive name (title) matching
  -k       Regex minimal matching
  -l       Iconify when focus lost
  -m       Keep application window showing (don't hide on dock)
  -n name  Match window based on window title
  -o       Iconify when obscured
  -p secs  Set ballooning timeout (popup time)
  -q       Disable ballooning title changes (quiet)
  -r       Remove this application from the pager
  -s       Make the window sticky (appears on all desktops)
  -t       Remove this application from the taskbar
  -v       Display version
  -w wid   Window id of the application to dock. Assumes hex number of the form
           0x###...
  -x pid   Process id of the application to dock. Assumes decimal number of the
           form ###...

Bugs and wishes to https://github.com/user-none/KDocker
Project information at https://github.com/user-none/KDocker
user@lin-riede:~$ kdocker -v
Warning: QT_DEVICE_PIXEL_RATIO is deprecated. Instead use:
   QT_AUTO_SCREEN_SCALE_FACTOR to enable platform plugin controlled per-screen factors.
   QT_SCREEN_SCALE_FACTORS to set per-screen factors.
   QT_SCALE_FACTOR to set the application global scale factor.
KDocker version: 5.3
Using Qt version: 5.9.5

There is an I option.

  -I file  Set the attention tray icon to file. This icon is set if the title
           of the application window changes while it is iconified.

But that is not the issue here. The issue is that I start programs after login and I don´t want them to pop up. My bad. I used -m. So what do I have to do? I need two commands to start a program with kdocker. One that starts it in background and one that starts it in foreground. The one for starting in background is still visible for 2 seconds. That is now the problem.

Daxx commented 3 years ago

My apologies. I see -Iwas added in latest version 5.3 (I'm on 5.2)

As for your 2 sec delay, I can't think of a solution. KDocker launches the app, then waits for the window it's looking for, then minimizes it. If you're using KDE desktop, there's very likely to be a workaround on offer, using Window Rules, e.g. Invisible initially, or something.

moerkey commented 3 years ago

Yeah, my workaround seems to be this: https://askubuntu.com/a/1234762

I guess to solve it kdocker would have to go for another approach with wmctrl and xdotool (just blind guessing).

moerkey commented 3 years ago

I adjusted my start scripts.

  1. I have some which are supposed to minimize the app. Parameter "-m" is NOT in use.
  2. And I have some which are supposed to NOT minimize the app. Parameter "-m" is in use.

To 1: With latest Ubuntu 18.04 and XFCE 4.12 I have the issue that the windows disappear from the taskbar when I use the keyboard shortcut for showing the desktop. They stay of course when I use "-m". But then the apps don´t disappear.

My goal is that I want to decide when a window is allowed to move to tray totally (so disapear from taskbar) by clicking the icon.

ranomier commented 3 years ago

So basically, i also want an option where kdocker starts the application then pots into the system tray without showing it window list of the taskbar.

When im clicking on kdocker it shall open the window (show it) and also show it in the window list of the taskbar