Advertisement
Guest User

Untitled

a guest
Jan 29th, 2021
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.77 KB | None | 0 0
  1. ---
  2. layout: post
  3. title: Wayfire 0.7.0 announcement
  4. ---
  5.  
  6. Hello everyone! Today is the day that Wayfire 0.7.0 was released. There have been quite a few exciting changes since the last time I have written here. Check all the new features and unfortunately the few breaking changes below:
  7.  
  8. ### Scale plugin (in 0.6.0)
  9.  
  10. Scale plugin is definitely the best new feature in Wayfire. Developed primarily by Scott Moreau and Daniel Kondor, it is now part of the main plugins. Scale lets you view all windows on the current or on all workspaces by arranging these windows in a grid, very similar to how GNOME's Overview works. Check out the video below to see it in action:
  11.  
  12. <iframe
  13. width="640"
  14. height="440"
  15. src="https://www.youtube-nocookie.com/embed/pKsvyzza5YE"
  16. frameborder="0"
  17. allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
  18. allowfullscreen
  19. ></iframe>
  20.  
  21. Setting it up is quite simple - first, enable the `scale` plugin either via WCM or the config file, then set up the bindings:
  22.  
  23. ```ini
  24. [scale]
  25. toggle = <super>
  26. toggle_all = <super> KEY_A
  27.  
  28. interact = false # Or true
  29. ```
  30.  
  31. Both are activator bindings which means that you can set keys, buttons or gestures to activate the plugin. Scale also has an interactive mode, which lets you actually type in or click on the scaled windows. See the [wiki](https://github.com/WayfireWM/wayfire/wiki/Configuration#scale) for full information on the available options.
  32.  
  33. ### Revamped window-rules (in 0.6.0)
  34.  
  35. Another contributor, Erik Van Hamme, has completely rewritten the window-rules plugin. `window-rules` lets you execute certain actions when a window is opened, maximized and on a few other events. The actions themselves can be maximizing, fullscreen a window or changing its alpha. For details on the exact syntax, available events and actions consult [this wiki section](https://github.com/WayfireWM/wayfire/wiki/Configuration#window-rules).
  36.  
  37. ### Touchscreen improvements (in 0.6.0)
  38.  
  39. I have completely rewritten the touchscreen handling in Wayfire. A few bugs regarding multitouch in clients were fixed along the way, but the noticeable improvements are in the gesture handling. Gesture recognition has been split out from the main repository and resides in the [wf-touch](https://github.com/WayfireWM/wf-touch) library. New features include support for swipe and pinch gestures with less than 3 fingers (especially useful for edge swipe gestures), and also support for arbitrary gestures [in plugins](https://github.com/WayfireWM/wayfire/blob/master/plugins/single_plugins/extra-gestures.cpp) like tap, multi-touch drag, rotate, etc.
  40.  
  41. ### Blur optimizations (in 0.6.0)
  42.  
  43. The last big changes which made it in the 0.6.0 release were three significant performance improvements to the blur plugin:
  44.  
  45. 1. The blur algorithms themselves now support a much higher degrade (up to 10). The degrade parameter makes the blur algorithms scale down the background before doing computations. Because of the nature of the effect, higher degrade values actually mean both improved performance and stronger blurring!
  46.  
  47. 2. It is now possible to specify which windows are to be blurred. This way you could for example blur your terminal and panel, but not blur other mostly opaque applications.
  48.  
  49. 3. The damage tracking of blurred surfaces has also been improved, resulting in overall less redrawn areas when blur is active.
  50.  
  51. ### Breaking changes (in 0.7.0)
  52.  
  53. There have, unfortunately, been several breaking changes related to input and output devices. The section for an output is now called `output:<connector>` instead of just `<connector>` (e.g. renamed from `[HDMI-A-1]` to `[output:HDMI-A-2]`). The `layout` option in each output's configuration has been renamed to `position`. The `mode` option now no longer supports specifying the refresh rate as a floating-point number.
  54.  
  55. Input devices have had a similar change. A device called `[Wacom Tablet]` would now have a section named `[input-device:Wacom Tablet]`.
  56.  
  57. The motivation for these changes has been that with the new syntax, they can be properly checked by `wf-config` and users can now see error messages indicating the exact line where their config is wrong.
  58.  
  59. ### New protocols support
  60.  
  61. - The `input-method` and `text-input` protocols are supported for touchscreen keyboards.
  62. - The `idle-inhibit` protocol is now supported so that outputs are not turned off because of inactivity when for example Firefox is open with a video playing.
  63. - The `wp-viewporter` protocol is supported for scaling and cropping view's contents. It is needed for Xwayland games which attempt to change the resolution (there are still other missing pieces though), as well as for some Wayland-native clients.
  64.  
  65. ### Sticky windows support
  66.  
  67. Sticky windows always stay on the current workspace. The sticky state of a window can be toggled with the activator binding `wm-actions/toggle_sticky` from the `wm-actions` plugin.
  68.  
  69. ### Others
  70.  
  71. There have been numerous smaller additions and bug fixes. Notable ones:
  72.  
  73. - Core now has support for directly scanning out certain windows. They have to be fullscreen, match the output scale and transform, and not have any effects running on them. If a window satisfies these criteria, it can be directly presented to the driver instead of being rendered Wayfire, resulting in higher performance for such clients.
  74. - There have been several new actions that are available via this plugin. Users can now configure bindings to minimize or maximize a view or show the desktop.
  75. - `wraparound` option in `vswitch` which makes switching to another workspace overflow when on the leftmost/rightmost/etc workspace.
  76. - `follow-focus` plugin in `wayfire-plugins-extra`, makes it possible to have window focus follow the mouse.
  77. - It is now possible to drag a window between two outputs which have Expo active.
  78. - Update to wlroots 0.12
  79. - Support for hotspots (i.e triggering actions from the corners of an output), see [the PR for details](https://github.com/WayfireWM/wayfire/pull/841).
  80. - Many other things and options, check out the git log for a full list.
  81.  
  82. ### Changes for plugin authors (in 0.7.0)
  83.  
  84. Wayfire now has support for writing [custom configuration backends](https://github.com/WayfireWM/wayfire/pull/933). This means that via such plugins Wayfire can now use [gsettings as a backend](https://github.com/DankBSD/wf-gsettings), and in theory could support any config file format, should someone write the code for it.
  85.  
  86. Other major changes include the [proper support for list options](https://github.com/WayfireWM/wf-config/pull/38), and now plugins can [call other plugin's activator bindings](https://github.com/WayfireWM/wayfire/pull/873).
  87.  
  88.  
  89. As you can see, the last few release cycles have been quite busy. As a result, Wayfire 0.7.0 is better than ever! Try it out, and stay tuned for more updates!
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement