[Linux] Implement SetClosable / SetMinimizable / SetMaximizable / SetMovable
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 55/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- cpp, linux
- Domain
- desktop, operating-systems
Research direction
Start in src/platform/linux/window_linux.cpp and inspect the stubs for Window::SetClosable(), SetMinimizable(), SetMaximizable(), and SetMovable(). Compare the available GTK/GDK approaches with behavior on relevant Linux compositors, then verify that each requested capability changes as expected. Document any compositor limitations or cases that cannot work.
Written by the indexing model from the issue text.
Description
On Linux, Window::SetClosable(), SetMinimizable(), SetMaximizable() and SetMovable() are stubs (src/platform/linux/window_linux.cpp), so the corresponding buttons and actions stay enabled.
Possible approaches: gtk_window_set_deletable() for closable; gdk_window_set_functions() / GDK_FUNC_* for minimize/maximize/move where the window manager honours them; and gtk_window_set_type_hint or a custom header bar under client-side decorations. What can't work on a given compositor should be documented.
Background, from window_manager (moving onto nativeapi in 0.6.0):
- leanflutter/window_manager#563: setClosable(false) has no effect on Linux
- leanflutter/window_manager#484: COSMIC desktop (always-on-top, min/max size, decorations)
- Dominant language
- C++
- Stars
- 34
- Forks
- 7
- Avg merge
- 3d 1h
- Merged PRs (30d)
- 1
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from libnativeapi/nativeapi
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 45/100
libnativeapi/nativeapi#81 ·
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 45/100
libnativeapi/nativeapi#80 ·
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 35/100
libnativeapi/nativeapi#79 ·
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 45/100
libnativeapi/nativeapi#78 ·
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 45/100
libnativeapi/nativeapi#77 ·
All issues in libnativeapi/nativeapi
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
objectionary/eo-graphs#74 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 95/100
-
enhancement
Difficulty 1/5 Under an hour Newbie friendliness 88/100
QuantStack/git2cpp#187 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100