Commit Graph

689 Commits

Author SHA1 Message Date
Alexis Rouillard 3d496c2200
Merge pull request #2554 from mutoroglin/cava-hide-on-silence 2023-10-15 21:19:17 +02:00
Brenno Lemos ee652677a6 feat: ignore windows with empty classes or titles (if any rule uses title) 2023-10-11 11:40:49 -03:00
Brenno Lemos c995bafa7a feat: add option to ignore workspaces based on regex 2023-10-11 10:59:33 -03:00
Brenno Lemos fad43d4b16 feat: listen to windowtitle IPC event condiationally to update window rules 2023-10-09 14:42:53 -03:00
Brenno Lemos 8d057e6f96 refactor: separate regex rule matching and caching in separate class 2023-10-09 13:53:00 -03:00
SWarrener c16e791cdc Adding options to allow disk outputs to always be in a specific unit 2023-10-08 16:24:50 +01:00
Joerg Weislogel 1eb0777799 add function to cava module to hide on silence 2023-10-07 12:50:24 +02:00
Brenno Lemos 258ab8b147 refactor: take window representation directly from old workspace on movewindow event 2023-09-22 21:12:42 -03:00
Brenno Lemos adbc9d95de feat: optional default icon for 0-match classes
Co-authored-by: Gabriel Fox <Inbox@GabrielFox.Dev>
2023-09-22 19:16:59 -03:00
Brenno Lemos b9d5912a4f feat: rewrite window classes
feat: cache window class rewrite resolution

Co-authored-by: Gabriel Fox <Inbox@GabrielFox.Dev>
2023-09-22 19:16:53 -03:00
Brenno Lemos 3e2761e81f feat: dynamically assign windows to workspaces
Co-authored-by: Gabriel Fox <Inbox@GabrielFox.Dev>
2023-09-22 19:12:50 -03:00
Evan Overman bf371f70d1
add `waitingWorker()` to `Custom` 2023-09-18 14:56:14 -07:00
Mann mit Hut 8d7341da6e
cpu module: Reuse getLoad of load module 2023-09-13 21:56:37 +02:00
Mann mit Hut d1602e383c
cpu module: Reuse getCpuUsage of cpu_usage module 2023-09-13 21:56:36 +02:00
Mann mit Hut c45f6681b3
cpu module: Reuse getCpuFrequency of cpu_frequency module 2023-09-13 21:56:35 +02:00
Mann mit Hut dce6a98f38
Added changes made to the cpu module 2023-09-13 21:56:34 +02:00
Mann mit Hut 982ffde002
Use labels instead of buttons 2023-09-13 21:56:33 +02:00
Mann mit Hut 888adb57ec
Introduce cpu_usage module 2023-09-13 21:56:32 +02:00
Mann mit Hut c36fe3a004
Introduce cpu_frequency module 2023-09-13 21:56:31 +02:00
Mann mit Hut 729564cc27
Introduced separate load module
The module provides the three system load averages. This is an
improvement compared what you can do with the cpu module: cpu
only provides the one minute sample and the state of the cpu module is
derived from the cpu usage which messes up the formating of the load
average. Also, at least on modern Linux systems, the load of a system
takes much more than the cpu utilization into account and it should
therefore live in a separate module.
2023-09-13 21:56:30 +02:00
Austin Horstman 3ae2fe3272
refactor: PR review cleanup 2023-09-09 12:08:30 -05:00
Austin Horstman 2b8c92e8fd
refactor: enum utility allow overriding 2023-09-09 11:18:12 -05:00
Austin Horstman 8ea2626de8
refactor: sort-by enum hyprland 2023-09-09 10:04:48 -05:00
Austin Horstman cbc12e5443
feat: hyprland workspaces add sort-by 2023-09-08 22:49:15 -05:00
Austin Horstman 587bd0cd62
refactor: cleanup hyprland workspaces constructor 2023-09-08 22:24:05 -05:00
zjeffer 04b39ea64e hyprland/workspaces: implement 'active_only' option and visible class 2023-09-05 18:22:54 +02:00
Maxim Baz 9c49f46b01
hyprland/workspaces: react on renameworkspace event 2023-09-05 17:13:25 +02:00
Alexis Rouillard 2d27e484c7
Merge pull request #2417 from Cherser-s/sni-click-coordinate-fix
sni: fix passing relative coordinates to dbus methods
2023-09-04 22:01:04 +02:00
Austin Horstman ce076927f3
chore: cpplint fixes hyprland headers 2023-09-02 23:56:04 -05:00
Cherser-s 65dfabc430 sni: fix passing relative coordinates to dbus methods
Doesn't correctly handle the case with both margin and width/height being set at the same time.
2023-08-25 20:37:16 +03:00
Austin Horstman ee4fbc58f7
hyprland add urgent ipc support 2023-08-23 12:52:29 -05:00
asas1asas200 54a6668846 feat(keyboard-state): add binding-keys options 2023-08-20 08:33:34 +08:00
PucklaJ 22817089db Add no-controller format to bluetooth module 2023-08-16 15:34:06 +02:00
Alex db1d859881 fix: lint 2023-08-14 14:20:08 +02:00
zjeffer 600653538b Persistent workspaces in hyprland/workspaces 2023-07-30 11:47:37 +02:00
Alexis Rouillard c087d8c318
Merge pull request #2316 from MightyPlaza/workspaces
hyprland/workspaces improvements
2023-07-24 13:40:23 +02:00
Viktar Lukashonak 4d9e0ea802
time conversion between time zones
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-07-24 01:21:33 +03:00
dmitry d3bcff31e5 add high-priority-named optiion 2023-07-20 22:56:15 +03:00
zjeffer 2721e19ee6 small improvements 2023-07-17 16:22:59 +02:00
MightyPlaza 6d24b22b21
moves createWorkspace to update() 2023-07-16 01:43:54 +00:00
MightyPlaza 4f81e55e41
workspaces.hpp 2023-07-16 01:20:30 +00:00
MightyPlaza 495b63d7dc
workspaces.hpp 2023-07-15 17:44:57 +00:00
gardenapple daca57129f
hyprland/window: rename .hidden to .swallowing (and fix grouped windows) 2023-07-12 19:01:45 +03:00
MisterPine 31683d9e2a
Implemented AAppIconLabel for sway/window 2023-07-10 22:55:46 +02:00
MisterPine 00e143d47e
Introducce AAppIconLabel class
Implemented for hyprland
2023-07-10 22:50:58 +02:00
MisterPine a373f6b654
Icon working 2023-07-10 22:02:03 +02:00
MisterPine f97c1c7136
remove getWindowData 2023-07-08 23:22:29 +02:00
MisterPine c5f1771375
Use already existing `queryActiveWorkspace()` 2023-07-08 22:40:16 +02:00
MisterPine c4bace504c
Separate query and struct 2023-07-08 22:40:16 +02:00
Alexis Rouillard 3299d4a25c
Merge pull request #2270 from gardenappl/hypr-backend
hyprland/window: Add .hidden CSS class, account for hidden & fullscreen windows
2023-07-05 08:14:49 +02:00
zjeffer d21f29cb14 Fixed build warnings 2023-07-04 23:05:26 +02:00
Alexis Rouillard 0d1016d4d2
Merge pull request #2203 from rodrgz/mprisImprovement
mpris: dynamic tag ordering and separator customization
2023-07-04 22:44:21 +02:00
Alexis Rouillard 14fa9cf7b7
Merge pull request #2128 from Alan-Kuan/image-tooltip
Image tooltip
2023-07-04 22:40:04 +02:00
Alexis Rouillard 265b4edb2e
Merge pull request #2276 from skligys/fix_mpris_ui_spamming
Stop MPRIS module from updating every ~20ms
2023-07-04 22:29:48 +02:00
dmitry de626dcbbc format 2023-07-04 01:24:34 +03:00
dmitry c9b963e82b fix segfault 2023-07-04 01:17:26 +03:00
Skirmantas Kligys c2f9d889f4 Stop MPRIS module from updating every ~20ms as onPlayerMetadata(), onPlayerPlay()
callbacks get triggered without regard for update interval.
2023-07-03 13:52:57 -07:00
gardenapple cdece498c1
hyprland/window: .solo class accounts for hidden & fullscreen windows 2023-07-02 20:58:42 +03:00
Alexis Rouillard 91588fb8bb
Merge pull request #2212 from evyatark2/wpscroll
wireplumber: Support for scrolling
2023-07-02 11:46:56 +02:00
Alex 9d741f89e2 fix: lint 2023-07-01 11:12:14 +02:00
Alex cc4370f1b2 fix: build 2023-07-01 11:08:31 +02:00
dmitry 887c44bf68 finish MVP 2023-07-01 00:18:57 +03:00
dmitry 33236c222f save 2023-06-28 02:52:01 +03:00
Erik Rodriguez 77a8420aaf
mpris: Add dynamic-order and dynamic-separator
This commit allows better handling of ordering and exclusion of the tags in Dynamics tags.
It also becomes possible to choose the separator between the tags.
2023-06-22 02:13:34 -03:00
gardenapple 30c4f08773
hyprland/window: Correct application of .solo class 2023-06-20 03:54:02 +03:00
gardenapple 4f14ce3285
hyprland/window: add .floating and .fullscreen CSS classes 2023-06-20 00:42:19 +03:00
gardenapple e233022d1a
hyprland/window: Rework, add .empty, .solo and .<app_id> CSS classes 2023-06-19 23:44:20 +03:00
Viktar Lukashonak 17af49d421
Upower native-path filter
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-06-09 18:22:24 +03:00
Evyatar Stalinsky d22fd3bbd1 Use a minimum step as provided by wireplubmer; Default step to 1 2023-06-06 11:42:02 +03:00
Evyatar Stalinsky 88a1a702b4 wireplumber: Support for scrolling 2023-06-05 22:03:46 +03:00
D3vil0p3r b728a37b6d
Fixing 'incomplete type error' during building
Fixing errors during the building due to missing library after latest GCC updates.
2023-06-05 16:28:32 +02:00
David Delarosa 7e9bfc504c Update to new ipc version 2023-05-25 00:27:50 +03:00
MonstrousOgre c04485a5d0 separate css class for empty workspaces 2023-05-05 00:09:32 +05:30
Paymon 3da3732cc9 network: detect if link is p2p and use local addr
without this we endup with peer's addr

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2023-04-26 13:52:17 -04:00
Alan-Kuan 6a17139423
feat: tooltip for image module 2023-04-21 16:38:21 +08:00
Alex ede1d25440 fix: lint 2023-04-17 09:01:14 +02:00
Alex 8be889c5aa
Merge pull request #2103 from xdavidel/dwl-module
Add DWL tags module
2023-04-17 09:01:00 +02:00
Alex b1e3347fca
Merge pull request #2089 from MonstrousOgre/master 2023-04-17 08:59:22 +02:00
Alex 8aafe817bf
Merge pull request #2102 from LukashonakV/Cava 2023-04-16 18:06:53 +02:00
Viktar Lukashonak a5607b66ca
Cava module
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-04-15 02:36:15 +03:00
Viktar Lukashonak 6de3b58d6a
ISSUE#2073
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-04-13 17:16:03 +03:00
David Delarosa 60cdf10e64 Add DWL tags module 2023-04-11 04:50:21 +03:00
Alex 60467ad7f2
Merge pull request #2064 from en3wton/hyprland-language-format-replacements 2023-04-03 09:43:28 +02:00
Alex ef99b0226c
Merge pull request #1932 from ldelossa/wlr-taskbar-sort-app-id 2023-04-03 09:42:19 +02:00
Alex 60e0584d16 fix: lint 2023-04-03 09:41:24 +02:00
chayleaf 0cfd1c7094 mpris: don't put ellipsis after whitespace 2023-03-31 19:54:44 +07:00
chayleaf e5524d5059 mpris: switch base class from AModule to ALabel 2023-03-31 19:54:39 +07:00
chayleaf 5383f7bd56 mpris: add unicode support; add position tag 2023-03-31 19:54:20 +07:00
chayleaf a53c97f7f6 mpris: add tooltip and length limits 2023-03-31 19:53:53 +07:00
MonstrousOgre 5791a6abc6 Reading persistent workspaces 2023-03-24 23:11:47 +05:30
en3wton bbcfb5e138 remove use of new on Layout 2023-03-21 19:30:35 +00:00
en3wton 4ab4ff790e add more format replacements for hyprland/language 2023-03-19 15:12:11 +00:00
Viktar Lukashonak 61a6c00c02
Happy clang 2023-03-02 16:57:32 +03:00
Louis DeLosSantos 79eb2f5bc1 wlr-taskbar: allow sorting by app_id
some users (maybe only myself) may want to sort the task bar by app_id
which then places occurrences of the same task next to each other.

Signed-off-by: Louis DeLosSantos <louis.delos@gmail.com>
2023-03-01 12:16:28 +00:00
Alex c9c8b09e3f
Merge pull request #1991 from alex-courtis/add-river-layout 2023-03-01 09:42:39 +01:00
Viktar Lukashonak e25a7c9719
ISSUE#1977. AModule implements module actions call
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-02-28 15:32:28 +03:00
Alexander Courtis 5e4a47c0a8 Merge branch 'master' into add-river-layout 2023-02-11 13:22:46 +11:00
Alex ea38eec2af fix: lint 2023-02-09 13:25:39 +01:00
Kuruyia e8c4b85328 feat(backlight): use dbus to set the brightness 2023-02-03 12:58:52 +01:00
Kuruyia a78f0124d2 feat(backlight): add brightness control 2023-02-01 14:46:55 +01:00
Alexander Courtis 757a450324 add river/layout 2023-01-31 16:34:38 +11:00
Alex 0ecfce9c61
Merge pull request #1975 from bd-g/fix-image 2023-01-27 14:38:26 +01:00
Viktar Lukashonak 5d8f9a8273
Clock. Formating simplify
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-01-27 15:57:18 +03:00
Brent George e128c48573 image module CSS fix 2023-01-24 14:34:02 -05:00
Viktar Lukashonak ed31b20c26
Merge branch 'master' into YearCalendar
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-01-23 18:42:32 +03:00
Sasha Moak 4e8ccf36b5 fix(wireplumber): waybar crashes when default node changes
In order to fix the issue, the default node name is cached rather than
the default node id. This is due to ids being unstable. So now when the
object manager is installed (ie ready), the default node name is
retrieved and stored for later.

