this post was submitted on 05 Sep 2024
9 points (100.0% liked)

Pop!_OS (Linux)

5062 readers
3 users here now

Pop!_OS is an operating system developed by System76 for STEM and creative professionals who use their computer as a tool to discover and create. Unleash your potential on secure, reliable open source software. Based on your exceptional curiosity, we sense you have a lot of it.

Unleash your potential

Whether this is your first experience with Linux, or your latest adventure, all are welcome to discuss and ask questions about Pop!_OS and COSMIC. Keep the discussions friendly though, and remember to assume good intentions whenever you reply. We're all here because we have a shared love for Linux and open source software.

System76 Logo

Support us by buying System76 hardware for you or your company! Or by donating on the Pop!_OS website through the "Support Pop" button. Pop!_OS and COSMIC are fully funded by System76 hardware sales. All systems are assembled in the USA. With your support, we'll work to push the Linux desktop forward with COSMIC.

Links

Guides

Hardware

Recommended

Community Rules

Follow the Code of Conduct

All posts on pop_os must adhere to the Pop!_OS community Code of Conduct. https://github.com/pop-os/code-of-conduct

Be helpful

Posts to pop_os must be helpful. When responding to a user asking for help, do not provide tongue-in-cheek responses like "RTM" or links to LMGTFY. Linking to direct sources that answer the asker's question is fine, but it's advised to provide some explanation as to how you got to that source.

Critique should be constructive

We within the Pop!_OS community welcome helpful criticism or ideas on ways to improve. However, basic "It's bad" or other simple negative comments don't help anyone fix anything. When voicing a complaint about something, try to point out ways the complaint could be improved or worked around, so that we can make a better product for it.

This rule applies to both Pop!_OS and its projects as well as other products available from third-parties.

Don't post malicious "advice"

It can be funny to joke about malicious commands, however this is not the venue for it. Do not advise users to run commands which will lock up their systems, steal their data, or erase their drive. Examples of this include (but are not limited to) fork bombs, rm, etc.

Posts violating this rule will be removed, even if the post is clearly in jest. Repeated offences may lead to a ban. You may understand that the command isn't serious, but a new user might not.

No personal attacks

Posts making a personal attack on any user will not be tolerated.

No hate speech

Hate speech of any kind will not be tolerated. Any violations will be removed, and are grounds for a ban.

founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] ericjmorey 4 points 1 week ago (4 children)
[–] [email protected] 1 points 1 week ago* (last edited 1 week ago) (3 children)

Action::SwapWindow => {
    let current_output = seat.active_output();
    let mut shell = self.common.shell.write().unwrap();

    let workspace = shell.active_space_mut(&current_output);
    if workspace.get_fullscreen().is_some() {
        return; // TODO, is this what we want? Maybe disengage fullscreen instead?
    }

    let keyboard_handle = seat.get_keyboard().unwrap();
    if let Some(focus) = keyboard_handle.current_focus() {
        if let Some(descriptor) = workspace.node_desc(focus) {
            let grab = SwapWindowGrab::new(seat.clone(), descriptor.clone());
            drop(shell);
            keyboard_handle.set_grab(self, grab, serial);
            let mut shell = self.common.shell.write().unwrap();
            shell.set_overview_mode(
                Some(Trigger::KeyboardSwap(pattern, descriptor)),
                self.common.event_loop_handle.clone(),
            );
        }
    }
}

I can't immediately tell what that is doing, but I don't think it's the last window.


I think it's probably better to just focus on saving the active focussed window history from the compositer. It's definitely known, they highlight the active window. Then, the alt+tab switcher could just use that history. I just have wanted to focus on other things besides trying to submit pull requests for this type of thing. I haven't missed it that bad.

I just took a video earlier of myself switching windows and felt really dumb doing it.

[–] ericjmorey 1 points 1 week ago (1 children)

I was just guessing based on the SwapWindow name. That you copied definition doesn't help me understand what it's supposed to do.

I'm surprised that [Super] + [Tab] and [Alt] + [Tab] aren't exactly what you're looking for because System(WindowSwitcher) seems like the name of something that would do exactly what you're after.

I haven't installed COSMIC, so I can't test it all out myself right now. But it feels like something that should exist as you described.

[–] [email protected] 1 points 1 week ago* (last edited 1 week ago) (1 children)

In this clip I show the window switcher. It was actually that clip that motivated my post, because I felt really dumb not being able to select the history of open windows.

edit: I didn't read closely enough, I am surprised too. It's given me the impression that those developing for it are maybe not using it as their primary DE. Though, then again, later in this post, I do also admit that I haven't missed it as much as I expected.

[–] ericjmorey 2 points 1 week ago

I think they're using it strictly in Tiling mode and are using directional switching. I generally work with only one window visible so I'm not sure how much I'm going to like COSMIC where that workflow seems not to be the primary focus. But it is only in alpha and I'm not actually going to give it a real try until it becomes the default in Pop!_OS. I Hope it's not too big an adjustment for me.

load more comments (1 replies)
load more comments (1 replies)