Commit Graph

2494 Commits

Author SHA1 Message Date
Ivan Molodetskikh 51df1aba01 layout: Focus prev column when removing just created column
This works similar to tabs in Firefox: when you create a tab and then
close it without focusing any other tabs, the focus returns to the
previously-focused tab, rather than the usual next tab. The logic is
that in this case, the new tab was likely transient, and the user wants
to get right back to what they were doing.

In niri's case, this also serves as a workaround for wl-clipboard
spawning and destroying a window, messing up the focus.
2023-09-24 10:08:43 +04:00
Ivan Molodetskikh b3b1e082ac layout: Preserve active column when column to the left is removed 2023-09-24 09:42:49 +04:00
Ivan Molodetskikh 34db4bcd48 Commit Cargo.toml update 2023-09-21 20:05:10 +04:00
Ivan Molodetskikh a7e338b3c0 Add spawn-at-startup config option
Fixes https://github.com/YaLTeR/niri/issues/12
2023-09-21 19:58:03 +04:00
Ivan Molodetskikh 80dce054cb Use double-fork when spawning subprocesses
Fixes https://github.com/YaLTeR/niri/issues/10
2023-09-21 19:35:02 +04:00
Ivan Molodetskikh 109668fa30 Add output configuration & integer scaling support 2023-09-21 13:48:50 +04:00
Ivan Molodetskikh cfa73c153c layout: Fix workspace output updating 2023-09-21 13:48:50 +04:00
Ivan Molodetskikh dbcd667877 niri: Fix Output global creation and removal 2023-09-21 13:48:50 +04:00
Ivan Molodetskikh 9fc731c115 Plot target presentation time offset 2023-09-20 11:51:25 +04:00
Ivan Molodetskikh 1963aaa775 Add initial impl of org.gnome.Shell.Screenshot
Enough to make the portal all-outputs screenshot work. With this,
Flameshot kinda-works.
2023-09-20 09:28:23 +04:00
Ivan Molodetskikh 8b4f2cf483 niri: Add include_pointer argument to render() 2023-09-20 09:22:39 +04:00
Ivan Molodetskikh 1c85230d18 niri: Make render helpers generic over RenderElement 2023-09-20 09:22:15 +04:00
Ivan Molodetskikh e88577bc82 niri: Extract render_to_vec() 2023-09-19 19:08:45 +04:00
Ivan Molodetskikh 69f561cd6f Extract make_screenshot_path() 2023-09-19 19:05:03 +04:00
Ivan Molodetskikh 495cce054b Update Smithay 2023-09-19 17:03:24 +04:00
Ivan Molodetskikh 99b945c385 Allow replacement of screencast and displayconfig dbus
This way the session can start with those dbus services registered, but
then for debugging they can be subsequently replaced anyway.
2023-09-19 16:46:13 +04:00
Ivan Molodetskikh 361b34f460 tty: Pass output name to tracy span 2023-09-19 07:39:21 +04:00
Ivan Molodetskikh 699c6c3ed1 README: Update PrtSc hotkey 2023-09-18 21:08:28 +04:00
Ivan Molodetskikh 1505c6d3d8 README: Update default bind list 2023-09-18 21:06:47 +04:00
Ivan Molodetskikh 94da8b1e3e tty: Try to create context with high priority 2023-09-18 20:09:57 +04:00
Ivan Molodetskikh 2854874793 Upgrade dependencies 2023-09-18 19:53:15 +04:00
Ivan Molodetskikh e0deea3f68 default-config: Add PgUp/Down for workspace switching 2023-09-18 11:53:44 +04:00
Ivan Molodetskikh 3a52489330 Change default repeat to 600
660 comes from Xorg, but feels kind of slow. The wlroots and sway
default is 600, which is a little better.

The 25 repeat interval matches between Xorg (where it is defined in
terms of interval, rather than rate) and wlroots.
2023-09-16 21:52:25 +04:00
Kirill Chibisov b66b4399ad Add keyboard.repeat-rate and keyboard.repeat-delay
Add option to let the users configure the keyboard repeat delay and
rate. Also change the default values to mimic the Xorg, which is
also the values used by default by the majority of the compositors.