Now when the mixer changed signal is emitted, the id of the changed node
is used to get the node from the object manager. The nodes name is
grabbed off that node and compared against the default node name, if
they match the volume is updated. Some safeguarding has been added such
that if the node cannot be found off the object manager, it's ignored.

Additionally, the "changed" signal on the default nodes api is now
utilized to update the default node name if it has changed. This way if
the default node changes, the module will be updated with the correct
volume and node.nick.

This adds additional debug logging for helping diagnose wireplumber
issues.

This also adds the wireplumber man page entry to the main waybar
supported section.
2023-01-16 10:29:35 -08:00
Rene D. Obermueller 328573332f sway-window, Issue 1399: new style classes
Provides CSS classes empty, floating, tabbed, tiled, solo, stacked and
app_id.

Adds offscreen-css bool option (default false), only effective when
"all-outputs" is true. This adds styles on outputs without focused
node, according to its focused workspaces window situation.

Adds an "offscreen-css-text" string option (default empty), only
effective when "all-outputs" and "offscreen-style" are set. This
is shown as a text on outputs without a focused node.

Adds a "show-focused-workspace" bool option (default false) to indicate
the workspace name if the whole workspace is focused when nodes are
also present. If not set, empty text is shown, but css classes
according to nodes in the workspace are still applied.

Limitation:
When the top level layout changes, there is no sway event so the
module cannot react. Perhaps in the future recurring polling can
be added to go around this limitation.
2023-01-12 05:53:59 +01:00
Robert Günzler 24d03d13ce
mpris: fix build errors
to address https://github.com/Alexays/Waybar/pull/1520#issuecomment-1374229080

Signed-off-by: Robert Günzler <r@gnzler.io>
2023-01-07 01:44:25 +01:00
Alex 86850f5c7a
Merge pull request #1520 from robertgzr/mpris-module 2023-01-06 22:35:24 +01:00
Robert Günzler 0bc5314e08
Add mpris module
Uses libplayerctl to use the MPRIS dbus protocol to query, listen and
control media players.

Signed-off-by: Robert Günzler <r@gnzler.io>
2023-01-06 20:55:31 +01:00
Alex 1938bb5d28 fix: lint 2023-01-04 16:26:50 +01:00
Enes Hecan 4d59de42af Implement hyprland submap module 2022-12-21 01:45:57 +01:00
Viktar Lukashonak 0079092699
ISSUE#1874
1. Calendar. Weeks. Fix right paddings when first days of the week is
Monday
2. Fix small perfomrance penalty(avoid of defining parameter in the
month loop)
3. Small name convention for format string variables
2022-12-14 16:43:23 +03:00
Viktar Lukashonak 57ad7f9536
ISSUE#1877 Calendar week numbers
1. Let's do code simplier
2. Week format using regexp. Needs when user provide additional
characters in format string and need to align week days according
3. Week format has got default formats: ":%U",":%V"
4. Week number is based on the first day of the week now. The output is
the same as of date library now.
5. Avoiding of unnecessary operations
2022-12-10 14:02:15 +03:00
Alex 80b2b29a77
Merge pull request #1397 from JakeStanger/feat/image-module
Resolves https://github.com/Alexays/Waybar/issues/1191
2022-11-24 20:40:56 +01:00
Simon Plakolb 5e9bbe5c76 modules: Revert button to label 2022-11-24 13:08:16 +01:00
herlev 2c7cb0e9d4 Fix crashes when using named workspaces in Hyprland
The first crash occurs when trying to parse the
ID of a workspace as an uint, since named
workspaces has negative IDs. This is fixed by
using ints for workspace IDs instead of uints.

The second crash occurs when converting a
workspace name that isn't a number to an integer.
This is fixed by wrapping std::stoi in a try
block and only sorting by number, when both names
can successfully be converted to integers.
2022-11-24 02:16:44 +01:00
Sasha Moak c2f98d07ef feat: wireplumber support
Adds basic support for showing volume via wireplumber. Allows specifying
the node-id or falling back to the default Audio/Sink node id if node-id
is not set. If tooltip on hover is enabled, will show `{node_name}` by
default otherwise `tooltip-format`.

Format replacements:

