so I want to create two scripts

  • first one that basically runs "systemctl suspend" when the lid is closed basically the default behavior doesn't work for some reason and running systemctl suspend always works so yeah you get the idea

  • since I have made the headsets aka the jack output and the default speakers each their respective sink (that's what I actually want (to have the power to put whatever I want in each sink using qpwgraph ) ) but that power comes at the cost of not switching between those respective two sinks so I just want to change I guess either the wireplumber config file or create a systemd service that runs when the jack port is plugged or unplugged

but I am lost in both questions to be honest and wireplumber is a mystery lol - sorry for being a noob if that matters

  • ilega_dh@feddit.nl
    ·
    1 year ago

    I hope you find what you’re looking for, and maybe on the way some punctuation as well :’)

  • ccryx@discuss.tchncs.de
    ·
    1 year ago
    • For your first point you'd probably want to investigate why your system doesn't suspend or what exactly is going on. You could check logind.conf, specifically the HandleLidSwitch* keys. Otherwise, your lid switch should have a corresponding /dev/input/ event that you could maybe listen to or something.

    • I can't offer much input on your second point. I think unplugging the audio jack should probably trigger a udev event that you could write a rule for. No idea about wireplumber though.

    • beh_93825561489@lemmy.ml
      hexagon
      ·
      edit-2
      1 year ago

      thanks for the idea it actually got me to find something so I am going to use "acpi_listen" I guess its a deamon for acpi the funny thing is closing the lid counts as "button/wlan WLAN 00000080 00000000 K" so I am positive linux or the kernel thinks that closing the lid is pressing the wiki toggle button (that's the current behaviour btw) so I guess the next step is to just find out how can I make the kernel think that closing the lid is actually closing the lid lol

      anyway thanks for the help stranger

      • the source of all of this https://askubuntu.com/questions/640741/what-code-is-executed-when-headphones-are-disconnected

      • the followup: https://lemmy.ml/post/3772773

    • beh_93825561489@lemmy.ml
      hexagon
      ·
      1 year ago

      so I made a follow up post: https://lemmy.ml/post/4441946 and a bug report: https://github.com/systemd/systemd/issues/28942 if you are interested in helping

  • Atemu@lemmy.ml
    ·
    1 year ago

    "systemctl suspend" when the lid is closed basically the default behavior doesn't work for some reason

    I'd go and figure out why that is instead. Check the journal; I'd journalctl -f before closing the lid and see what happens.

    The action of the lid is controlled by logind. Check its config.

    If logind can't detect the lid switch, that likely means there's some deeper cause that would affect doing the same manually aswell.
    Is your laptop docked (or does Linux think it is)?

    but that power comes at the cost of not switching between those respective two sinks

    Why? How did you set this up?

    How are the device(s?) configured?
    You might need "Pro" mode to expose separate outputs as such.

    • beh_93825561489@lemmy.ml
      hexagon
      ·
      1 year ago

      basically I guess this bug report will explain everything: https://github.com/systemd/systemd/issues/28942 and I made this post as a followup: https://lemmy.ml/post/4441946

      • basically in my laptop I have 3 problems pressing fn+f2/3 (supposedly brightness keys) it gives the same scan code and I am lost on how to give one of them up and the other down brightness second problem fn+f12 (basically the airport mode aka stop wifi) it doesn't even give a scancode in the first place third problem and the biggest is explained in that bug report and if you have any idea how to deal with this help I guess

      and how did I set up the different sinks to headphone and speakers basically just used hdajackretask to make it so idep_hp = yes and then rebooted my laptop and yeah that was basically it and I am in the process of writing a script to change between the two sinks on the fly