Fixes: #7
2023-09-16 18:13:52 +03:00
Ivan Molodetskikh 37ec524264 Add by-index workspace commands and binds 2023-09-16 12:14:02 +04:00
Ivan Molodetskikh e5d7732880 Use /- in less places in the default config 2023-09-16 10:50:05 +04:00
Ivan Molodetskikh fafe24c499 Mention uncommenting in default-config 2023-09-16 09:06:34 +04:00
Ivan Molodetskikh ddbc455bb8 Add debug flag to enable overlay planes 2023-09-14 22:43:24 +04:00
Ivan Molodetskikh 3d6bc996ca Disable ColorTransformations, add debug flag to enable
Speeds up the rendering slightly, doesn't seem to cause issues?
2023-09-14 22:43:24 +04:00
Ivan Molodetskikh 89f9e11f65 Store Config as Rc<RefCell<>> field 2023-09-14 22:43:24 +04:00
Ivan Molodetskikh 092095ead0 Add debug flag to wait for frame completion 2023-09-14 09:33:42 +04:00
Ivan Molodetskikh ef11975ec5 tty: Plot vblank dispatch offsets 2023-09-14 09:19:20 +04:00
Ivan Molodetskikh 46403bd84a layout: Correct view offset when swapping columns 2023-09-13 19:37:14 +04:00
Ivan Molodetskikh 219ca08836 Implement minimizing view movement on changes
Before this commit, windows were always left-aligned.

Now, when changing focus, if the window is fully visible, the view
doesn't move. If the window is not fully visible, the view is moved the
minimum amount.
2023-09-13 16:57:12 +04:00
Ivan Molodetskikh c8b85b83c7 Update dependencies 2023-09-12 19:48:50 +04:00
Ivan Molodetskikh 84885fe5fb layout: Add tests for various operations 2023-09-12 19:46:12 +04:00
Ivan Molodetskikh 99b4ea6541 layout: Fix assertion in verify_invariants() 2023-09-12 19:46:12 +04:00
Ivan Molodetskikh 513763eaec layout: Replace add_window_to_output with add_window 2023-09-12 19:46:12 +04:00
Ivan Molodetskikh e4b5f6518a Update dependencies 2023-09-11 19:51:00 +04:00
Ivan Molodetskikh 07c4632165 Update dependencies 2023-09-11 19:24:09 +04:00
Ivan Molodetskikh d52ca23caa Add initial monitor screencast portal impl
DmaBuf monitor screencasting through xdg-dekstop-portal-gnome!

Somewhat limited currently, e.g. the cursor is always embedded. But gets
most of the job done.
2023-09-08 23:53:56 +04:00
Ivan Molodetskikh bd0ecf9174 Roll tracy-client back to 0.15
The version must match across dependencies.
2023-09-08 09:30:22 +04:00
Ivan Molodetskikh 3affc89def CI: Add profiling feature build 2023-09-06 17:40:24 +04:00
Ivan Molodetskikh ec7e8112b1 Upgrade dependencies 2023-09-06 17:31:59 +04:00
Ivan Molodetskikh 98516aec9c Remove fuzzel from generate-rpm requires 2023-09-06 17:31:47 +04:00
Ivan Molodetskikh a75b0dcb6f CI: Switch rustfmt to checkout v4 too
Forgot about this. But might as well test rust cache performance.
2023-09-06 17:20:19 +04:00
Ivan Molodetskikh 75c75c93e1 Add CI
Surely this will work first try
2023-09-06 17:11:25 +04:00
Ivan Molodetskikh 7460737481 Add animation-slowdown debug setting 2023-09-06 15:49:46 +04:00
Ivan Molodetskikh c7a7b2daf2 input: Only send axis_stop when amount is present
This is the expected behavior. Unbreaks Alacritty scrolling.
2023-09-06 14:51:37 +04:00
Ivan Molodetskikh 180d07aab9 Redraw on cursor or DnD surface commits 2023-09-06 11:56:50 +04:00