`{volume}` - Volume in percentage
`{node_name}` - The node's nickname (`node.nick` property)
2022-11-16 23:23:07 -08:00
Dordovel 1111763251 added path settings 2022-11-16 08:04:18 +03:00
Dordovel 769858fbb4 fix call parent event handle, added commang to open user folder 2022-11-15 16:15:26 +03:00
Dordovel 454ba610f4 clicking on the user label opens the default file manager 2022-11-11 15:15:12 +03:00
Jef Steelant 8f4f67f69f Do not crash when a monitor is removed 2022-11-09 09:34:19 +01:00
Baltazár Radics d02e23c759 feat(backlight): hide if the display is powered off 2022-11-07 13:57:21 +01:00
Alex 2d7e21ed7d fix: lint 2022-10-26 17:26:15 +02:00
bi4k8 ff61e7bf4e taskbar: implement drag-and-drop task reordering 2022-10-25 19:39:23 +00:00
Alex e8e8ccb6cf
Merge pull request #1661 from asas1asas200/zeng-feat-improve_keyboard 2022-10-20 10:50:35 +02:00
herlev 54e04b5a30 Refactor rewriteTitle 2022-10-19 13:25:08 +02:00
herlev f72c1a54d3
Merge branch 'Alexays:master' into hyprland-window-rewrite 2022-10-19 12:18:22 +02:00
Alex 6b221133c2
Merge pull request #1703 from lbartoletti/freebsd_battery 2022-10-19 09:08:47 +02:00
Loïc Bartoletti 9d5f0e45c0 Add test if there is battery 2022-10-18 19:30:23 +02:00
Loïc Bartoletti 45e44e03bd Apply jbeich suggestion for if defined(__linux__) 2022-10-18 19:30:21 +02:00
herlev 97ae2ff343 Add rewrite option to hyprland/window 2022-10-18 13:18:43 +02:00
herlev cb842d9d50
Merge branch 'Alexays:master' into sort-workspaces-by-number 2022-10-18 12:19:00 +02:00
Alex 209225e381
Merge pull request #1701 from Dordovel/master 2022-10-18 09:01:00 +02:00
Alex 7746328daa
Merge pull request #1667 from asas1asas200/zeng-feat-sway_scratchpad 2022-10-18 09:00:31 +02:00
Dordovel 4ed13df092
Merge branch 'Alexays:master' into master 2022-10-17 19:00:21 +03:00
herlev 4dfea72db0
Merge branch 'Alexays:master' into sort-workspaces-by-number 2022-10-17 10:01:12 +02:00
herlev 56ec72c31c
Merge branch 'master' into master 2022-10-17 09:44:17 +02:00
Alex bfa3adcfd6
Merge pull request #1120 from pinselimo/use_gtk_button_v2 2022-10-17 09:09:12 +02:00
herlev 9a0013cb10 Add option to wlr/workspaces to sort workspaces by number 2022-10-15 01:44:58 +02:00
Ian Manske cca5227210 Add config value for inhibitor default state. 2022-10-13 21:47:57 -04:00
herlev 015409acaf Allow hyprland/window to show active window on a per monitor basis 2022-10-13 23:41:56 +02:00
Simon Plakolb b8322c4b4b button: Add AButton class
The AButton class is designed as full a substitute to ALabel. The
GtkButton attribute 'button_' is initialized with a label. This
label can the be referenced by the subsequent inheritors of AButton
instead of the GtkLabel attribute 'label_' of ALabel.
For convenience a GtkLabel* 'label_' attribute is added to AButton.

If the button cannot be clicked it is disabled, effectively acting
like its label predecessor.

GtkButton seems to catch one-click mouse events regardless of the
flags set on it. Therefore, 'signal_pressed' is connected to a
function creating a fake GdkEventButton* and calling 'handleToggle'
(for details on this possible bug in GTK see:
https://stackoverflow.com/questions/45334911 )

In accordance with other GtkButtons (i.e. the sway/workspace ones)
set_relief(Gtk::RELIEF_NONE) is called on the 'button_' instance.
2022-10-12 10:25:29 +02:00
Dordovel 9758833027 added user module 2022-09-30 14:33:23 +03:00
Alex ac193ae669
Merge pull request #1646 from LukashonakV/ISSUE#1545
Issue#1545. Calendar scrolling opportunity
2022-09-07 09:16:59 +02:00
Alex 29bdff5314
Merge pull request #1657 from vaxerski/hyprlandLanguage
Added a basic hyprland/language module
2022-09-05 09:12:17 +02:00
Alex 4deb6d812d
Merge pull request #1653 from kennypm/dsp
add JACK module
2022-09-02 08:12:57 +02:00
asas1asas200 d2ff116c92 feat(sway/scratchpad): add some configs
Add some configs for displaying.
Remove draft codes.
2022-08-31 16:27:25 +08:00
asas1asas200 e3342467fc feat(sway/scratchpad): add basic counter 2022-08-31 16:27:25 +08:00
asas1asas200 dcd75b3b40 feat(keybaord): enable hotplug support
Use inotify listening devices path changes to implement hotplug support.
The new hotplug thread is also an event loop, so the interval value has
no effect.
The evdev is now open on demand.

Fix libinput_interface object life-time.
2022-08-23 23:30:16 +08:00