Commit Graph

203 Commits

Author SHA1 Message Date
kraftwerk28
0472d279e4 Add {flag} format replacement 2021-11-24 02:15:10 +02:00
Aleksei Bavshin
2290fe10aa
fix(bar): handle ipc connection errors.
Try to use the default bar id (`bar-0`) if none is set.
2021-11-23 08:46:58 -08:00
Aleksei Bavshin
6bfb674d1b
fix(swaybar-ipc): better logs 2021-11-21 17:28:47 -08:00
Rene D. Obermueller
9972384597 sway/window: include floating_nodes when considering window count for class 2021-10-02 18:35:38 +02:00
Gavin Beatty
fe547901fa sway/language: remove tabs, indent with 2 spaces 2021-09-18 15:28:45 -05:00
Gavin Beatty
9ee701974f
Fix memory leak and data race
- Delete previous Layout before creating next one, and in destructor
- Use stack XKBContext instead of local new+delete
- Lock mutex in update() as it is called from a different thread than onEvent(res)
2021-08-20 10:06:35 -05:00
dmitry
c058a2d196 Add number to shortDescripton 2021-08-20 01:09:16 +03:00
dmitry
a87a967a97 Fix leak 2021-08-17 05:29:35 +03:00
dmitry
a57e431437 Add shortDescription 2021-08-17 05:28:41 +03:00
dmitry
68e4457f3a Add tooltip-formay 2021-07-24 17:24:37 +03:00
dmitry
8310700bbb Improve sway/language 2021-07-13 04:33:12 +03:00
Maxim Baz
999c1b6b81
sway-language: ignore events with empty layout 2021-06-05 15:03:52 +02:00
Patrick Hilhorst
a03283d65f
rewriteTitle: allow multiple sequential rewrites 2021-04-26 20:26:43 +02:00
Matthias Richter
af3c868a5b Catch exception on erroneous rules
std::regex and std::regex_replace may throw an std::regex_error if the
expression or replacement contain errors.

Log this error and carry on with the next rule, so that the title is
shown even if the config contains errors.
2021-04-21 12:24:47 +02:00
Matthias Richter
b16c8972c7 Add option to rewrite sway/window title
Rewrites window title according to config option "rewrite".
"rewrite" is an object where keys are regular expressions and values are
rewrite rules if the expression matches. Rules may contain references to
captures of the expression. Regex and replacement follow ECMA-script
rules. If no regex matches, the title is left unchanged.

example:
"sway/window": {
  "rewrite": {
    "(.*) - Mozilla Firefox": " $1",
    "(.*) - zsh": " $1",
  }
}
2021-04-21 12:24:47 +02:00
Genesis
7eb2a6b709
Add a configuration entry to disable auto_back_and_forth on Sway workspaces 2021-02-02 21:58:26 +01:00
Thomas Sarboni
e19aa1d43a
[sway/window] Add app_id to usable fields in title 2021-01-30 01:41:45 +01:00
Harit Kapadia
cb7baee045 Fixed compile error 2020-12-18 18:17:17 -05:00
Harit Kapadia
85ca5027f4 Fix Sway #waybar.solo CSS rule applying on split
This error occurs because of an incorrect assumption that the size of
the list of nodes that contains the focused window is the number of
windows in a workspace.

The windows in a workspace are stored as a tree by Sway, rather than a
list, so the number of windows has to be found by counting the leaves of
a workspace tree.
2020-12-18 18:14:14 -05:00
Aleksei Bavshin
68b6136989
fix(sway/workspaces): ignore emulated scroll events
GDK Wayland backend can emit two events for mouse scroll: one is a
GDK_SCROLL_SMOOTH and the other one is an emulated scroll event with
direction. We only receive emulated events on a window, thus it is not
possible to handle these in a module and stop propagation.

Ignoring emulated events should be safe since those are duplicates of
smooth scroll events anyways.

