Added more browser checks, changed app finding

This commit is contained in:
Djkáťo 2023-07-25 19:09:30 +02:00
parent e362382cae
commit d2d00497e1
6 changed files with 33 additions and 19 deletions

2
Cargo.lock generated
View file

@ -251,7 +251,7 @@ dependencies = [
[[package]] [[package]]
name = "drp_creative" name = "drp_creative"
version = "1.0.3" version = "1.0.4"
dependencies = [ dependencies = [
"discord-rich-presence", "discord-rich-presence",
"lazy_static", "lazy_static",

View file

@ -1,8 +1,8 @@
[package] [package]
name = "drp_creative" name = "drp_creative"
version = "1.0.3" version = "1.0.4"
edition = "2021" edition = "2021"
author = "https://djkato.net" authors = ["djkatovfx@gmail.com"]
[dependencies] [dependencies]
discord-rich-presence = "0.2.2" discord-rich-presence = "0.2.2"

View file

@ -2,4 +2,4 @@ keywords_list = []
show_default_when_excluded = true show_default_when_excluded = true
portfolio_link = "djkato.net" portfolio_link = "djkato.net"
hide_portfolio_row = false hide_portfolio_row = false
should_list_include_or_exclude = "Include" should_list_include_or_exclude = "Exclude"

2
log.txt Normal file
View file

@ -0,0 +1,2 @@
'Process_list_dump.exe' is not recognized as an internal or external command,
operable program or batch file.

View file

@ -249,7 +249,16 @@ impl Apps {
impl Apps { impl Apps {
pub fn find_app(&self, str: &String) -> Option<&App> { pub fn find_app(&self, str: &String) -> Option<&App> {
for app in self.as_iter() { for app in self.as_iter() {
if str.contains(&app.process_search_string) { // if (str
// .to_lowercase()
// .contains(&app.process_search_string.to_ascii_lowercase()))
// {
// dbg!(str);
// }
if str
.to_lowercase()
.contains(&app.process_search_string.to_lowercase())
{
return Some(&app); return Some(&app);
} }
} }
@ -261,20 +270,14 @@ impl App {
pub fn parse(&self, window_title: &String) -> String { pub fn parse(&self, window_title: &String) -> String {
match self.kind { match self.kind {
AppKind::C4d => { AppKind::C4d => {
let mut end_i: usize = window_title.len(); if let Some(split1) = window_title.rsplit_once("]") {
let mut start_i: usize = 0; if let Some(split2) = split1.0.rsplit_once("[") {
for (i, char) in window_title.chars().enumerate() { dbg!(&split2.1);
if char == '[' { return split2.1.to_string();
start_i = i; }
if let Some(curr_end_i) = window_title.rfind("] - ") { }
end_i = curr_end_i;
} else {
return self.default_project_name.clone(); return self.default_project_name.clone();
} }
}
}
return window_title[start_i + 1..end_i].to_string();
}
AppKind::Maya => { AppKind::Maya => {
let match_index = match window_title.as_str().find(".mb* - Autodesk Maya") { let match_index = match window_title.as_str().find(".mb* - Autodesk Maya") {
Some(i) => i + 5, Some(i) => i + 5,

View file

@ -8,7 +8,10 @@ pub fn get_running_program(apps: &Apps) -> Option<(&App, String)> {
for window_name in running_window_names { for window_name in running_window_names {
//println!("{}", &window_name); //println!("{}", &window_name);
if let Some(app) = apps.find_app(&window_name) { if let Some(app) = apps.find_app(&window_name) {
if !window_name.contains("- Google Chrome") { if !window_name.contains("- Google Chrome")
|| !window_name.contains(" Mozilla Firefox")
|| !window_name.contains("- Brave")
{
//So googling it won't affect the DRP lol //So googling it won't affect the DRP lol
return Some((&app, app.parse(&window_name))); return Some((&app, app.parse(&window_name)));
} }
@ -20,8 +23,14 @@ pub fn is_program_still_running(app: &App) -> Option<String> {
let running_window_names = unsafe { get_running_windows_titles() }; let running_window_names = unsafe { get_running_windows_titles() };
for window_name in running_window_names { for window_name in running_window_names {
if window_name.contains(&app.process_search_string) { if window_name
if !window_name.contains("- Google Chrome") { .to_lowercase()
.contains(&app.process_search_string.to_lowercase())
{
if !window_name.contains("- Google Chrome")
|| !window_name.contains(" Mozilla Firefox")
|| !window_name.contains("- Brave")
{
//So googling it won't affect the DRP lol //So googling it won't affect the DRP lol
return Some(app.parse(&window_name)); return Some(app.parse(&window_name));
} }