awesomeWM / awesome

awesome window manager
https://awesomewm.org/
GNU General Public License v2.0
6.35k stars 598 forks source link

is startup-notification optional? / irritating waiting cursor #64

Closed r3lgar closed 9 years ago

r3lgar commented 9 years ago

can I build awesome without that? and if so, how? or if it imposible, why?

blueyed commented 9 years ago

I guess you would have to deactive (e.g. using #ifdef) the code that depends on it.

Why don't you want to use it?

btw: asking on the IRC channel might be better for support questions, it's #awesome on oftc.

r3lgar commented 9 years ago

the code

I hoped change it on source configuration before compilation, not patching.

Why don't you want to use it?

irritates waiting cursor

support questions

I guess this is a technical issue and request to make it optional of course.

IRC

I don't use IRC

Elv13 commented 9 years ago

Well, you can disable the "annoying cursor" without recompiling Awesome, you just have to monkeypatch awful.util.spawn to force false as the second parameter default instead of true. Startup notification is very useful. It allow things like spawning a client into a specific tag with specific properties, or having a callback when a client is created. I use it for a "mod4+control+enter" to spawn a terminal into an empty or new tag. I also have mod4+r (run prompt) to spawn as floating then I do shift+enter instead of only enter.

r3lgar commented 9 years ago

monkeypatch

yes, I know, but I want to rid of dependency permanently and uninstall startup-notification.

main question is why startup-notification is not optional?

blueyed commented 9 years ago

It's probably because nobody found it annoying enough to provide a patch for disabling it.. ;)

I also find it very useful in the context of the startup notification ids, but have no problem with any waiting cursor. Is there a way to trigger this? (I have tried starting libreoffice)

I would say the proper fix here would be to have some config variable that you could set, instead of re-configuring and compiling Awesome itself.

r3lgar commented 9 years ago

@blueyed just try to start as example compton by run prompr (Mod4+R by default). compton starts immediately but cursor waiting few seconds.

blueyed commented 9 years ago

@funeralismatic Does not happen for me - also when stopping compton before.

I might have some special config where I never see the waiting cursor?!

So the following also triggers it for you? (from a shell)

echo 'awesome.spawn("compton", true)' | awesome-client
actionless commented 9 years ago

@blueyed

I might have some special config where I never see the waiting cursor?!

it's noticeable what cursor changed to 'waiting' only when u hover on desktop

@funeralismatic did u considered using spawn_with_shell() instead? can u describe your usecase more detailed?

blueyed commented 9 years ago

@actionless Still not happening with a floating term and moving the cursor to the root window / desktop

sleep 2 ; echo 'awesome.spawn("compton", true)' | awesome-client
actionless commented 9 years ago

@blueyed,

that's really strange. mb u can try against default rc.lua?

blueyed commented 9 years ago

@actionless I might do so, but then it's not really bugging me.. ;) FWIW, I've tried also xsetroot -cursor_name cross (and other names), without any success. I am using a lot of Gnome's tools inside of Awesome, and that's probably also where the cursor scheme gets set (I can change it through gnome-tweak-tool). Maybe that's relevant / preventing it from showing up?

r3lgar commented 9 years ago

@actionless

did u considered using spawn_with_shell() instead?

read below.

can u describe your usecase more detailed?

run prompt uses awful.util.spawn(cmd,true) and if I run as example compton or any other app it show waiting cursor not only on root window (desktop) and on some apps. if I try to aim as example on input field sometime I get fail and wasting time (not all has TAB shifting).

sorry for bad english.

actionless commented 9 years ago

@funeralismatic, but you can easily specify which function will be called instead of spawn():

see file:///usr/share/doc/awesome/doc/modules/awful.prompt.html#run

  awful.key({ modkey }, "r",
    function ()
       awful.prompt.run(
           { prompt = "Run: " },
           your_promptbox_widget,
           awful.util.spawn_with_shell
           <........>
       )
    end,
r3lgar commented 9 years ago

@actionless, it is a dirty hack.

I'm trying to understand why the subj is not is optional, but get only workarounds its non-use.

Elv13 commented 9 years ago

@funeralismatic:

startup notification is part of how X work. Every X window managers on earth should support it. Most toolkits make use of it. It also enable useful features (see my first comment). I personally don't think it should be optional. It is not because one of its feature (that can be turned off) annoy you that we should make a move that turn Awesome into a non-compliant window manager. While not mandatory, just like EWMH or ICCCM, it is what clients expect a WM to support.

blueyed commented 9 years ago

I'm trying to understand why the subj is not is optional

I've stated earlier that some compile-time option might get accepted (as a pull request / patch), but nobody would really use it probably. The feature is nice in general, and the drawbacks are worked around by something in my case, where I do not see the waiting cursor ever.

blueyed commented 9 years ago

I am closing this.

@funeralismatic Please feel free to re-open and/or create a new pull request for any improvements in this regard.

psychon commented 9 years ago

Create an empty file ~/.config/awesome/awful/startup-notification.lua.

blueyed commented 9 years ago

And to emit a "completed" signal from a shell script yourself:

if [ -n "$DESKTOP_STARTUP_ID" ]; then
  echo "awesome.emit_signal('spawn::completed', {id='$DESKTOP_STARTUP_ID'})" | awesome-client
fi

(this assumes that $DESKTOP_STARTUP_ID is getting set, which is the responsibility of the launchee, e.g. awesome or nemo (file manager)).