orbital merge requestshttps://gitlab.redox-os.org/redox-os/orbital/-/merge_requests2024-01-12T17:58:11Zhttps://gitlab.redox-os.org/redox-os/orbital/-/merge_requests/53Move the conversion of vmmouse coordinates to display pixel coordinates to or...2024-01-12T17:58:11Zbjorn3Move the conversion of vmmouse coordinates to display pixel coordinates to orbitalhttps://gitlab.redox-os.org/redox-os/orbital/-/merge_requests/52Revert "Fix path used to open input consumer"2023-08-03T12:50:11ZAnhad SinghRevert "Fix path used to open input consumer"This reverts commit 2ca739c613b79751c74601fa5452ac51b0516e21.This reverts commit 2ca739c613b79751c74601fa5452ac51b0516e21.https://gitlab.redox-os.org/redox-os/orbital/-/merge_requests/51Improved fmap2023-08-07T15:37:11ZJacob Lorentzon4ldo2@protonmail.comImproved fmaphttps://gitlab.redox-os.org/redox-os/orbital/-/merge_requests/50core: get the display path using fpath()2023-08-02T15:11:24ZAnhad Singhcore: get the display path using fpath()Signed-off-by: Anhad Singh <andypythonappdeveloper@gmail.com>Signed-off-by: Anhad Singh <andypythonappdeveloper@gmail.com>https://gitlab.redox-os.org/redox-os/orbital/-/merge_requests/49core: misc changes for GPU drivers2023-07-07T14:08:53ZAnhad Singhcore: misc changes for GPU driversThis commit changes the file that orbital watches for events (from
`vesa:input` to `input:consumer`).
Also now the `display_path` is retrieved from the `DISPLAY` environment
variable instead. This variable is set in the init process.
c...This commit changes the file that orbital watches for events (from
`vesa:input` to `input:consumer`).
Also now the `display_path` is retrieved from the `DISPLAY` environment
variable instead. This variable is set in the init process.
cc https://gitlab.redox-os.org/redox-os/drivers/-/merge_requests/96
cc https://gitlab.redox-os.org/redox-os/init/-/merge_requests/7
Signed-off-by: Anhad Singh <andypythonappdeveloper@gmail.com>https://gitlab.redox-os.org/redox-os/orbital/-/merge_requests/48Restore tiled windows2023-04-17T14:27:23ZAndrew MackenzieRestore tiled windowsFixes #68
When a window is tiled to a position (top, bottom, left, right or max) then hitting a tile short-cut again untiles it and restores it back to the original size and location.
I have left the interaction such that if you tile l...Fixes #68
When a window is tiled to a position (top, bottom, left, right or max) then hitting a tile short-cut again untiles it and restores it back to the original size and location.
I have left the interaction such that if you tile left, then tile right short cut, it doesn't directly tile right, but first restores, then you need to hit shortcut a second time.
I debated having it tile right with just one short-cut. That can be done, but will require storing the tiled state in the window to avoid consuming restore. Let me know what you think.https://gitlab.redox-os.org/redox-os/orbital/-/merge_requests/47Tile half screen shortcuts2023-04-06T07:58:01ZAndrew MackenzieTile half screen shortcutsFixes #64
Adds four shortcuts that allow you to snap a window to fill half the screen, at the left, right, top or bottom.
For example, on logging in.
Super-T - new terminal window
Super-Shift left - tiles it left
Super-T - another new...Fixes #64
Adds four shortcuts that allow you to snap a window to fill half the screen, at the left, right, top or bottom.
For example, on logging in.
Super-T - new terminal window
Super-Shift left - tiles it left
Super-T - another new terminal window
Super-Shift right - tiles it right
Now you have two terminal windows tiles beside each other on each half of the display.https://gitlab.redox-os.org/redox-os/orbital/-/merge_requests/46Orbital keyboard shortcuts2023-04-04T15:24:32ZAndrew MackenzieOrbital keyboard shortcutsFixes #61 Fixes #60 Fixes #49
This MR implements
- Tracking of all modifier key states in a way that simplifies use in match statements later (could be polished)
- Simplifies the large if then else in key_event() down to a few short ma...Fixes #61 Fixes #60 Fixes #49
This MR implements
- Tracking of all modifier key states in a way that simplifies use in match statements later (could be polished)
- Simplifies the large if then else in key_event() down to a few short match statements (more maintainable and extensible)
- Extracted common code to functions
- Added a SUPER-M and Super-ENTER keyboard shortcut to maximize/restore front most window's size (#60)
- Adds an onscreen overlay showing the available Shortcuts, when only SUPER is pressed.https://gitlab.redox-os.org/redox-os/orbital/-/merge_requests/45Fix volume undraw2023-04-03T17:13:59ZAndrew MackenzieFix volume undrawFixes #59
Fixes the popup undraw problem for the volume control and extracts some constants of popup drawing in the processFixes #59
Fixes the popup undraw problem for the volume control and extracts some constants of popup drawing in the processhttps://gitlab.redox-os.org/redox-os/orbital/-/merge_requests/44Remove more unsafe code2023-04-03T17:13:07ZAndrew MackenzieRemove more unsafe codeFixes #43
This MR is related to https://gitlab.redox-os.org/redox-os/orbital/-/issues/43 and attempts to reduce the use of unsafe.
It succeeds in removing some, but others remain, related to the use of the following unsafe functions:
...Fixes #43
This MR is related to https://gitlab.redox-os.org/redox-os/orbital/-/issues/43 and attempts to reduce the use of unsafe.
It succeeds in removing some, but others remain, related to the use of the following unsafe functions:
- slide::from_raw_parts_mut
- File::from_raw_fd (could syscall::open return a File?)
- libc::memalign
- libc::free
- ptr::copy
- syscall::map and funmap
There remain 11 instances of `unsafe` in the crate, down from 20.
The end goal (that looks hard given the above list, would be to remove all unsafe references and add `#![forbid(unsafe_code)]` to the top of main.
Because that looks hard, I say above "Fixes #43" and will close that issue. If someone wants to take another shot at this later, then great.https://gitlab.redox-os.org/redox-os/orbital/-/merge_requests/43Delete examples folder of orbital2023-03-26T23:30:10ZAndrew MackenzieDelete examples folder of orbitalThis MR deleted the examples folder in orbital, and explains in readme where to find examples (orbclient/examples).
My reasoning for removing example here is:
- Any sample is necessarily an example of using the client, not orbital.
- Th...This MR deleted the examples folder in orbital, and explains in readme where to find examples (orbclient/examples).
My reasoning for removing example here is:
- Any sample is necessarily an example of using the client, not orbital.
- There are no dependencies on orbital on the example (which makes sense given the above)
- There are _only_dependencies on orbclient in the sample, underlining it's an example for orbclient not orbital
- The simple.rs example is identical to the simple.rs example in orbclient, where there are additional samples
- It is not built in CI, but any examples should be to ensure they are still valid
- It's just extra work to maintain here, and causes confusion, better to do that from orbclient, where changes to the client API can be made synchronized with changes to the examples using that client.https://gitlab.redox-os.org/redox-os/orbital/-/merge_requests/42Launcher popup fixes2023-03-26T15:12:50ZAndrew MackenzieLauncher popup fixesFixes https://gitlab.redox-os.org/redox-os/orbital/-/issues/40
This change fixes the problem with the popup not being "undrawn" when we stop Super-Tabbing
It could be re-used for other pop-ups such as volume control, but I have no way (...Fixes https://gitlab.redox-os.org/redox-os/orbital/-/issues/40
This change fixes the problem with the popup not being "undrawn" when we stop Super-Tabbing
It could be re-used for other pop-ups such as volume control, but I have no way (that I know of) to get the volume control popup on qemu and I don't have hardware that works.
Fixes https://gitlab.redox-os.org/redox-os/orbital/-/issues/56
by also cycling _only_ through the selectable windows.
The window switches is NOT shown if there are 0 or 1 windows to switch between.
For 2 or more windows to switch between it will rotate them through the window stack and show the selected one highlighted in text in the popup window.https://gitlab.redox-os.org/redox-os/orbital/-/merge_requests/41Move to rust Edition 2021, making orbital-core a module and fix all clippy wa...2023-03-24T00:23:04ZAndrew MackenzieMove to rust Edition 2021, making orbital-core a module and fix all clippy warningsFixes #55 and #46 which includes
- Moving to the rust 2021 edition
- Making the orb-core sub-crate a module that publishes sub-modules to the crate only
- Fix all clippy warningsFixes #55 and #46 which includes
- Moving to the rust 2021 edition
- Making the orb-core sub-crate a module that publishes sub-modules to the crate only
- Fix all clippy warningshttps://gitlab.redox-os.org/redox-os/orbital/-/merge_requests/40Filter out windows without a title from the window switcher list2023-03-21T20:14:48ZAndrew MackenzieFilter out windows without a title from the window switcher listFixes #47 Filter out windows without a title from the switcher popupFixes #47 Filter out windows without a title from the switcher popuphttps://gitlab.redox-os.org/redox-os/orbital/-/merge_requests/39Incorrect max height2023-03-20T23:34:17ZAndrew MackenzieIncorrect max heightFixes #53 Bug in calculation of maximum window height.
Restoring previous code apparently maximized window *over* the launcher.
I have an open question in the issue if we want to do that, or butt up against the top of the launcher.Fixes #53 Bug in calculation of maximum window height.
Restoring previous code apparently maximized window *over* the launcher.
I have an open question in the issue if we want to do that, or butt up against the top of the launcher.https://gitlab.redox-os.org/redox-os/orbital/-/merge_requests/38Avoid panics where possible2023-03-22T21:56:30ZAndrew MackenzieAvoid panics where possibleFixes #42
This MR removes any unwraps and expects (except in tests) that were in the orbital code that would have caused it to possibly panic without logging an error and attempting to handle it.
It also factors out some small functio...Fixes #42
This MR removes any unwraps and expects (except in tests) that were in the orbital code that would have caused it to possibly panic without logging an error and attempting to handle it.
It also factors out some small functions of repeated code (which I see elsewhere and maybe used further later).
I leave this as DRAFT because I have not been able to test very well due to mouse issues in qemu I have had.
I have selected "Squash commits when merge request is accepted"https://gitlab.redox-os.org/redox-os/orbital/-/merge_requests/36Remove all usages of println! and eprintln! from orbital code (except example...2023-03-09T16:34:41ZAndrew MackenzieRemove all usages of println! and eprintln! from orbital code (except example)...Fixes #44
Remove all usages of println! and eprintln! from orbital code (except example) and replace with log{info, debug, error}.
Previous usages of println!() have been mapped onto to debug!() so the same output is produced (as log is...Fixes #44
Remove all usages of println! and eprintln! from orbital code (except example) and replace with log{info, debug, error}.
Previous usages of println!() have been mapped onto to debug!() so the same output is produced (as log is initialized with Debug filter level).
Previous usages of println!() (in obvious error branches) or eprintln!() have been mapped error!() to flag as errors.
Initialize redox-log in main() with Debug level of filter (as env_log was before)https://gitlab.redox-os.org/redox-os/orbital/-/merge_requests/35Fix clippy warnings2023-03-09T15:05:24ZAndrew MackenzieFix clippy warningsThis MR was intended as a simple starting point to fix clippy warnings, and let me down a rabbit hole to implement things in orbclient, and then come back.
Most changes are minor (remove & in front of a reference) but I basically rewrot...This MR was intended as a simple starting point to fix clippy warnings, and let me down a rabbit hole to implement things in orbclient, and then come back.
Most changes are minor (remove & in front of a reference) but I basically rewrote config.rs using Color's Deserialize, and serde - avoiding the intermediate TmpConfig, using serde defaults and Default::default.
Added some tests, but they are not running in CI yet, and I can't run them locally - so they need completing.
But I thought I'd share the MR as it is and see if looks OK to folks.https://gitlab.redox-os.org/redox-os/orbital/-/merge_requests/34Factor out a window maximize/restore function2023-02-28T22:49:48ZAndrew MackenzieFactor out a window maximize/restore functionPrior work to facilitate implementing issue #36 to maximize/restore window size with double-click on window title bar,
by factoring out a function to do maximize/restore from the existing methods (click on icon) to be reused later.Prior work to facilitate implementing issue #36 to maximize/restore window size with double-click on window title bar,
by factoring out a function to do maximize/restore from the existing methods (click on icon) to be reused later.https://gitlab.redox-os.org/redox-os/orbital/-/merge_requests/33Moved orbital theme colours to config file `/ui/orbital.toml`2023-02-27T17:02:56ZJacob SchneiderMoved orbital theme colours to config file `/ui/orbital.toml`In reference to #32 to be able to change the panel colour.In reference to #32 to be able to change the panel colour.