Fixes #386
2020-12-04 01:09:42 -08:00
Aleksei Bavshin
ebdeb86703
feat(swaybar-ipc): handle visibility_by_modifier update 2020-10-19 19:35:55 -07:00
Aleksei Bavshin
bc13453155
feat(swaybar-ipc): handle mode update 2021-09-15 22:39:51 +07:00
Aleksei Bavshin
23e5181cac
feat(swaybar-ipc): add swaybar IPC client 2020-10-19 19:34:48 -07:00
nikto_b
8349316fcd
Merge branch 'master' into sway-language-module 2020-10-12 13:31:39 +03:00
nikto_b
cc3acf8102
feature: created sway language submodule; added styles & config part for a sway language submodule 2020-10-10 19:09:18 +03:00
lrhel
83d679bf72 Add format-icons for workspace's name entry 2020-09-26 23:06:12 +00:00
Pedro Côrte-Real
29fa74f621 Add IDs to sway workspace buttons for CSS styling
In case you want to style a specific workspace add IDs to the workspace
buttons. Styling is done by matching button#sway-workspace-${name}.
2020-08-13 11:36:19 +01:00
Pedro Côrte-Real
8f10c9056c Add option for no workspace switch on click
In sway/workspaces, just like disable-scroll turns on/off the ability to
change workspaces by scrolling the mouse add disable-click that turns
on/off the ability to change workspaces by clicking.
2020-08-12 11:38:48 +01:00
NotAFile
9ebfc54eb5
switch workspace on mouse-down to match swaybar
fixes #686
2020-08-06 16:04:30 +02:00
Michael Rodler
006850ea5e Changed helper function for workspace->num assignment to a static method of Workspaces class
and adapted comments/method name to be consistent with the rest
2020-07-27 10:56:49 +02:00
Michael Rodler
15fe73a252 duplicate the logic to assign numbers to workspaces from sway into waybar to handle perisstent workspaces 2020-07-22 16:13:24 +02:00
Tudor Brindus
0080feb9af sway/workspaces: make clicking on workspaces idempotent
Previously, clicking on the same workspace you were on would throw you
to another workspace if `workspace_auto_back_and_forth yes` was
specified in your sway config. This also fixes workspace output moving
misbehaving and doing the same.
2020-06-09 20:43:43 -04:00
Michael Rodler
6fe764540c sway/workspaces: sort by the "num" property provided by sway, configurable whether numeric workspace names come first
Sway provides the workspace "num" property which is an integer number of
the workspace, i.e., workspace "3" -> 3 and also "3dev" -> "3". This
commit uses this property to sort the workspaces, which makes sense when
persistent workspaces or all-output is specified. This commit also adds
a new configuration option, whether the numeric workspaces come in front
or after workspaces that have non-numeric name.
2020-05-05 09:15:20 +02:00
Michael Rodler
c602d38c8e sway/workspaces added current_output CSS class to buttons.
All workspace buttons that are visible on the same output as the current waybar can be styled with the `current_output` css class.

This is really only useful in combination with the `"all-outputs":
true`. Then the workspaces that are on the current output can be styled
differently than the workspace on other outputs, while all are visible
in the waybar.
2020-05-04 16:16:09 +02:00
Alex
4a7dd400fe
Merge branch 'master' into on-update 2020-04-12 18:32:19 +02:00
Alex
b40cdcb5bd refactor: call parent update 2020-04-12 18:30:21 +02:00
Alex
7c4ea39774 fix: add missing comma 2020-04-06 12:49:41 +02:00
Alex
27fbea2b5a refactor(workspaces): default value unstripped, fix man 2020-04-06 12:42:29 +02:00
Alex
bb2c16386b feat: format-icon for persistent workspaces 2020-04-04 21:13:25 +02:00
Aleksei Bavshin
ae6ca36fa7
fix(sway): resolve destruction dependency between Ipc and SleeperThread
Ipc destructor closes socket and thus wakes up SleeperThread which was
waiting for socket data in Ipc::handleEvent.
Ipc::handleEvent then proceeds with sending signal to already destroyed
object, causing heap-use-after-free Address Sanitizer error.
2020-02-04 23:22:43 -08:00
Alex
7f7ebb5367 fix(workspaces): add int comparison 2019-10-19 16:19:35 +01:00
Alex
36fc8365ee
Merge pull request #446 from bschacht/fix-typo-persistant
Fix typo: persistant -> persistent
2019-08-31 21:13:31 +02:00
Birger Schacht
2646390e28 Fix typo: persistant -> persistent 2019-08-31 19:57:44 +02:00
Birger Schacht
66f2cbed51
Fix typo
ouput -> output
2019-08-31 17:50:56 +00:00
xPMo
e38df047fd
sway/mode: enable pango markup on supported modes
IPC reports {"mode": "mode_string", "pango_markup": bool}.
Use this to conditionally enable pango markup.
2019-08-28 19:48:33 -05:00
sheenobu
a6c0bc5a52 Fix deadlock on workspace scrolling
Make the mutex guard lifecycle finish before the send ipc command
by adding scope around the code.

