Skip to content

Commit

Permalink
Merge pull request #3234 from canonical/bugfix/alt-tab
Browse files Browse the repository at this point in the history
Revert "Revert "Merge pull request #3216 from MirServer/feature/alt-t…
  • Loading branch information
mattkae authored Feb 15, 2024
2 parents 0d476e2 + 2a35d7b commit 91fddda
Show file tree
Hide file tree
Showing 16 changed files with 340 additions and 211 deletions.
7 changes: 7 additions & 0 deletions debian/libmiral7.symbols
Original file line number Diff line number Diff line change
Expand Up @@ -79,9 +79,11 @@ libmiral.so.7 libmiral7 #MINVER#
(c++)"miral::MinimalWindowManager::MinimalWindowManager(miral::WindowManagerTools const&)@MIRAL_5.0" 5.0.0
(c++)"miral::MinimalWindowManager::MinimalWindowManager(miral::WindowManagerTools const&, MirInputEventModifier)@MIRAL_5.0" 5.0.0
(c++)"miral::MinimalWindowManager::advise_delete_app(miral::ApplicationInfo const&)@MIRAL_5.0" 5.0.0
(c++)"miral::MinimalWindowManager::advise_delete_window(miral::WindowInfo const&)@MIRAL_5.0" 5.0.0
(c++)"miral::MinimalWindowManager::advise_focus_gained(miral::WindowInfo const&)@MIRAL_5.0" 5.0.0
(c++)"miral::MinimalWindowManager::advise_focus_lost(miral::WindowInfo const&)@MIRAL_5.0" 5.0.0
(c++)"miral::MinimalWindowManager::advise_new_app(miral::ApplicationInfo&)@MIRAL_5.0" 5.0.0
(c++)"miral::MinimalWindowManager::advise_new_window(miral::WindowInfo const&)@MIRAL_5.0" 5.0.0
(c++)"miral::MinimalWindowManager::begin_pointer_move(miral::WindowInfo const&, MirInputEvent const*)@MIRAL_5.0" 5.0.0
(c++)"miral::MinimalWindowManager::begin_pointer_resize(miral::WindowInfo const&, MirInputEvent const*, MirResizeEdge const&)@MIRAL_5.0" 5.0.0
(c++)"miral::MinimalWindowManager::begin_touch_move(miral::WindowInfo const&, MirInputEvent const*)@MIRAL_5.0" 5.0.0
Expand Down Expand Up @@ -149,6 +151,8 @@ libmiral.so.7 libmiral7 #MINVER#
(c++)"miral::StartupInternalClient::StartupInternalClient(std::function<void (wl_display*)>, std::function<void (std::weak_ptr<mir::scene::Session>)>)@MIRAL_5.0" 5.0.0
(c++)"miral::StartupInternalClient::operator()(mir::Server&)@MIRAL_5.0" 5.0.0
(c++)"miral::StartupInternalClient::~StartupInternalClient()@MIRAL_5.0" 5.0.0
(c++)"miral::WaylandExtensions::Context::Context()@MIRAL_5.0" 5.0.0
(c++)"miral::WaylandExtensions::Context::~Context()@MIRAL_5.0" 5.0.0
(c++)"miral::WaylandExtensions::EnableInfo::app() const@MIRAL_5.0" 5.0.0
(c++)"miral::WaylandExtensions::EnableInfo::name() const@MIRAL_5.0" 5.0.0
(c++)"miral::WaylandExtensions::EnableInfo::user_preference() const@MIRAL_5.0" 5.0.0
Expand Down Expand Up @@ -256,6 +260,7 @@ libmiral.so.7 libmiral7 #MINVER#
(c++)"miral::WindowManagerTools::active_window() const@MIRAL_5.0" 5.0.0
(c++)"miral::WindowManagerTools::add_tree_to_workspace(miral::Window const&, std::shared_ptr<miral::Workspace> const&)@MIRAL_5.0" 5.0.0
(c++)"miral::WindowManagerTools::ask_client_to_close(miral::Window const&)@MIRAL_5.0" 5.0.0
(c++)"miral::WindowManagerTools::can_select_window(miral::Window const&) const@MIRAL_5.0" 5.0.0
(c++)"miral::WindowManagerTools::count_applications() const@MIRAL_5.0" 5.0.0
(c++)"miral::WindowManagerTools::create_workspace()@MIRAL_5.0" 5.0.0
(c++)"miral::WindowManagerTools::drag_active_window(mir::geometry::generic::Displacement<int>)@MIRAL_5.0" 5.0.0
Expand Down Expand Up @@ -380,6 +385,7 @@ libmiral.so.7 libmiral7 #MINVER#
(c++)"miral::equivalent_display_area(miral::Output const&, miral::Output const&)@MIRAL_5.0" 5.0.0
(c++)"miral::kill(std::shared_ptr<mir::scene::Session> const&, int)@MIRAL_5.0" 5.0.0
(c++)"miral::name_of[abi:cxx11](std::shared_ptr<mir::scene::Session> const&)@MIRAL_5.0" 5.0.0
(c++)"miral::operator!=(miral::Window const&, std::shared_ptr<mir::scene::Surface> const&)@MIRAL_5.0" 5.0.0
(c++)"miral::operator<(miral::Window const&, miral::Window const&)@MIRAL_5.0" 5.0.0
(c++)"miral::operator==(miral::Output::PhysicalSizeMM const&, miral::Output::PhysicalSizeMM const&)@MIRAL_5.0" 5.0.0
(c++)"miral::operator==(miral::Window const&, miral::Window const&)@MIRAL_5.0" 5.0.0
Expand Down Expand Up @@ -422,4 +428,5 @@ libmiral.so.7 libmiral7 #MINVER#
(c++)"typeinfo for miral::WindowManagementPolicy@MIRAL_5.0" 5.0.0
(c++)"vtable for miral::CanonicalWindowManagerPolicy@MIRAL_5.0" 5.0.0
(c++)"vtable for miral::MinimalWindowManager@MIRAL_5.0" 5.0.0
(c++)"vtable for miral::WaylandExtensions::Context@MIRAL_5.0" 5.0.0
(c++)"vtable for miral::WindowManagementPolicy@MIRAL_5.0" 5.0.0
6 changes: 6 additions & 0 deletions include/miral/miral/minimal_window_manager.h
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,12 @@ class MinimalWindowManager : public WindowManagementPolicy

void advise_delete_app(miral::ApplicationInfo const& app_info) override;

/// \remark Since MirAL 5.0
void advise_new_window(WindowInfo const& app_info) override;

/// \remark Since MirAL 5.0
void advise_delete_window(WindowInfo const& app_info) override;

protected:
WindowManagerTools tools;

Expand Down
4 changes: 4 additions & 0 deletions include/miral/miral/window_manager_tools.h
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,10 @@ class WindowManagerTools
/// \remark Since MirAL 3.10
auto window_to_select_application(const Application) const -> std::optional<Window>;

/// Check if the provided window can be selected
/// \remark Since MirAL 5.0
auto can_select_window(Window const&) const -> bool;

/// Find the topmost window at the cursor
auto window_at(mir::geometry::Point cursor) const -> Window;

Expand Down
Loading

0 comments on commit 91fddda

Please sign in to comment.