Commit Graph

1972 Commits

Author SHA1 Message Date
Matt White
26a344b131 feat(hyprland): support createworkspacev2 2025-02-26 18:56:11 -07:00
Harishankar G
8bd0285c88 Remove redundant if condition 2025-02-26 16:06:58 +05:30
Harishankar G
212c676251 Provide an option to show ipv4 or ipv6 or both of them 2025-02-26 15:59:33 +05:30
Alexis Rouillard
0b87af9372 Merge pull request #3922 from hansp27/niri-language-dont-ellipsize
turn off ellipsize for niri/language module
2025-02-20 09:11:33 +01:00
Alexis Rouillard
fe3dda4c23 Merge pull request #3932 from rokiden/fix-urgent-special
hyprland/workspaces: fixed urgent for special workspaces
2025-02-20 09:11:07 +01:00
Alexis Rouillard
0d8d42573b Merge pull request #3945 from zjeffer/fix/zjeffer/hyprland-ipc
Hyprland IPC improvements
2025-02-20 09:10:26 +01:00
Alexis Rouillard
533d5de243 Merge pull request #3942 from aruhier/pr_battery_module
fix: battery runtime estimation with negative sysfs values
2025-02-20 09:09:28 +01:00
zjeffer
bcee548f5e Fix workspacerules not taking into account defaultName 2025-02-20 00:06:05 +01:00
zjeffer
37c6cd42f5 fix freebsd compilation 2025-02-19 21:15:18 +01:00
zjeffer
a4989cedae formatting 2025-02-19 21:02:59 +01:00
zjeffer
5b8839ab5c Hyprland IPC improvements
Fixes IPC being blocked at shutdown
2025-02-19 20:45:47 +01:00
Anthony Ruhier
4be1f3bf42 fix: battery runtime estimation with negative sysfs values
Some drivers (example: qualcomm-battmgr, present on Snapdragon X1
laptops) expose the current_now and power_now values in sysfs as
negative int when the device is discharging, positive when charging.

This breaks the battery runtime estimation in Waybar, as it expects a
uint32 for power_now.