Fixes #395 .
2019-07-05 20:47:44 -07:00
Alex
a6980fca7f feat: ellipsize modules 2019-06-28 14:16:09 +02:00
Alex
bd5146fdcf fix(Label): ELLIPSIZE all label modules 2019-06-28 13:49:04 +02:00
Alex
ff9d598c16 fix: add proper mutex 2019-06-17 11:39:45 +02:00
Alex
340ec7be91 refactor: AModule 2019-06-15 14:57:52 +02:00
Alex
dabe2bebbb feat(sway/window): handle floating nodes 2019-06-14 11:27:40 +02:00
Alex
486b5a5d38 fix(sway/window): check output recursively 2019-06-14 10:57:22 +02:00
Alex
11bbc3b24d
Fix twitchy scrolling on touchpads (#381)
Fix twitchy scrolling on touchpads
2019-06-14 10:38:25 +02:00
Alex
028b184f7b fix(workspaces): persistant class with empty outputs 2019-06-12 09:50:33 +02:00
Patrick Hilhorst
396f7d4525
Workspaces: implement horizontal continuous scrolling 2019-06-11 18:44:54 +02:00
Alex
3c9b533997 fix(window): avoid hexpand 2019-06-11 17:57:17 +02:00
Patrick Hilhorst
ed4521d113
Workspaces: fix twitchy scrolling on touchpads
Previously, any and all scroll events were interpreted as reason to switch
workspaces. This resulted in twitchy behaviour, where the scrolling was
practically unusable.

Now, we pool all scroll values, and only scroll if the value is larger than the
new config option "smooth-scrolling-threshold". If this option is not set, the
behaviour is unchanged.
2019-06-11 17:22:24 +02:00
Alex
c2e9ed6091 feat(workspaces): add class to persistant workspaces 2019-06-11 14:08:48 +02:00
Alex
a37b4687ff Revert "refactor(window): we don't need to subscribe workspace events"
This reverts commit 648eecdd83.
2019-06-11 14:06:31 +02:00
Alex
648eecdd83 refactor(window): we don't need to subscribe workspace events 2019-06-07 15:08:33 +02:00
Alex
1962caf144 refactor(window): gtk stuff in update method 2019-06-04 17:34:00 +02:00
Alex
9b89fc6470 refactor: disable bar scroll by default 2019-05-28 16:11:33 +02:00
Alex
d24d85bebf refactor: move label name and id to label contructor 2019-05-22 12:06:24 +02:00
Alex
12a251c3a4 fix(mode): escape text 2019-05-20 20:51:19 +02:00
Alex
4accdd4524 fix(Workspace): ordering 2019-05-20 20:46:59 +02:00
Alex
e3879559a2
Merge pull request #330 from Organic-Code/master
Adding sway/workspaces:persistant_workspaces
2019-05-20 14:33:31 +02:00
Lucas Lazare
0ec8774a08 Fixing: missing argument for fmt, workspace order
Persistant workspaces would reorder upon their first creation
2019-05-20 08:23:42 -04:00
Alex
071b4928dc fix(workspaces): order 2019-05-20 13:31:02 +02:00
Alex
7c4d75d428 feat: create new workspace on the wanted output 2019-05-20 13:21:22 +02:00
Lucas Lazare
51be97f9aa Adding spdlog 2019-05-18 19:44:45 -04:00
Lucas Lazare
a00f812cd1 Typo 2019-05-18 18:21:01 -04:00
Lucas Lazare
863e0babd8 Adding break when sorted_workspaces is filled 2019-05-18 12:09:30 -04:00
Lucas Lazare
8ba3052dd1 Adding comments & fixing code style 2019-05-18 12:04:09 -04:00
Lucas Lazare
1a76aa0c8c Improving ordering 2019-05-18 11:58:01 -04:00
Lucas Lazare
85f177a213 Adding sway/workspaces:persistant_workspaces in config file
c.f. https://github.com/Alexays/Waybar/issues/210
2019-05-18 10:58:55 -04:00
RX14
3e1c77d158
Add option to disable scroll wraparound on workspaces 2019-05-18 12:15:35 +01:00
Alex
43d724ebad
Merge pull request #326 from RX14/rename-bar-scroll
Rename the "disable-workspace-scroll" option to "disable-bar-scroll"
2019-05-17 20:24:15 +02:00
RX14
0d59f7b7d1
Rename the "disable-workspace-scroll" option to "disable-bar-scroll" 2019-05-17 17:42:11 +01:00
RX14
1e95f5d9b6
Fix workspace scroll wrapping off the end of the list 2019-05-17 17:37:24 +01:00
Alex
4d4cadb5ae refactor: simpler code 2019-05-17 09:59:37 +02:00
Alex
362c393b1d refactor: try/catch, sigc trackable 2019-05-13 15:15:50 +02:00
Alex
0c3c548bc0 fix(Window): avoid concurrency 2019-05-13 14:35:45 +02:00
Alex
62f8af8a39 fix(Window): avoid multiple same classes 2019-05-13 10:56:48 +02:00
Adam Pioterek
7cdde05568
remove empty and solo classes when they do not apply 2019-05-11 20:36:10 +02:00
Alex
5bf0ca85ac refactor: try/catch around json parse 2019-05-09 10:30:54 +02:00
Alex
5a44c8c6de refactor: avoid unneeded json parsing 2019-05-07 13:43:48 +02:00
Alex
74137befba fix(window): title flickers 2019-05-07 13:31:41 +02:00
Alex
b75e0bb0d0 refactor: remove useless bar param 2019-05-07 13:21:18 +02:00
Alex
d027243a19 fix: json thread safe 2019-05-02 14:24:54 +02:00
Alex
717a07d584 refactor(Window): simpler conditions 2019-04-26 15:29:54 +02:00
Alex
bb8ff5a99f feat(Bar): add class depend of window in the workspace 2019-04-25 16:47:51 +02:00
Alex
311c34ecbc feat(Bar): handle widget size changes 2019-04-24 12:37:24 +02:00
Alex
90d89fe974 refactor: kill custom modules scripts en destroy 2019-04-23 15:56:38 +02:00
Alex
cccf60c30e fix(Workspaces): fix concurrence and move json parser to ipc client 2019-04-23 11:42:08 +02:00
Alex
cbb6f2a307 refactor(Workspaces, IPC): no more mutex in the workspaces modules, moved to the IPC client for a proper handling 2019-04-19 16:48:02 +02:00
Alex
e77c155ede fix(workspaces): avoid mutex block 2019-04-19 12:11:55 +02:00
Alex
42dc0c4c71 fix(ipc): typo 2019-04-19 11:10:48 +02:00
Alex
bb1cf7570e refactor(IPC): use sigc signal 2019-04-19 11:09:06 +02:00
Alex
6ed8f94dab refactor: format code 2019-04-18 17:52:00 +02:00
Alex
807ef32357 refactor: format && better output management 2019-04-18 17:47:40 +02:00