Change the battery module to use the absolute values of current_now and
power_now.
2025-02-16 18:33:03 +01:00
Kaosu
d1998de47a add setCustomIcon and try to apply such when ID is known 2025-02-16 14:22:10 +01:00
Kaosu
78d5c3ef3a init custom icons from config per tray 2025-02-16 14:21:34 +01:00
Denis Kazimirov
cc94278c4e hyprland/workspaces: fixed urgent for special workspaces 2025-02-10 18:32:57 +05:00
hansi
0abb2166a4 turn off ellipsize for niri/language module 2025-02-08 00:29:09 +04:00
Bruno Andreotti
a26ed50d0f Add support for vertical bars in privacy module 2025-02-07 14:39:07 -03:00
Alexis Rouillard
c32d5e3883 Merge pull request #3898 from Duckulus/master
[hyprland/window] enable tooltip for hyprland window module
2025-02-05 11:44:28 +01:00
Konstantin Vukolov
e32a678478 Hide upower module when specified device disconnected 2025-02-05 00:02:29 +03:00
Alex
481b01d9af fix: lint 2025-01-25 09:31:32 +01:00
Alexis Rouillard
bb2c67ebad Revert "Make battery module update on plugging/unplugging again (refs #2519)" 2025-01-25 09:24:48 +01:00
Alexis Rouillard
dc64b3542b Merge pull request #3474 from schmop/battery-plugging-instant-updates
Make battery module update on plugging/unplugging again (refs #2519)
2025-01-25 09:20:02 +01:00
Duckulus
ba12ca71c0 enable tooltip for hyprland window module 2025-01-22 18:39:50 +01:00
Alexis Rouillard
a4241d7008 Merge pull request #3823 from thetwistedlogic/feature/river-hide-vacant
Hide vacant tags config option on River
2025-01-12 11:32:45 +01:00
Pol Rivero
0992bf1b87 Escape tray tooltip text
Fix errors when the tooltip set by the tray apps contains markup characters
2025-01-10 16:41:33 +01:00
Alex Murkoff
6a29abb49e fix: never sleep cava when sleep_timer is 0 2025-01-10 15:27:41 +07:00
Alexis Rouillard
5346649fc6 Merge pull request #3827 from pope/master
Escape markup characters in dwl/window
2024-12-26 09:37:00 +01:00
Alexis Rouillard
6ce881abd5 Merge pull request #3826 from DreamMaoMao/fix-hyprland-window-crash
fix: hyprland/window get empty ipc json data
2024-12-26 09:36:33 +01:00
Carlo Teubner
8e276bb3f6 sway: fix "Mapping is not an object" warning
Fixes #3763.

Also a little code simplications while we're at it.
2024-12-17 22:05:16 +00:00
K. Adam Christensen
157ea44510 Escape markup characters in dwl/window
Without this, markup characters like [&><] will be injected directly
into the Label. Escaping them makes sure that the values will be printed
exactly as they appear in the window title or layout symbol.

Signed-off-by: K. Adam Christensen <pope@shifteleven.com>
2024-12-14 09:06:13 -08:00
DreamMaoMao
01ae117cfe fix: hyprland/window get empty ipc json data 2024-12-14 21:02:10 +08:00
twistedlogic
8e0964ad15 feat: is visible and urgent checks as well 2024-12-12 10:11:11 -04:00
twistedlogic
8024df0430 fix: edge case where tags get hidden after all views are killed
This fixes an edge case where focused tags would get hidden if all
clients on a tag get killed
2024-12-11 22:50:01 -04:00
twistedlogic
43af1b9ea0 feat: implement hide vacant for river 2024-12-11 22:18:00 -04:00
Alexis Rouillard
758c14c5d8 Merge pull request #3801 from majutsushi/sway-workspaces-x11-class
sway/workspaces: use X11 class for XWayland windows
2024-12-07 09:55:57 +01:00
Gustaf Ullberg
db943dae98 Let network module handle ipv4 and ipv6 simultaneously 2024-12-05 15:31:40 +01:00
Jan Larres
4e05659109 sway/workspaces: use X11 class for XWayland windows
When using `window-rewrite`, the `class<>` rule would previously only
match against the `app_id` of a window. However, XWayland windows don't
have an app ID.

This change falls back to checking the `class` window property if there
is no app ID to support matching against XWayland windows.
2024-12-01 12:48:07 +13:00
Lars Niesen
1e481b7ac0 fix broken clang-format to run pipeline 2024-11-20 00:00:51 +01:00
Aqa-Ib
77b50b4c7a fix hyprland's grouped window flags
Both flags are wrong, because:
- the active group member can be fullscreened.
- technically, a grouped window can be solo as well, because only the active group member is shown, the other members are hidden. Also you can have a group consisting of only one window.
2024-11-06 13:07:09 +00:00
Alexis Rouillard
5f260516af Merge pull request #3674 from PassiHD2004/master
Add warning threshold to temperature module
2024-10-25 08:52:44 +02:00
Christian Fillion
92242f0b9d hyprland: fix a data race at startup between sockets 1 and 2
`Workspaces::*` and `IPC::startIPC` may both call `getSocketFolder` at the same time.

This randomly causes crashes and/or corruption of the socket path.

Typical crash A:

    [2024-10-16 07:42:09.987] [info] Hyprland IPC starting
    malloc(): unaligned tcache chunk detected
    [2024-10-16 07:42:09.987] [error] Hyprland IPC: Unable to connect?
    Thread 1 "waybar" received signal SIGABRT, Aborted.
    (gdb) bt
    #0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
    (omitted for brievety)
    #9  0x00007ffff64ae745 in operator new (sz=sz@entry=296) at /usr/src/debug/gcc/gcc/libstdc++-v3/libsupc++/new_op.cc:50
    #10 0x00007ffff65ab1f1 in std::filesystem::__cxx11::path::_List::_Impl::copy (this=0x555555a23350) at /usr/src/debug/gcc/gcc/libstdc++-v3/src/c++17/fs_path.cc:249
    #11 0x00007ffff65ab3bd in std::filesystem::__cxx11::path::_List::_List (this=0x7fffffff9d30, other=<optimized out>) at /usr/src/debug/gcc/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/unique_ptr.h:454
    #12 0x00005555556f4ab1 in waybar::modules::hyprland::IPC::getSocket1Reply(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
    #13 0x00005555556f5e3d in waybar::modules::hyprland::IPC::getSocket1JsonReply(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
    #14 0x000055555571289c in waybar::modules::hyprland::Workspaces::setCurrentMonitorId() ()

Typical crash B:

    [2024-10-16 10:01:15.859] [info] Hyprland IPC starting
    [2024-10-16 10:01:15.859] [info] Loading persistent workspaces from Hyprland workspace rules
    Thread 8 "waybar" received signal SIGSEGV, Segmentation fault.
    (gdb) bt
    #0  std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy
        (__d=0x5555558fbca8 "/", __s=0x2973961a26d35726 <error: Cannot access memory at address 0x2973961a26d35726>, __n=1)
        at /usr/src/debug/gcc/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/basic_string.h:433
    (omitted for brievety)
    #15 waybar::modules::hyprland::IPC::getSocketFolder[abi:cxx11](char const*)
        (instanceSig=0x7fffffffe604 "4520b30d498daca8079365bdb909a8dea38e8d55_1729051218_1982280648") at ../src/modules/hyprland/backend.cpp:41
    #16 0x000055555564230f in waybar::modules::hyprland::IPC::startIPC()::{lambda()#1}::operator()() const ()
        at ../src/modules/hyprland/backend.cpp:70
    #17 0x00007ffff64e1c34 in std::execute_native_thread_routine (__p=0x5555558119c0) at /usr/src/debug/gcc/gcc/libstdc++-v3/src/c++11/thread.cc:104
    #18 0x00007ffff62a339d in start_thread (arg=<optimized out>) at pthread_create.c:447
2024-10-17 06:46:07 -04:00
PassiHD
6df26ccba7 feat: add warning threshold to temperature module
Signed-off-by: PassiHD <passihd@phoenixts.eu>
2024-10-09 20:22:58 +02:00
Lars Niesen
d684a6de21 Backlight: Set default to 0 to prevent breaking existing setups 2024-09-25 16:37:21 +02:00
Lars Niesen
04bda9f443 Backlight: Add minimum brightness
As currently it is possible to turn the brightness to zero which may not
be desirable, this patch add a configurable brightness check.
2024-09-25 06:24:03 +02:00
Rowan Leeder
2dfef1c213 Issue-3092 Add node type to wireplumber logs
- The module only fetches nodes for "node-type". This causes the 'onMixerChanged' log to spam whenever two or more
  wireplumber modules were registered on different nodes. To reduce this the unknown node warning will now only print
  if the node is not the focus of any current module.
2024-09-25 05:06:15 +10:00
Rowan Leeder
71a53eb79d Issue-3092 Add source support to wireplumber module
- Adds microphone support etc to the wireplumber module.

  The existing module hardcodes the selected node type to "Audio/Sink". This feature allows the user to override this
  via `"node-type": "Audio/Source"`.

- Unlike the pulseaudio module, this change does not try to see the module manage both input and output. The same effect
  can be achieved by running two instances of the wireplumber module.

  This approach:
  - Works around some of the complexity overhead that seem to have caused similar PRs to stall.
  - Using separate module instances also allows both the microphone and speaker levels to be controlled with a scroll
    wheel. This is something a unified module like pulseaudio struggles with.
  - Similarly, separate instances allows the source volume level to be exposed as the state. Ie- the linear-gradient
    css patterns can be applied to both input and output.
2024-09-25 05:03:24 +10:00
Viktar Lukashonak
b4e97eb2f4 FreeBSD format fix
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2024-09-23 16:06:50 +03:00
Viktar Lukashonak
773b1d4806 Default value for cldYearShift_ = 1900/01/01
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2024-09-23 15:51:01 +03:00
Alex
21af48fdc9 chore: lint 2024-09-19 17:31:07 +02:00
Sonter
3462769fc1 Merge branch 'Alexays:master' into master 2024-09-19 14:45:33 +00:00